




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機的水溫控制基于單片機的水溫控制系統設計摘要溫度控制系統可以說是無所不在,熱水器系統、空調系統、冰箱、電飯煲、電風扇等家電產品以至手持式高速高效的計算機和電子設備,均需要提供溫度控制功能。本系統的設計可以用于熱水器溫度控制系統和飲水機等各種電器電路中。它以單片機at80c51為核心,通過3個數碼管顯示溫度和4個按鍵實現人機對話,使用單總線溫度轉換芯片ds18b20實時采集溫度并通過數碼管顯示,并提供各種運行指示燈用來指示系統現在所處狀態,如:溫度設置、加熱、停止加熱等,整個系統通過四個按鍵來設置加熱溫度和控制運行模式。關鍵詞: 單片機、數碼管顯示、單總線、ds18b20.based tem
2、perature control systemabstract temperature control system can be said to be ubiquitous, water heaters, air conditioning systems, refrigerators, rice cookers, electric fans and other home appliances as well as high-speed and efficient hand-held computers and electronic equipment are required to prov
3、ide temperature control. the system design can be used for drinking water heater temperature control systems and other electrical circuits. at80c51 microcontroller as the core of it, through the three temperature digital display and 4 keys to achieve man-machine dialogue, the use of single-chip bus
4、temperature conversion temperature ds18b20 real-time acquisition and through the digital display and offers a variety of operating light to indicate system now live in the state, such as: temperature setting, heating, and stop heating, the entire system through the four buttons to set the heating te
5、mperature and control the operating mode.key words: microcontroller, digital display, single bus, ds18b20緒 論及時準確地得到溫度信息并對其進行適時的控制,在許多工業場合中都是重要的環節.水溫的變化影響各種系統的自動運作,例如冶金、機械、食品、化工各類工業中,廣泛使用的各種加熱爐、熱處理爐、反應爐等,對工件的水處理溫度要求嚴格控制。對于不同控制系統,其適宜的水質溫度總是在一個范圍。超過這個范圍,系統或許會停止運行或遭受破壞,所以我們必須能實時獲取水溫變化。對于,超過適宜范圍的溫度能夠報警。同
6、時,我們也希望在適宜溫度范圍內可以由檢測人員根據實際情況加以改變。單片機對對溫度的控制是工業生產中經常使用的控制方法.自從1976年intel公司推出第一批單片機以來,80年代單片機技術進入快速發展時期,近年來,隨著大規模集成電路的發展,單片機繼續朝快速、高性能方向發展。單片機主要用于控制,它的應用領域遍及各行各業,大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機將微處理器、存儲器、定時/計數器、i/o接口電路等集成在一個芯片上的大規模集成電路,本身即是一個小型化的微機系統。單片機技術與傳感與測量技術、信號與系統分析技術、電路設計技術、可編程邏輯應用技術、微機接口技術、數
7、據庫技術以及數據結構、計算機操作系統、匯編語言程序設計、高級語言程序設計、軟件工程、數據網絡通信、數字信號處理、自動控制、誤差分析、儀器儀表結構設計和制造工藝等的結合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進行管理和控制,使得整個系統智能化、功耗低、使用電子元件較少、內部配線少、成本低,制造、安裝、調試及維修方便。傳統的溫度采集電路相當復雜,需要經過溫度采集、信號放大、濾波、ad轉換等一系列工作才能得到溫度的數字量,并且這種方式不僅電路復雜,元器件個數多,而且線性度和準確度都不理想,抗干擾能力弱。現在常用的溫度傳感器芯片不但功率消耗低、準確率高,而且
8、比傳統的溫度傳感器有更好的線性表現,最重要的一點是使用起來方便。目 錄中文摘要.英文摘要.緒 論.1 系統總體設計.11.1 硬件總體設計. 11.1.1 硬件系統子模塊. 1 1.2 軟件總體設計.12 硬件系統設計. .22.1 硬件電路分析和設計報告.22.1.1 單片機最小系統電路. 22.1.2鍵盤電路.32.1.3數碼管及指示燈顯示電路.42.1.4溫度采集電路.52.1.5電源電路.102.1.6報警電路設計. . 112.1.7加熱管控制電路設計.113 系統軟件設計. .133.1 主程序流程圖. 133.2 各個模塊的流程圖. 153.2.1 讀取溫度ds18b20模塊的流
9、程.153.2.2鍵盤掃描處理流程.173.2.3報警處理流程.184 系統調試. 194.1硬件電路調試. 194.2軟件調試. 194.3系統操作說明書. .214.4數據測試. 21總結.23致謝.24參考文獻.25附錄一:系統源程序.26附錄二系統硬件總圖.36- 14 - 1 系統總體設計1.1 硬件總體設計 設計并制作一個基于單片機的熱水器溫度控制系統的電路,其結構框圖如圖1-1:電源單片機at8051數碼管顯示繼電器溫度傳感器ds18b20報警鍵盤指示燈圖 11 系統結構框圖1.1.1硬件系統子模塊(1) 單片機最小系統電路部分(2) 鍵盤掃描電路部分(3) 數碼管溫度顯示和運行
10、指示燈電路部分(4) 溫度采集電路部分(5) 繼電器控制部分(6) 報警部分1.2 軟件總體設計良好的設計方案可以減少軟件設計的工作量,提高軟件的通用性,擴展性和可讀性。本系統的設計方案和步驟如下:(1) 根據需求按照系統的功能要求,逐級劃分模塊。(2) 明確各模塊之間的數據流傳遞關系,力求數據傳遞少,以增強各模塊的獨立性,便于軟件編制和調試。(3) 確定軟件開發環境,選擇設計語言,完成模塊功能設計,并分別調試通過。(4) 按照開發式軟件設計結構,將各模塊有機的結合起來,即成一個較完善的系統。首先接通電源系統開始工作,系統開始工作后,通過按鍵設定溫度值的上限值和下限值,確定按鍵將設定的溫度值存
11、儲到指定的地址空間,溫度傳感器開始實時檢測,調用顯示子程序顯示檢測結果,調用比較當前顯示溫度值與開始設定的溫度值比較,如果當前顯示值低于設定值就通過繼電器起動加熱裝置,直到達到設定值停止加熱,之后進行保溫,如果溫度高于上限進行報警。2 硬件系統設計2.1硬件電路分析和設計報告本次設計主要思路是通過對單片機編程將由溫度傳感器ds18b20采集的溫度外加驅動電路顯示出來,包括對繼電器的控制,進行升溫,當溫度達到上下限蜂鳴器進行報警。p1.7開關按鈕是用于確認設定溫度的,初始按下表示開始進入溫度設定狀態,然后通過p1.5和p1.6設置溫度的升降,再次按下p1.7時,表示確認所設定的溫度,然后轉入升溫
12、或降溫。p2.3所接的發光二極管用于表示加熱狀態,p2.5所接的發光二極管用于表示保溫狀態。p2.3接繼電器。p3.1是溫度信號線。整個電路都是通過軟件控制實現設計要求。2.1.1單片機最小系統電路因為80c51單片機內部自帶8k的rom和256字節的ram,因此不必構建單片機系統的擴展電路。如圖21,單片機最小系統有復位電路和振蕩器電路。值得注意的一點是單片機的31腳必須接高電平,否則系統將不能運行。因為該腳不接時為低電平,單片機將直接讀取外部程序存儲器,而系統沒有外部程序存儲器,所以必須接vcc。在按鍵兩端并聯一個電解電容,濾除交流干擾,增加系統抗干擾能力。c230pfc330pf112m
13、ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10u2+c410ufvccr310kvccat80c51vcc112234sw5sw-pb()圖21 單片機最小系統圖2.1.2 鍵盤電路鍵盤是單片機應用系統中的主要輸入設備,單片機使用的鍵盤分為編碼鍵盤和非編碼鍵盤。編碼鍵盤采用硬件
14、線路來實現鍵盤的編碼,每按下一個鍵,鍵盤能夠自動生成按鍵代碼,并有去抖功能。因此使用方便,但硬件較復雜。非編碼鍵盤僅僅提供鍵開關狀態,由程序來識別閉合鍵,消除抖動,產生相應的代碼,轉入執行該鍵的功能程序。非編碼鍵盤中鍵的數量較少,硬件簡單,在單片機中應用非常廣泛。圖為按鍵和at80c51的接線圖,檢測儀共設有4個按鍵,每個按鍵由軟件來決定其功能,4個按鍵功能分別為:(1) sw1:設定按鍵(設定按鍵)(2) sw2:加法按鍵(當前位加5)(3) sw3:減法按鍵(當前位減5)(4) sw4:退出設置鍵(系統初始化)ea/vp31x119x218reset9rd17wr16int012int11
15、3t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10u2at80c51112234sw3sw-pb()112234sw4sw-pb()112234sw2sw-pb()112234sw1sw-pb()p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7 圖22 單片機按鍵和at80c51的接線圖2.1.3 數碼管及指示燈顯示電路(1)數碼管顯示說明各個
16、數碼管的段碼都是單片機的數據口輸出,即各個數碼管輸入的段碼都是一樣的,為了使其分別顯示不同的數字,可采用動態顯示的方式,即先只讓最低位顯示0(含點),經過一段延時,再只讓次低位顯示1,如此類推。由視覺暫留,只要我們的延時時間足夠短,就能夠使得數碼的顯示看起來非常的穩定清楚,過程如表3-1。表2-1 數碼管編碼表段碼位碼顯示器狀態08h01h0abh02h112h04h222h08h3a1h10h424h20h504h40h6aah80h7本論文中使用了3個數碼管,其中前兩位使用動態掃描顯示實測溫度,在設置加熱溫度的時候,兩個數碼管是閃爍,以提示目前處在溫度設置狀態。第三位數碼管靜態顯示符號“”
17、。(2)運行指示燈說明本熱水器溫度控制系統中共使用到3個led指示燈和3個數碼管。右上角的紅色led是電源指示燈;數碼管右邊的紅色led是加熱指示燈,當剛開機或溫度降到設定溫度5以下時,該燈會亮,表示目前處于加熱狀態;當溫度上升到設定溫度時,該led滅,同時數碼管右邊的綠色led亮,表示目前處于保溫狀態,用戶可以使用熱水器;當溫度再次下降到設定溫度5以下時,綠色led滅,紅色加熱的led燈亮,不斷循環。圖23 led數碼管顯示電路圖2.1.4 溫度采集電路(1) ds18b20介紹dallas最新單線數字溫度傳感器ds18b20簡介新的“一線器件”體積更小、適用電壓更寬、更經濟。dallas半
18、導體公司的數字化溫度傳感器ds1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統的構建引入全新概念。ds18b20、ds1822“一線總線”數字化溫度傳感器同ds18b20一樣,ds18b20也支持“一線總線”接口,測量溫度范圍為 -55+125,在-10+85范圍內,精度為0.5。ds1822的精度較差為2。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。其ds18b20的管腳配置和封裝結構如圖2-4所示。 圖2-4 ds18b20封裝引腳定義: dq為數字信號輸入/輸出端; gnd為電源地; vd
19、d為外接供電電源輸入端(在寄生電源接線方式時接地)。 (2)ds18b20的單線(1wire bus)系統單線總線結構是ds18b20的突出特點,也是理解和編程的難點。從兩個角度來理解單線總線:第一,單線總線只定義了一個信號線,而且ds18b20智能程度較低(這點可以與微控制器和spi器件間的通信做一個比較),所以ds18b20和處理器之間的通信必然要通過嚴格的時序控制來完成。第二,ds18b20的輸出口是漏級開路輸出,這里給出一個微控制器和ds18b20連接原理圖。這種設計使總線上的器件在合適的時間驅動它。顯然,總線上的器件與(wired and)關系。這就決定:(1)微控制器不能單方面控制
20、總線狀態。之所以提出這點,是因為相當多的文獻資料上認為,微控制器在讀取總線上數據之前的i/o口的置1操作是為了給ds18b20一個發送數據的信號。這是一個錯誤的觀點。如果當前ds18b20發送0,即使微控制器i/o口置1,總線狀態還是0;置1操作是為了是i/o口截止(cut off),以確保微控制器正確讀取數據。(2)除了ds18b20發送0的時間段,其他時間其輸出口自動截止。自動截止是為確保:1時,在總線操作的間隙總線處于空閑狀態,即高態。2時,確保微控制器在寫1的時候ds18b20可以正確讀入。由于ds18b20采用的是1wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對at89
21、s52單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對ds18b20芯片的訪問。 ds18b20的復位時序,如圖2-5 圖2-5 ds18b20的復位時序圖 ds18b20的讀時序對于ds18b20的讀時序分為讀0時序和讀1時序兩個過程。對于ds18b20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓ds18b20把數據傳輸到單總線上。ds18b20在完成一個讀時序過程,至少需要60us才能完成。ds18b20的讀時序圖如圖2-6所示。圖2-6 ds18b20的讀時序 ds18b20的寫時序對于ds18b20的寫時序仍然分為寫
22、0時序和寫1時序兩個過程。對于ds18b20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證ds18b20能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。如圖2-7所示。圖2-7 ds18b20的寫時序圖(3)ds18b20的供電方式在圖2-8中示出了ds18b20的寄生電源電路。當dq或vdd引腳為高電平時,這個電路便“取”的電源。寄生電路的優點是雙重的,遠程溫度控制監測無需本地電源,缺少正常電源條件下也可以讀rom。為了使ds18b20能完成準確的溫度變換,當溫度變換發生時,dq
23、線上必須提供足夠的功率。有兩種方法確保 ds18b20 在其有效變換期內得到足夠的電源電流。第一種方法是發生溫度變換時,在 dq 線上提供一強的上拉,這期間單總線上不能有其它的動作發生。如圖2-8 所示,通過使用一個 mosfet 把 dq 線直接接到電源可實現這一點,這時ds18b20 工作在寄生電源工作方式,在該方式下 vdd 引腳必須連接到地。 圖2-8 ds18b20供電方式1另一種方法是 ds18b20 工作在外部電源工作方式,如圖2-9 所示。這種方法的優點是在 dq 線上不要求強的上拉,總線上主機不需要連接其它的外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數
24、據在單總線上傳送。此外,在單總線上可以并聯多個 ds18b20,而且如果它們全部采用外部電源工作方式,那么通過發出相應的命令便可以同時完成溫度變換。 圖2-9 ds18b20供電方式2(4)ds18b20設計中應注意的幾個問題ds18b20具有測溫系統簡單、測溫精度高、連接方便、占用接口線少等優點,但在實際應用中也應注意以下幾方面的問題:較小的硬件開銷需要相對復雜的軟件進行補償,由于ds18b20 與微處理器間采用串行數據傳送。因此, 在對ds18b20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在ds18b20 有關資料中均未提及1wire上所掛ds18b20數量問題,
25、容易使人誤認為可以掛任意多個ds18b20,在實際應用中并非如此。當1wire上所掛ds18b20超過8個時,就需要考慮微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。連接ds18b20的總線電纜是有長度限制的。實際應用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接vcc 和地線,屏蔽層在源端單點接地。本文以廣泛應用的數字溫度傳感器ds18b20為例,說明了1wire總線的操作過程和基本原理。事實上,基于1wire總線的產品還有很多種,如1wire總線的e2prom、實時時鐘、電子標簽等。他們都具有節省i/o資源、結構簡單、開發快捷、成本低廉、便于總
26、線擴展等優點,因此有廣闊的應用空間,具有較大的推廣價值。本設計將溫度傳感器ds18b20與單片機txd引腳相連,讀取溫度傳感器的數值。ds18b20與單片機連接圖如圖所示2-10所示。vccea/vp31x119x218reset9rd17wr16int012int113t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10u2at80c51dq2gnd1vcc3u
27、3ds1820vccr154.7k圖2-10 ds18b20與單片機連接圖2.1.5 電源電路采用l7805穩壓塊,輸出為5v。電子組件要正常運作都需要電源電壓供電,一般常用的電源電壓為+5v或+12v,因為數字ic (ingegrated circuit:集成電路)所供給的電壓為+5v,而cmos ic所供給的電壓為+12v,7805是一個穩壓塊。7805穩壓管把高電壓轉換到低電壓,7805穩壓管具有保護單片機的作用。l7805輸出端要并聯上一個電解電容,濾除交流電干擾,防止損壞單片機系統。本設計采用兩種供電方式,一種為dc718v直流穩壓電源變換成5v的直流電;另一種為四節干電池共6v經二
28、極管加壓后得到將近5v的直流電源,電源配以開關和指示燈,以方便使用。黃色發光二極管表示保溫,紅色的表示加熱狀態。圖2-11 系統電源設計圖2.1.6報警電路設計同時可以在系統里設定溫度上限值,由于加熱停止后,加熱管還有余熱當采集到的外界溫度高于當前所設定溫度上限值時,程序就會進入報警子程序,觸發蜂鳴器進行報警。報警電路原理圖如圖所示。圖2-12 報警電路圖圖中的三極管8550的作用是增加驅動能力,比9012的驅動電流還大些,因此選用8550。當程序進入報警子程序時,把p2.7置0,就會觸發蜂鳴器,為了使報警聲音效果更好,對p2.7取反,發出報警嘟嚕聲音。2.1.7加熱管控制電路設計繼電器是常用
29、的輸出控制接口,可以做交直流信號的輸出切換。它具有控制系統(又稱輸入回路)和被控制系統(又稱輸出回路),通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關”。故在電路中起著自動調節、安全保護、轉換電路等作用。繼電器控制接點操作說明如下:com:common,共同點。輸出控制接點的共同接點。nc:normal close常閉點。以com為共同點,nc與com在平時是呈導通狀態的。no:normal open常開點。no與com在平時是呈開路狀態的,當繼電器動作時,no與com導通,nc與com則呈開路狀態。當89s52的p2.5輸出高電平時,繼電器不導通,反之當輸出低
30、電平時,繼電器導通,這樣就激活了連接回路。圖2-13 單片機控制繼電器電3 系統總設計本系統采用的是循環查詢方式,來顯示和控制溫度的。主要包括四段程序的設計:ds18b20讀溫度程序,數碼管的驅動程序,鍵盤掃描程序,以及抱經處理程序。3.1主程序流程圖圖 3-1 主程序流程圖3.2 各個模塊的流程圖3.2.1 讀取溫度ds18b20模塊的流程由于ds18b20采用的是一根數據線實現數據的雙向傳輸,而對at89s52單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對ds18b20芯片的訪問。ds18b20單線通信功能是分時完成的,它有嚴格的時隙概念。
31、因此系統對ds18b20的各種操作必須按協議進行。操作協議為:初始化ds18b20(發復位脈沖)發rom功能命令發存儲器操作命令處理數據ds18b20雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點, ds18b20必須首先調用啟動溫度轉換函數,根據數據手冊上對應轉換時間來超作,如為12位轉換,則應該是最大750ms,另外在對ds18b20超作時,時序要求非常嚴格,因此最好禁止系統中斷。由于ds18b20是在一根i/o線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。ds18b20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序
32、、寫時序。所有時序都是將主機作為主設備,而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸都是低位在先。ds18b20的讀時序:(1)對于ds18b20的讀時序分為讀0時序和讀1時序兩個過程。 (2)對于ds18b20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓ds18b20把數據傳輸到單總線上。ds18b20在完成一個讀時序過程,至少需要60us才能完成。ds18b20的寫時序:(1)對于ds18b20的寫時序仍然分為寫0時序和寫1時序兩個過程。 (2)對于ds18b20寫0時
33、序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證ds18b20能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。 系統程序設計主要包括三部分:讀出溫度子程序、溫度轉換命令子程序、顯示溫度子程序。圖3-2讀取溫度ds18b20模塊的流程圖程序代碼為:get_temper:setbdq;讀出轉換后的溫度值lcallinit_1820;先復位ds18b20jbflag1,tss2ret;判斷ds1820是否存在?若ds18b20不存在則返回tss2:mova,#0cch;ds18b20已經被檢測到
34、!跳過rom匹配lcallwrite_1820mova,#44h;發出溫度轉換命令lcallwrite_1820lcall display;這里通過調用顯示子程序實現延時一段時間,等待ad轉換結束,12位的話750微秒lcallinit_1820;準備讀溫度前先復位mova,#0cch;跳過rom匹配lcallwrite_1820mova,#0beh;發出讀溫度命令lcallwrite_1820lcallread_18200;將讀出的溫度數據保存到35h/36hret3.2.2 鍵盤掃描處理流程此流程為鍵盤掃描處理,cpu通過檢測各數據線的狀態(0或1)就能知道是否有按鍵閉合以及哪個按鍵閉合。
35、鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵閉合,消除抖動,根據鍵號轉到相應的鍵處理程序,按鍵流程圖如圖3-3所示。 圖 3-3鍵盤掃描子程序流程圖3.2.3 報警處理流程運行程序后,溫度傳感器ds18b20即可對環境進行溫度采集,并送led數碼管顯示。我們可以在程序里設定溫度上限值,當采集到的外界溫度高于當前所設定溫度上限值時,程序就會進入報警子程序,觸發蜂鳴器進行報警。其程序流程圖如圖3-4所示。圖3-4 報警子程序流程圖4 系統調試4.1 硬件電路調試仔細檢查所接電路,按照硬件原理圖接線,理論上是能實現的,如果數碼管不顯示,則應該檢查線路是否正確,或是因為單片機沒有工作,還有集電極
36、和發射極是否接對。如果只顯示兩個八,則可能是ds18b20沒有接正確,檢查上拉電路是否接好。另外要注意的是,由單片機輸出的控制信號比較小,需要進行放大才能驅動繼電器工作,否則就不能實現升溫過程,通常選用8550三極管來進行放大。還有220v交流電綠色接頭和加熱管黃色接頭必須接正確,否則導致電路燒壞。蜂鳴器是低電平有效。如果能注意這些問題,電路基本不會出錯。4.2 軟件調試如果硬件電路檢查后,沒有問題卻實現不了設計要求,則可能是軟件編程的問題,首先應檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序,對這些分段程序,要注意邏輯順序,調用關系,以及涉及到了標號,有時會因為一個標號而影響
37、程序的執行,除此之外,還要熟悉各指令的用法,以免出錯。還有一個容易忽略的問題就是,源程序生成的代碼是否燒入到單片機中,如果這一過程出錯,那不能實現設計要求也是情理之中的事。本人在設計的時候在偉福仿真軟件進行調試,通過此軟件進行調試可以很方便的觀察單片機內部各個寄存器及內部存儲器變化情況,以方便進行調試。圖為單片機功能調試圖:圖4-1 單片機功能調試圖硬件與軟件調試相結合,仔細檢查各個模塊的設計,舊能順利完成任務,實現設計要求,在調試過程中必須認真耐心,不能有一點馬虎,否則遺漏一個小的問題就會導致整個設計的失敗。36 單片機的水溫控制系統設計4.3 系統操作說明本系統上電后數碼管顯示當前測量溫度
38、,此時加熱指示燈和保溫指示燈均不點亮;若此時按“自動加熱”鍵,則單片機自動將預加熱溫度設置為80并開始加熱,送出一個加熱信號,并點亮加熱指示燈;若按“溫度設置”鍵,則進入預加熱溫度設置界面,此時數碼管閃爍顯示預設置溫度,此時通過按鍵“”和“”進行設置溫度,預設置溫度按“5”遞增或遞減,設置好溫度后再按一次“溫度設置”鍵確定,單片機保存預設置溫度,并開始加熱。此時單片機通過數碼管顯示實時檢測的溫度并和預設置溫度進行對比,如果實測溫度大于或等于預設置溫度,則單片機發出停止加熱信號并熄滅加熱指示燈,點亮保溫指示燈,且當超過預設溫度時發出報警;當溫度下降到預設置溫度以下5度時,單片機再次發出加熱信號,
39、同時熄滅保溫指示燈,點亮加熱指示燈,依次循環控制。4.4 數據測試1靜態數據測試取一桶凈水,改變它的溫度,觀察數碼管上顯示的溫度值,并用溫度計進行測溫,記錄兩組數據,比較差異。記錄表如下:表4-1 靜態溫度數據測試表溫度123456顯示溫度234763778490測量溫度244763808491有測試數據可知,本系統測溫結果與溫度計測溫基本一致,能滿足設計,證明了設計的合理性。2動態數據測試進行溫度設定,通過設定溫度值(75),觀察加熱管的加熱情況,以及數碼管的顯示值,再用溫度計測量水溫,每隔一段時間記錄一次數據,將兩組值進行比較。記錄表如下:(設定前溫度為25)表4-2 靜態溫度數據測試表組
40、數分組12345678910111213顯示溫度25293439424853586267707375測量溫度25283438424953596367717475通過上表可看出在加熱的過程中,顯示的溫度與實測的溫度近似一樣,說明系統的設計達到精度要求,但還是略有偏差,基本不影響設計結果。整個測試過程表明設計達到了任務書的要求,證明了該方案是合理可行的,順利完成了設計,達到了預想結果。總 結 通過本次的設計,使我們不僅對單片機這門課程有了更深刻的認識,懂得了如何運用課本知識結合實際來完成定時器的顯示和編程方法以及數碼顯示電路的驅動方法,使我們能夠很快的適應現代控制技術發展的需求,同時也提高了我們的
41、思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎。 另外,這次的設計還讓我更進一步的認識了關于at80c51等芯片的引腳功能以及使用方法,使我學會了應用不同的芯片來配合完成整個設計的操作。 在做硬件電路的這段時間里,從思考設計到對電路的調試經過了許多困難。同樣在對軟件進行設計時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學會了很多東西,同時對單片機也有了更深的認識。在做設計的時候,很需要耐心和對事物的細心,很多時候一個簡單問題的一個簡單的疏忽就會導致整個電路的不工作,只有不斷的檢查不斷的調試,才能真正完成一個設計的制作。只有不斷的發現問題解決問題,才
42、能從問題中改變自己,提升自己對單片機的能力。 此設計雖然能夠完成溫度的顯示和控制,但功能和精度有待于進一步提高。以后可以通過加入pid算法優化控制功能,并通過液晶顯示屏實時顯示溫度。致 謝 經過半年的忙碌和工作,本次畢業設計已經接近尾聲,作為一個專科生的畢業設計,由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及一起工作的同學們的支持,想要完成這個設計是難以想象的。首先感謝李月英老師出的這些論文選題,給了我這么一個展現自己能力的平臺。在這一個論文設計之中,涉及到了方方面面的知識,沒有大學期間各個學科老師的辛勤栽培,也不會有我見天的成果。所以要感謝所有的任課老師 。在這里也
43、要感謝我的室友們,是他們在平時無微不至的照顧,才有了我更棒的身體,和更多的學習時間。三年的時間里,我們沒有紅過臉,我們一直保持著那份純真的友誼,是我們的互相幫助,才有了今天的這份德業雙修。所以在這里也要感謝我們的鄭州科技學院,是學院給了我們這么寬廣的一個交流平臺,能夠在獲得知識的同時,也能得到同樣珍貴的友誼。在論文即將完成之際,我的心情很是激動,那些埋頭苦干和終日坐在電腦跟前的場景還是歷歷在目,辛勤勞動的付出,相信也能夠給我帶來同樣分量的收獲。從開始進入課題到論文的順利完成,有太多太多的要感謝的朋友和老師,在這里請接受我真摯的感謝!參考文獻l 樂建波 編著溫度控制系統化學工業出版社2 謝自美
44、編著 電子線路設計實驗測試(第二版) 華中科技大學出版社 20003 武慶生 仇梅 編著 單片機原理與應用 電子科技大學出版社 1998.24 譚浩強 編著c程序設計.北京:清華大學出版社1999年5 華中理工大學電子學教研室編 電子技術基礎數字部分(第四版)高等教育出版社 2000.66 電子制作2004.107 王彬 任艷穎 編著digital ic system design 西安電子科技大學出版社 2005.98 趙麗娟 邵欣編著基于單片機的溫度監控系統的設計與實現 機械制造9 郭炳坤 簡單的恒溫箱溫控電路j.儀器與未來,1991附錄1:系統源程序emper_lequ29h;用于保存讀
45、出溫度的低8位temper_hequ28h;用于保存讀出溫度的高8位flag1equ38h;是否檢測到ds18b20標志位a_bitequ20h;數碼管個位數存放內存位置b_bitequ21h;數碼管十位數存放內存位置b1equ70h;溫度小數點位a1equ71h;設定溫度值dqequp3.1;dq為ds18b20數據位bellequp2.7;/蜂鳴報警org0000h;單片機內存分配申明!ajmpmain0;/前面的都是定義main:movr0,#10m1:cplp2.3acalldelay125djnzr0,m1;/此段為燈閃5次,無實際意義;/main0:mova1,#80;默認加熱為8
46、0度main1:lcalld1820;調用讀溫度子程序 lcalldisplay;調用數碼管顯示子程序 mova,29h clrc cjnea,a1,main1_1 setbbell;/溫度相等,關閉蜂鳴器 ajmpmain1_1_a;/下等不用叫蜂鳴器main1_1:jcmain1_2;為1轉移,表示小于設定溫度 cplbell;蜂鳴器斷續鳴叫main1_1_a:clrp2.3;/下面是表示沒達到溫度 setbp2.5 ajmpmain2;/主要是檢測溫度是否小于設定的溫度,小于,則開發熱管clrp2.3main1_2:setbbell;/關閉蜂鳴器 clrp2.5;/開發熱管 setbp2.3;/上面的是大于,關發熱管main2:jbp1.0,main1;/看p1.0有否按下 acalldelay125;/延時防抖動,常用的手法,網上很多介紹的 jbp1.0,main
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電視設備智能生物診斷技術考核試卷
- 園林綠化工程綠化施工項目風險管理考核試卷
- 典當行不良資產處置與風險化解考核試卷
- 無損檢測非金屬專用設備考核試卷
- 廚房電器行業人才培養與技能培訓考核試卷
- 紡織行業經濟效益與投資回報分析考核試卷
- 服務綠色發展考核試卷
- 屠宰場食品安全管理考核試卷
- 漁業資源的保護與可持續發展考核試卷
- 糖果與巧克力銷售區域差異化策略考核試卷
- 2024北京理工大附中高一(下)期中英語試題及答案
- 干洗店中央洗衣工廠崗位職責及管理手冊
- 2024年數學新高考I卷評析及教學建議
- 玉盤二部合唱簡譜
- 第十一單元課題1 化學與人體健康教學設計-2024-2025學年九年級化學人教版(2024)下冊
- 個人裝載機租賃協議書范本
- 2022年高級經濟師《運輸經濟》試題真題及答案
- 2023-2024學年滬科版(2019)高中信息技術必修一第三單元項目六《解決溫標轉換問題-認識程序和程序設計語言》教學設計
- 《豬的傳染病》課件
- 《新媒體營銷》課件-項目一 新媒體營銷認知
- 民間非營利組織會計制度講解-課件
評論
0/150
提交評論