【基于AT80C51單片機的水溫控制系統設計】8900字(論文)_第1頁
【基于AT80C51單片機的水溫控制系統設計】8900字(論文)_第2頁
【基于AT80C51單片機的水溫控制系統設計】8900字(論文)_第3頁
【基于AT80C51單片機的水溫控制系統設計】8900字(論文)_第4頁
【基于AT80C51單片機的水溫控制系統設計】8900字(論文)_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE0第二章系統方案設計2.1硬件方案設計對于硬件系統設計,主要以單片機AT80C51為核心,通過數碼管和鍵盤電路,利用水溫傳感器來采集溫度,并通過數碼管顯示出來,提供運行指示燈來顯示運行狀態,以溫度顯示為基礎,從而實現對溫度的檢測和控制。注:硬件系統子模塊

(1)單片機方案水溫傳感器方案

(3)鍵盤電路設計

(4)數碼管顯示及指示燈顯示電路(5)電源設計方案(6)報警電路設計(7)加熱管控制電路設計圖2.1單片機水溫控制系統結構框圖2.2軟件方案設計為了減少軟件設計的工作量、提高軟件的通用性、延展性和可讀性,該水溫控制系統的設計方案和具體步驟如下:

(1)根據用戶需求對系統的功能模塊逐一劃分。

(2)熟悉模塊之間的數據流傳遞流程,減少數據流傳遞,增強各個模塊之間的獨立性,方便軟件設計和調試。

(3)確定系統程序設定,完成各個系統模塊功能開發。(4)對照模塊的總體流程,將其各個模塊逐一聯系起來,這樣將形成一個較完善的系統。首先需要做的是接通電源電路開始工作,當系統正式開始運行后,通過鍵盤電路設定水溫的上限值和下限值,然后通過調用鍵盤掃描子程序將設定的溫度值輸送到設定的地址空間,溫度傳感器DS18B20開始實時檢測溫度,調用顯示子程序通過數碼管顯示檢測結果,然后對比當前溫度顯示值與開始設定的溫度顯示值,如果當前溫度顯示值低于設定值就調用子程序通過繼電器起動加熱管裝置,直到達到上限值再停止加熱,之后進行保溫,如果溫度高于上限值則自動報警。

第三章硬件設計3.1單片機設計AT80C51單片機是一種電壓低、性能好的CMOS8位單片機,單片機內含4kbytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,可以與MCS-51產品指令系統完全兼容,片內置通用8位中央處理器(CPU)和Flash存儲單元,AT80C51單片機因其獨特的結構形式為我們提供了各種性價比較高的一些場合,可以在各行各業的控制領域中被獨特應用。圖3.1單片機系統3.2水溫傳感器設計水溫傳感器使用的是溫度傳感器DS18B20,它是一種數字式溫度傳感器,不需要其他外接電路,直接輸出溫度數值。這種傳感器不僅結構簡單,它可以直接和單片機進行連接使用,不需要其他數顯,可以直接讀出測溫數據。它有許多優勢與傳統的熱敏電阻相比,它可根據用戶實際要求通過簡單的編程實現9-12位的數字值讀數方式。并且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線(單線接口)讀寫,整個系統因使用DS18B20溫度傳感器使得整個系統可靠性更高,結構形式更加簡單。并且整個系統在測溫精度、命令轉換時間、傳輸距離、分辨率等這些方面表現的更加讓人滿意。

圖3.2DS18B20測溫電路DS18B20溫度傳感器介紹:其具有獨特的單總線接口方式,DS18B20在與微處理器連接時僅需要一條口線便可實現微處理器與DS18B20的雙向通訊;測溫范圍-55°C-+125C,固有測溫分辨率0.5°C;支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,但是最多只能并聯8個,如果數量過多,會使供電電源電壓太低,以至于造成信號傳輸的不穩定;工作電源:3-5V/DC;在使用中不需要任何外加元件;測量結果以9-12位數字量方式串行傳送。內部結構主要由64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器等配件組成。當該裝置信號線高的時候,內部電容器儲存能量由一線通信線路給片子供電,而且在低電平期間也為片子供電,然后等待下一個高電平的到來再重新充電。DS18B20采用一線通信接口,因為一線通信接口,必須先設定ROM,否則控制和記憶功能無法發揮。以下是設定程序:讀取ROMROM匹配搜索ROM跳過ROM,報警檢查。這些指令操作作用在沒有一個器件的64位光刻ROM序列號上,也可以掛在線上多個器件選定某一個器件,同時總線也可以知道總線上掛有多少,掛有什么樣的設備。DS18B20內部結構如圖3.3所示圖3.3DS18B20的內部結構圖3.4DS18B20與單片機連接圖DS18B20溫度傳感器使用注意事項:(1)在一些溫度傳感器DS18B20硬件上出現的不足,可使用軟件編程進行補充,由于DS18B20與微處理器間采用數據串行傳送。因此,在軟件編程時,我們需嚴格保證讀寫程序,保證測溫數據的準確輸出。

(2)我們在系統設計中并未提及單總線上所掛DS18B20數量的多少,這很容易使人誤認為可以任意掛多個DS18B20,在實際應用中并不是這樣。(3)為求輸送信號的快速性、準確性,連接DS18B20溫度傳感器的總線電纜有著嚴格要求的長度限制,當溫度傳感器DS18B20在遠距離以及超遠距離進行測溫設計時必須要考慮總線分布電容和阻抗匹配以及連接抗干擾問題。

(4)在整個系統設計中,當對溫度傳感器DS18B20發出溫度轉換命令后,系統程序需要等待溫度傳感器的返回信號,當溫度傳感器其中一旦發生接觸不良或信號斷開時,那么系統程序得不到返回信號,整個系統將進入死循環。(5)對于測溫電路所用纜線使用的是4芯屏蔽雙絞線,一對線接地線與信號線,而另一對線則需要接接VCC和地線,屏蔽層在源端單點接地。3.3鍵盤電路設計整個系統鍵盤電路作為主要的輸入設備,單片機使用的鍵盤分為編碼鍵盤和非編碼鍵盤兩種。編碼鍵盤主要采用硬件線路進行設計編碼,隨著每一個鍵按下,按鍵代碼自動生成,并伴隨著去抖功能,雖然使用起來更加方便,但硬件電路比較復雜。非編碼鍵盤僅是提供按鍵開關,由鍵盤程序來識別開關是否閉合,消除抖動,產生相應的按鍵編碼并輸送到鍵盤功能程序當中,以便系統能夠順利進行。非編碼鍵盤按鍵更少,結構也更加簡單,只是程序輸送比較復雜而且不易發現。

圖3.5所示為鍵盤按鍵和單片機AT80C51的接線圖,電路共設有4個按鍵,每個按鍵都由軟件設計部分來決定其功能,以下是4個按鍵的功能:

(1)SW1:按鍵設計(2)SW2:加法按鍵(當前位加1)

(3)SW3:減法按鍵(當前位減1)

(4)SW4:設置退出鍵圖3.5單片機按鍵和AT80C51接線圖3.4數碼管及指示燈顯示電路(1)數碼管顯示說明數碼管的各個段碼都是由單片機的數據口輸出,并且輸出的各個段碼都是相同的,為了讓其清楚的展示,整個數碼管采用動態顯示的方式,我們首先讓最低位顯示零,等一段時間,再讓次低位顯示為一,由于視覺停留,只要延時時間夠短,這樣就可以使數碼表看起來更加清楚,編碼過程如表3.1所示:表3.1數碼管編碼表段碼位碼顯示器狀態08H01H□□□□□□□0abH02H□□□□□□1□12H04H□□□□□2□□22H08H□□□□3□□□a1H10H□□□4□□□□24H20H□□5□□□□□04H40H□6□□□□□□aaH80H7□□□□□□□在整個系統中總共使用了三個數碼管,其中前兩個主要負責掃描顯示實測溫度,在加熱溫度設置的時候,兩個數碼管不停閃爍,提示系統在溫度設置中,第三個數碼管為靜態管,用符號“C”顯示。(2)運行指示燈說明在本論文中的溫度控制系統共使用到三個數碼管以及三個LED顯示燈,右上角電源指示燈為紅色LED顯示燈,當電源指示燈亮時,表示整個系統通路正確,并且通電。而加熱指示燈和保溫指示燈位于右邊,加熱指示燈為紅色LED燈,當溫度低于設定溫度5°C以下時,加熱指示燈會亮,表示目前處于低溫加熱狀態;當溫度加熱到達設定溫度時,紅色加熱LED燈滅,而右邊的綠色保溫LED燈亮,表示系統處于保溫狀態,用戶可以使用這個設定溫度的水。當溫度再次下降到設定溫度5°C以下時,綠色保溫LED燈滅,紅色加熱的LED燈亮,不斷循環。當溫度降到設定溫度5°C之下時,綠色保溫指示燈滅,紅色加熱指示燈亮起,表現系統正在加熱,不可正常使用。在整個系統運行過程中,電源指示燈只要在通電情況下,一直處于發亮狀態,而加熱指示燈和保溫指示燈不斷循環,使得整個系統正常運行。圖3.6LED數碼管顯示電路圖3.5電源設計電源設計我們用的是L7805穩壓塊,輸出電壓5V。為了系統的穩定運行我們所選擇+5V或+12V的電源電壓供電,數字IC(IngegratedCircuit:集成電路)所輸出的電源電壓為+5V,而CMIOSIC所輸出的電源電壓為+12V,L7805作為系統所用穩壓塊。首先7805穩壓管把高電壓轉換到低電壓,穩壓塊具有保護單片機電路的作用。L7805輸出端并聯一個電解電容,有利于過濾掉交流電的干擾作用,保證單片機系統的正確運行。在本文中電源設計采用兩種供電方式,一種為DC7到18V直流穩壓電源變換成5V的直流電,另外一種通過四節干電池連接總共6V經二極管加壓作用后得到電壓為5V的直流電源,電源利用指示燈和按鍵開關,以便使用方便。圖3.7系統電源設計圖3.6報警電路設計在整個系統功能設計中,首先將溫度上限設定值存儲到地址空間中,當環境溫度大于設定溫度上限值時,數碼管加熱停止,報警模塊調用報警子程序觸發蜂鳴器進行溫度報警處理,系統報警電路設計原理圖如圖3.8所示。

圖中用作三極管8550增加整個系統的驅動能力,但是三極管9012所用驅動電流比8550更高,因此為節省能量我們選用三極管8550。當環境溫度高于溫度所設上限值時,調用報警子程序,報警模塊P2.7置零,蜂鳴器被觸發,而當對P2.7取反時,發出的報警聲音效果更好。圖3.8報警電路圖3.7加熱管控制電路設計我們所常用的輸出控制接口為繼電器,它主要用于各種自動電路控制,并且經常被用作輸送切換交直流信號,它被分為兩種系統,一種是被控制系統(又稱輸出回路),另一種是控制系統(又稱輸入回路),從本質上說它是一種“自動開關”,利用一種較小的電流去控制較大電流,它在電路中主要起到自動調節、轉換以及保護電路等作用,而且我們可以通過繼電器用一路控制信號去控制另外一路或者好幾路信號。繼電器操作控制接點如下:COM:Common為共同點。輸出控制接點的共同接點。

NC:NormalClose為常閉觸點。以Com為共同點,NC與COM在平時是呈導通狀態的。NO:NormalOpen為常開觸點。平時NO和COM都處在開路狀態下,當繼電器開始接通之后,NO與COM接通,NC與COM則處于開路狀態。

整個系統中當單片機AT80C51的P2.5輸出口輸出高電平時,繼電器則不導通,而當AT80C51P2.5輸出端輸出低電平時,繼電器導通,這樣也就導致整個連接回路被導通。

第四章軟件設計在整個溫度控制系統設計中所采用循環往復的方式,以至于能夠準確快速的控制以及顯示溫度。整個系統主要包括DS18B20溫度讀取、數碼管驅動、鍵盤掃描、以及報警處理四段軟件程序的設計。4.1程序設計方案圖4.1主程序流程圖4.2模塊子程序設計4.2.1讀取溫度傳感器DS18B20模塊流程溫度傳感器DS18B20通過一根數據線來實現雙向傳輸數據,但是從單片機AT80C51來看,其硬件系統并不支持單總線結構。因此我們從軟件設計方面著手,利用程序設計模擬單總線的時序協議,最后完成與DS18B20溫度傳感芯片的連接通信。溫度傳感器DS18B20分時完成單線通信,并且其具有明顯的的時間間隙概念。對于系統對溫度傳感器DS18B20控制的主要步驟分為:發送ROM功能、發送存儲器操作、數據處理。DS18B20測溫系統簡單方便、測溫準確度高、連接使用方便、占用口線數較少,讀取溫度傳感器DS18B20首先得啟動溫度轉換函數,根據數據手冊上轉換函數所對應轉換時間,同時在操作溫度傳感器DS18B20時,禁止系統信號中斷,以至于對所需時序具有嚴格的要求。溫度傳感器DS18B20通過一根I/O線上讀寫數據,以至于對所需讀寫數位時序要求十分嚴格。DS18B20為保證數據傳輸的準確性以及完整性,它的通信協議要求非常嚴格,該通信協議主要定義了初始化時序、讀時序和寫時序三種信號的時序。主機作為所有時序的主設備,每一次數據和命令的輸入輸出都是從其啟動寫時序開始,如果初始要求單總線器件需要回傳數據,在剛開始進行設定時,主機需立即啟動讀時序完成數據接收,對于數據和命令的輸入輸出也都是從低位開始。

讀時序協議:(1)對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。(2)對于DS18B20的讀時序,單總線首先被拉低,在15us之內先釋放出單總線,通過溫度傳感器DS18B20把數據輸送到單總線上。DS18B20至少需要60us才可以完成一個讀時序過程。

寫時序協議:(1)對于溫度傳感器DS18B20的寫時序仍分為寫0時序和寫1時序兩個過程。(2)對于溫度傳感器DS18B20的寫0時序,當要寫0時序時,單總線首先被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣I/O總線上的“0”電平,而當要寫1時序時,單總線被拉低,在15us之內就得釋放單總線。溫度傳感器DS18B20讀取程序主要包括溫度數值讀取、溫度轉換控制、溫度數值顯示三部分。圖4.2讀取溫度DS18B20模塊4.2.2鍵盤掃描處理當鍵盤掃描子程序開始運行時,中央處理器CPU通過檢測各組電路的閉合狀態,掌握系統各個按鍵的閉合狀態。當有按鍵處于閉合狀態時,則需要利用鍵盤管理程序消除抖動,再根據所處鍵號切換到相應的鍵處理程序,按鍵流程如圖4.3所示圖4.3讀取鍵盤掃描子程序4.2.3報警處理流程當系統報警程序正式開始運行后,溫度傳感器DS18B20首先對環境溫度進行采集,并利用LED指示燈顯示。此時利用溫度傳感器所采集的環境溫度與其之前在地址空間所存儲的溫度上限值相比較,當超過系統所設上限值,程序將會自動進入報警子程序,觸發蜂鳴器進行自動報警。其程序流程圖如圖4.4所示圖4.4讀取報警子程序第五章總結與展望本次設計主要利用了現代化技術在水溫控制系統中的應用,充分體現出了單片機在我們的日常生活中不可或缺的作用。本次論文設計主要體現在兩大部分,硬件設計部分和軟件設計部分。硬件設計部分主要以單片機AT80C51為核心,通過數碼管和鍵盤電路,利用溫度傳感器DS18B20獨特的單總線結構實時采集溫度并分析需要加熱的溫度或者降溫的溫度,再用鍵盤設定所需溫度,設定溫度和現實溫度都將通過數碼管顯示,并提供各種運行指示燈來顯示系統運行狀態,從而實現對溫度的測量,并能根據環境溫度對設定值進行調節,實現控溫的目的,水溫加熱到設定溫度可自動引發蜂鳴器報警。本系統采用多電源供電的方式,從而降低了各個模塊間的干擾,進而使整個系統能夠順利進行。對于軟件設計部分,主要是通過文字敘述和流程圖的方式將各個控制系統模塊展示出來。通過這次畢業論文的設計,從而使我們將以前學習的各個知識模塊聯系到了一起。在設計途中,我們通過查閱資料,了解其他相關學者的論文,學習各方面的知識,也是極大的開拓了我們的視野,也讓我們深切的認識到了自己的不足之處,在以后的生活工作途中,再接再厲,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論