




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機的水溫控制系統(tǒng)畢業(yè)設計基于單片機的水溫控制系統(tǒng)設計摘要溫度控制系統(tǒng)可以說是無所不在,熱水器系統(tǒng)、空調系統(tǒng)、冰箱、電飯煲、電風扇 等家電產品以至手持式高速高效的計算機和電子設備,均需要提供溫度控制功能。本系 統(tǒng)的設計可以用于熱水器溫度控制系統(tǒng)和飲水機等各種電器電路中。它以單片機 AT80C51為核心,通過3個數碼管顯示溫度和4個按鍵實現人機對話,使用單總線溫度 轉換芯片DS18B20實時采集溫度并通過數碼管顯示,并提供各種運行指示燈用來指示系 統(tǒng)現在所處狀態(tài),如:溫度設置、加熱、停止加熱等,整個系統(tǒng)通過四個按鍵來設置加 熱溫度和控制運行模式。關鍵詞:單片機、數碼管顯示、單總線、DS18
2、B20.BaSed TemPeratUre COntrOI SyStemAbStraCtTemPeratUre Control SyStem Can be Said to be ubiquitous, Water heaters, air COnditioning SyStemSJ refrigerators, rice cookers, electric fans and Other home appliances as Well as high-speed and efficient hand-held COmPUterS and electronic equipment are requ
3、ired to PrOVide 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 Singl
4、e-chip bus temperature COnversiOn temperature DS18B20 real-time acquisition and through the digital display and OfferS a variety Of OPerating Iight to indicate SyStem now IiVe in the state, SUCh as: temperature setting, heating, and StOP heating, the entire SyStem through the four buttOnS to Set the
5、 heating temperature and COntrOl the operating mode.KEY VVORDS : MiCrOCOntrOIler, digital display, Single bus, DS18B20緒論及時準確地得到溫度信息并對其進行適時的控制,在許多工業(yè)場合中都是重要的環(huán) 節(jié)水溫的變化影響各種系統(tǒng)的自動運作,例如冶金、機械、食品、化工各類工業(yè)中, 廣泛使用的各種加熱爐、熱處理爐、反應爐等,對工件的水處理溫度要求嚴格控制。對 于不同控制系統(tǒng),其適宜的水質溫度總是在一個范圍。超過這個范圍,系統(tǒng)或許會停止 運行或遭受破壞,所以我們必須能實時獲取水溫變化。對于,
6、超過適宜范圍的溫度能夠 報警。同時,我們也希望在適宜溫度范圍內可以由檢測人員根據實際情況加以改變。單片機對對溫度的控制是工業(yè)生產中經常使用的控制方法.自從1976年InteI公司 推出第一批單片機以來,80年代單片機技術進入快速發(fā)展時期,近年來,隨著大規(guī)模集 成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展。單片機主要用于控制,它的應用 領域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯 其能。單片機將微處理器、存儲器、定時/計數器、I/O接口電路等集成在一個芯片上的 大規(guī)模集成電路,本身即是一個小型化的微機系統(tǒng)。單片機技術與傳感與測量技術、信 號與系統(tǒng)分析技術、電路設
7、計技術、可編程邏輯應用技術、微機接口技術、數據庫技術 以及數據結構、計算機操作系統(tǒng)、匯編語言程序設汁、高級語言程序設計、軟件工程、 數據網絡通信、數字信號處理、自動控制、誤差分析、儀器儀表結構設計和制造工藝等 的結合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機 對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、 內部配線少、成本低,制造、安裝、調試及維修方便。傳統(tǒng)的溫度采集電路相當復雜,需要經過溫度采集、信號放大、濾波、AD轉換等一 系列工作才能得到溫度的數字量,并且這種方式不僅電路復雜,元器件個數多,而且線 性度和準確度都不理想.抗干擾能力
8、弱。現在常用的溫度傳感器芯片不但功率消耗低、 準確率高,而且比傳統(tǒng)的溫度傳感器有更好的線性表現,最重要的一點是使用起來方 便。中文摘要英文摘要Il緒 論Ill1系統(tǒng)總體設計1硬件總體設計11.1.1硬件系統(tǒng)子模塊 1軟件總體設計12硬件系統(tǒng)設計2硬件電路分析和設計報告22. 1. 1單片機最小系統(tǒng)電路22. 1.2鍵盤電路32. 1. 3數碼管及指示燈顯示電路42. 1.4溫度采集電路52. 1.5電源電路102.1.6報警電路設計 112. 1. 7加熱管控制電路設計113系統(tǒng)軟件設計13主程序流程圖13各個模塊的流程圖153. 2. 1讀取溫度DS18B20模塊的流程153.2.2鍵盤掃描
9、處理流程173.2.3報警處理流程184系統(tǒng)調試19硬件電路調試19軟件調試19系統(tǒng)操作說明書21數據測試21總結23致謝24參考文獻25附錄一:系統(tǒng)源程序26附錄二系統(tǒng)硬件總圖361 系統(tǒng)總體設計硬件總體設計設計并制作一個基于單片機的熱水器溫度控制系統(tǒng)的電路,其結構框圖如圖I-I圖1 - 1系統(tǒng)結構框圖硬件系統(tǒng)子模塊(1) 單片機最小系統(tǒng)電路部分(2) 鍵盤掃描電路部分(3) 數碼管溫度顯示和運行指示燈電路部分(4) 溫度采集電路部分(5) 繼電器控制部分(6) 報警部分軟件總體設計良好的設計方案可以減少軟件設計的工作量,提高軟件的通用性,擴展性和可讀 性。本系統(tǒng)的設計方案和步驟如下:(1)
10、 根據需求按照系統(tǒng)的功能要求,逐級劃分模塊。(2)明確各模塊之間的數據流傳遞關系,力求數據傳遞少,以增強各模塊的獨立 性,便于軟件編制和調試。(3)確定軟件開發(fā)環(huán)境,選擇設計語言,完成模塊功能設計,并分別調試通過。(4)按照開發(fā)式軟件設計結構,將各模塊有機的結合起來,即成一個較完善的系 統(tǒng)。首先接通電源系統(tǒng)開始工作,系統(tǒng)開始工作后,通過按鍵設定溫度值的上限值和 下限值,確定按鍵將設定的溫度值存儲到指定的地址空間,溫度傳感器開始實時檢 測,調用顯示子程序顯示檢測結果,調用比較當前顯示溫度值與開始設定的溫度值比 較,如果當前顯示值低于設定值就通過繼電器起動加熱裝置,直到達到設定值停止加 熱,之后進
11、行保溫,如果溫度高于上限進行報警。2硬件系統(tǒng)設計硬件電路分析和設計報告本次設計主要思路是通過對單片機編程將由溫度傳感器DS18B20采集的溫度外加驅 動電路顯示出來,包括對繼電器的控制,進行升溫.當溫度達到上下限蜂鳴器進行報 警。開關按鈕是用于確認設定溫度的,初始按下表示開始進入溫度設定狀態(tài),然后通 過和設置溫度的升降,再次按下時,表示確認所設定的溫度.然后轉入升溫或降溫。 所接的發(fā)光二極管用于表示加熱狀態(tài),所接的發(fā)光二極管用于表示保溫狀態(tài)。接繼電 器。是溫度信號線。整個電路都是通過軟件控制實現設計要求。因為80C51單片機內部自帶8K的RoM和256字節(jié)的RA因此不必構建單片機系統(tǒng)的 擴展電
12、路。如圖2-1,單片機最小系統(tǒng)有復位電路和振蕩器電路。值得注意的一點是 單片機的31腳鬲/HP必須接高電平,否則系統(tǒng)將不能運行。因為該腳不接時為低電 平,單片機將直接讀取外部程序存儲器,而系統(tǒng)沒有外部程序存儲器,所以丑/up必 須接VCC。在按鍵兩端并聯(lián)一個電解電容,濾除交流干擾,增加系統(tǒng)抗干擾能力。U235Q2815VCC012 345 67 H H 1 1 n K H PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25EA/VPXlX2P26P27RESETRXDTXiIEDALE/PWRPSEN38373635343332212223242526
13、272810Il30。亠390001020304050607 PPPPPPPP圖2-1單片機最小系統(tǒng)圖鍵盤電路鍵盤是單片機應用系統(tǒng)中的主要輸入設備,單片機使用的鍵盤分為編碼鍵盤和非 編碼鍵盤。編碼鍵盤采用硬件線路來實現鍵盤的編碼,每按下一個鍵,鍵盤能夠自動 生成按鍵代碼,并有去抖功能。因此使用方便,但硬件較復雜。非編碼鍵盤僅僅提供 鍵開關狀態(tài),由程序來識別閉合鍵,消除抖動,產生相應的代碼,轉入執(zhí)行該鍵的功 能程序。非編碼鍵盤中鍵的數量較少,硬件簡單,在單片機中應用非常廣泛。圖為按鍵和AT80C51的接線圖,檢測儀共設有4個按鍵,每個按鍵由軟件來決定其 功能,4個按鍵功能分別為:(1) SWI
14、:設定按鍵(設定按鍵)(2) SW2 :加法按鍵(當前位加5)(3) SW3 :減法按鍵(當前位減5)(4) SW4 :退出設置鍵(系統(tǒng)初始化)0123456711 Ix 11 11 11 11 H 11 PPPPPPPP0001020304050607 PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25e7vpP26P27XlX2RESETRXDTXDRbALE/PWRPSEN2L 25_ 26._IJL(LOL39 2只 32 335332JL22.2X_2Z_4.7kVCCCOm234567893PLl4P1.25P1.36P1.47P1.58P
15、1.69PL712P1.0圖2-2單片機按鍵和AT80C51的接線圖數碼管及指示燈顯示電路(1) 數碼管顯示說明各個數碼管的段碼都是單片機的數據口輸出,即各個數碼管輸入的段碼都是一樣 的,為了使其分別顯示不同的數字,可采用動態(tài)顯示的方式,即先只讓最低位顯示 0(含點),經過一段延時,再只讓次低位顯示1,如此類推。由視覺暫留,只要我們的 延時時間足夠短,就能夠使得數碼的顯示看起來非常的穩(wěn)定清楚,過程如表3-1。表2-1數碼管編碼表段碼位碼顯示器狀態(tài)08HOIHabH02H12HOlH 222H08H 3alHIOH 424H20H 504H40H 6aaH80H7本論文中使用了3個數碼管,其中前
16、兩位使用動態(tài)掃描顯示實測溫度,在設置加熱 溫度的時候,兩個數碼管是閃爍,以提示目前處在溫度設置狀態(tài)。第三位數碼管靜態(tài) 顯示符號“°C” O(2) 運行指示燈說明本熱水器溫度控制系統(tǒng)中共使用到3個LED指示燈和3個數碼管。右上角的紅色LED是電源指示燈;數碼管右邊的紅色LED是加熱指示燈,當剛開機或溫度降到設定溫度5。C以下時, 該燈會亮,表示目前處于加熱狀態(tài);當溫度上升到設定溫度時,該LED滅,同時數碼管 右邊的綠色LED亮,表示目前處于保溫狀態(tài),用戶可以使用熱水器;當溫度再次下降到 設定溫度5°C以下時,綠色LED滅,紅色加熱的LED燈亮,不斷循環(huán)。圖2-3 LED數碼管
17、顯示電路圖溫度采集電路(1)DS18B20 介紹DalIaS最新單線數字溫度傳感器DS18B20簡介新的“一線器件”體積更小、適用電 壓更寬、更經濟。DalIaS半導體公司的數字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳 感器網絡,為測量系統(tǒng)的構建引入全新概念。DS18B20s DS1822u線總線”數字化溫 度傳感器同DS18B20樣,DS18B20也支持“一線總線”接口,測量溫度范圍為-55CO >125CO)在-IOCo>85CO范圍內,精度為±0. 5COO DS1822的精度較差為&
18、#177;2C?,F場溫 度直接以“一線總線"的數字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳 配置和封裝結構如圖2-4所示。圖 2-4 DS18B20 封裝引腳定義: DQ為數字信號輸入/輸出端; GND為電源地; VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。(2) DS18B20的單線(I-Wire bus)系統(tǒng)單線總線結構是DS18B20的突出特點,也是理解和編程的難點。從兩個角度來理解 單線總線:第一,單線總線只定義了一個信號線,而且DS18B20智能程度較低(這點可 以與微控制器和SPl器件間的通信做一個比較),所以DS18B20和處理器之間的通信
19、必 然要通過嚴格的時序控制來完成。第二,DS18B20的輸出口是漏級開路輸出,這里給出 個微控制器和DS18B20連接原理圖。這種設計使總線上的器件在合適的時間驅動它。 顯然,總線上的器件與(Wired AND)關系。這就決定:(1)微控制器不能單方面控 制總線狀態(tài)。之所以提出這點,是因為相當多的文獻資料上認為,微控制器在讀取總 線上數據之前的I/O口的置1操作是為了給DS18B20個發(fā)送數據的信號。這是一個錯誤 的觀點。如果當前DS18b20發(fā)送0,即使微控制器I/O口置1,總線狀態(tài)還是0;置1操作是 為了是I/O口截止(CUt Off),以確保微控制器正確讀取數據。(2)除了DS18B20
20、發(fā) 送0的時間段,其他時間其輸出口自動截止。自動截止是為確保:1時,在總線操作的 間隙總線處于空閑狀態(tài),即高態(tài)。2時,確保微控制器在寫1的時候DS18B20可以正確讀 入。由于DS18B20采用的是I-Wire總線協(xié)議方式,即在一根數據線實現數據的雙向傳 輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件 的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。 DS18B20的復位時序,如圖2-5圖2-5 DS18B20的復位時序圖 DS18B20的讀時序對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線
21、拉低之后,在15秒之內就得釋放單總線, 以讓DS18B20把數據傳輸到單總線上。DS18B20在完成一個讀時序過程,至少需要60US 才能完成。DS18B20的讀時序圖如圖2-6所示。圖2-6 DS18B20的讀時序 DS18B20的寫時序對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至 少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平, 當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。如圖2-7所示。圖2-7 DS18B20的寫時序圖(3
22、) DS18B20的供電方式在圖2-8中示出了DS18B20的寄生電源電路。當DQ或VDD引腳為高電平時,這個電路 便“取”的電源。寄生電路的優(yōu)點是雙重的,遠程溫度控制監(jiān)測無需本地電源,缺少 正常電源條件下也可以讀RoM。為了使DS18B20能完成準確的溫度變換.當溫度變換發(fā) 生時,DQ線上必須提供足夠的功率。有兩種方法確保DS18B20在其有效變換期內得到足夠的電源電流。第一種方法是 發(fā)生溫度變換時,在DQ線上提供一強的上拉,這期間單總線上不能有其它的動作發(fā) 生。如圖2-8所示,通過使用一個MOSFET把DQ線直接接到電源可實現這一點,這 時DS18B20工作在寄生電源工作方式,在該方式下V
23、DD引腳必須連接到地。圖2-8DS18B20供電方式1另一種方法是DS18B20工作在外部電源工作方式,如圖2-9所示。這種方法的優(yōu) 點是在DQ線上不要求強的上拉,總線上主機不需要連接其它的外圍器件便在溫度變 換期間使總線保持高電平,這樣也允許在變換期間其它數據在單總線上傳送。此外, 在單總線上可以并聯(lián)多個DS18B20,而且如果它們全部采用外部電源工作方式,那么 通過發(fā)出相應的命令便可以同時完成溫度變換。圖2-9 DS18B20供電方式2(4) DS18B20設計中應注意的幾個問題DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用接口線少等優(yōu)點,但在 實際應用中也應注意以下幾方面的問
24、題:較小的硬件開銷需要相對復雜的軟件進行補 償,由于DS18B20與微處理器間采用串行數據傳送。因此,在對DS18B20進行讀寫編 程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在DS18B20有關資料中 均未提及Iwire上所掛DS18B20數量問題,容易使人i吳認為可以掛任意多個DS18B20,在 實際應用中并非如此。當IWire上所掛DS18B20超過8個時,就需要考慮微處理器的總線 驅動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。連接DS18B20的總線電纜是有長度限制的。實際應用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線 與信號線,另一組接YCC和地線,屏蔽層
25、在源端單點接地。本文以廣泛應用的數字溫度傳感器DS18B20為例.說明了IWire總線的操作過程和 基本原理。事實上,基于IWire總線的產品還有很多種,女OlWire總線的E2PROM.實時 時鐘、電子標簽等。他們都具有節(jié)省I/O資源、結構簡單、開發(fā)快捷、成本低廉、便于 總線擴展等優(yōu)點,因此有廣闊的應用空間,具有較大的推廣價值。本設計將溫度傳感器DS18B20與單片機TXD引腳相連讀取溫度傳感器的數值。DS18B2O與單片機連接圖如圖所示2T0所示。U201234567P1P1P1P1P1P1P1PIgl 9- 3 4 5 6 7 POPOPOPO4POPO(PO15143119INTlP2
26、0INTOP2ITlAT80C51 驚TO應P25EA/VPP26P27XlX2RESETRXD_TXD_RDALE/PWRPSEN,圖2-10 DS18B20與單片機連接圖電源電路采用L7805穩(wěn)壓塊,輸出為5V。電子組件要正常運作都需要電源電壓供電,一般常 用的電源電壓為+5V或÷12V1因為數字IC (Ingegrated CirCUit :集成電路)所供給 的電壓為+5V,而CMoS IC所供給的電壓為+12V, 7805是一個穩(wěn)壓塊。7805穩(wěn)壓管把高 電壓轉換到低電壓,7805穩(wěn)壓管具有保護單片機的作用。L7805輸出端要并聯(lián)上一個電 解電容,濾除交流電干擾,防止損壞單片
27、機系統(tǒng)。本設計采用兩種供電方式,一種為 DC718V直流穩(wěn)壓電源變換成5V的直流電;另一種為四節(jié)干電池共6Y經二極管加壓后得 到將近5V的直流電源,電源配以開關和指示燈,以方便使用。黃色發(fā)光二極管表示保 溫,紅色的表示加熱狀態(tài)。圖2-11系統(tǒng)電源設計圖同時可以在系統(tǒng)里設定溫度上限值,由于加熱停止后,加熱管還有余熱當采集到 的外界溫度高于當前所設定溫度上限值時,程序就會進入報警子程序,觸發(fā)蜂鳴器進 行報警。報警電路原理圖如圖所示。圖2-12報警電路圖圖中的三極管8550的作用是增加驅動能力,比9012的驅動電流還大些,因此選用 8550o當程序進入報警子程序時,把置0,就會觸發(fā)蜂鳴器,為了使報警
28、聲音效果更 好,對取反,發(fā)出報警嘟嚕聲音。加熱管控制電路設計繼電器是常用的輸出控制接口,可以做交直流信號的輸出切換。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應用于自動控制電路中,它 實際上是用較小的電流去控制較大電流的一種“自動開關”。故在電路中起著自動調 節(jié)、安全保護、轉換電路等作用。繼電器控制接點操作說明如下: COM : CommOnl共同點。輸出控制接點的共同接點。NC : NOrmaI CIOSe常閉點。以Com為共同點,M與CoM在平時是呈導通狀態(tài)的。NO : NOrmaI OPen常開點。0與CoM在平時是呈開路狀態(tài)的,當繼電器動作時,0與CoM導通,C與
29、CoM則呈開路狀態(tài)。當89S52的輸出高電平時,繼電器不導通,反之當輸出低電平時,繼電器導通,這 樣就激活了連接回路。圖2-13單片機控制繼電器電3系統(tǒng)總設計本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設計:DS18B20讀溫度程序,數碼管的驅動程序,鍵盤掃描程序,以及抱經處理程序。主程序流程圖yi保溫指示燈亮,停止加熱加熱指示燈亮,開始加熱 N -V二退度二二二溫度一N預設溫度加5預設溫度減5i18B20圖3-1主程序流程圖各個模塊的流程圖讀取溫度DS18B20模塊的流程由于DS18B20采用的是一根數據線實現數據的雙向傳輸,而對AT89S52單片機來 說,硬件上并不支
30、持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié) 議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統(tǒng)對DS18B20 的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20 (發(fā)復位脈沖)一發(fā)RoH功 能命令一發(fā)存儲器操作命令一處理數據DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、 連接方便、占用口線少等優(yōu)點,DS18B20必須首先調用啟動溫度轉換函數,根據數據手冊上對應轉換時間來超作, 如為12位轉換,則應該是最大750mS,另外在對DS18B20超作時,時序要求非常嚴格, 因此最好禁止系統(tǒng)中斷。由于DS18B20是在
31、一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序 要求。DS18B20有嚴格的通信協(xié)議來保證各位數據傳輸的正確性和完整性。該協(xié)議定義 了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設 備.而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器 件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸 都是低位在先。DS18B20的讀時序:(1) 對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。(2) 對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單 總線,以讓DS18B20把數據傳輸到單總線
32、上。DS18B20在完成一個讀時序過程,至少需要 60US才能完成。DS18B20的寫時序:(1)對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。(2)對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉 低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電 平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。系統(tǒng)程序設計主要包括三部分:讀岀溫度子程序、溫度轉換命令子程序、顯示溫度子程序。程序代碼為:圖3-2讀取溫度DS18B20模塊的流程圖GET-TEMPER: SETB DQ;讀出轉換后的溫度
33、值LCALL INlT-1820;先復位 DS18B20JB FLAGl, TSS2RET ;判斷DS1820是否存在若DS18B20不存在則返回TSS2: MOVA,#0CCH;DS18B20已經被檢測到!跳過ROM匹配LCALL WRlTE-I820MOVA, #44H;發(fā)出溫度轉換命令LCALL WRlTE.1820LCALL DISPLAY ;這里通過調用顯示子程序實現延時一段時間,等待AD轉換結束,12位的話750微秒LCALL INlT_1820;準備讀溫度前先復位MOV A,#0CCH;跳過RoM匹配LCALL WRlTE_1820MOV A, SOBEH;發(fā)出讀溫度命令LCAL
34、L WRITE_1820LCALL READ_18200;將讀出的溫度數據保存到35H/36HRET鍵盤掃描處理流程此流程為鍵盤掃描處理,CFU通過檢測各數據線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個按鍵閉合。鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵 閉合,消除抖動,根據鍵號轉到相應的鍵處理程序,按鍵流程圖如圖3-3所示。圖3-3鍵盤掃描子程序流程圖3. 2. 3報警處理流程運行程序后,溫度傳感器DS18B2O即可對環(huán)境進行溫度采集,并送LED數碼管顯 示。我們可以在程序里設定溫度上限值當采集到的外界溫度高于當前所設定溫度上 限值時,程序就會進入報警子程序,觸發(fā)蜂鳴器進行報警。
35、其程序流程圖如圖3-4所圖3-4報警子程序流程圖4系統(tǒng)調試硬件電路調試仔細檢查所接電路,按照硬件原理圖接線,理論上是能實現的,如果數碼管不顯 示,則應該檢查線路是否正確或是因為單片機沒有工作,還有集電極和發(fā)射極是否 接對。如果只顯示兩個八,則可能是DS18B20沒有接正確檢查上拉電路是否接好。 另外要注意的是,由單片機輸出的控制信號比較小,需要進行放大才能驅動繼電器工 作,否則就不能實現升溫過程,通常選用8350三極管來進行放大。還有220V交流電 綠色接頭和加熱管黃色接頭必須接正確.否則導致電路燒壞。蜂鳴器是低電平有效。 如果能注意這些問題,電路基本不會出錯。軟件調試如果硬件電路檢查后,沒有
36、問題卻實現不了設計要求,則可能是軟件編程的問 題,首先應檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序, 對這些分段程序,要注意邏輯順序,調用關系,以及涉及到了標號,有時會因為一個 標號而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯。還有一個容 易忽略的問題就是,源程序生成的代碼是否燒入到單片機中,如果這一過程出錯,那 不能實現設計要求也是情理之中的事。本人在設計的時候在偉福仿真軟件進行調試, 通過此軟件進行調試可以很方便的觀察單片機內部各個寄存器及內部存儲器變化情 況,以方便進行調試。圖為單片機功能調試圖:圖4-1單片機功能調試圖硬件與軟件調試相結合,仔細檢查各個
37、模塊的設計,舊能順利完成任務,實現設 計要求,在調試過程中必須認真耐心,不能有一點馬虎,否則遺漏一個小的問題就會 導致整個設計的失敗。系統(tǒng)操作說明本系統(tǒng)上電后數碼管顯示當前測量溫度,此時加熱指示燈和保溫指示燈均 不點亮;若此時按“自動加熱”鍵,則單片機自動將預加熱溫度設置為80。C并 開始加熱,送出一個加熱信號,并點亮加熱指示燈;若按“溫度設置”鍵,則 進入預加熱溫度設置界面,此時數碼管閃爍顯示預設置溫度,此時通過按鍵“ + ”和“ - ”進行設置溫度,預設置溫度按“5”遞増或遞減,設置好溫度后 再按一次“溫度設置”鍵確定,單片機保存預設置溫度,并開始加熱。此時單 片機通過數碼管顯示實時檢測的
38、溫度并和預設置溫度進行對比,如果實測溫度 大于或等于預設置溫度,則單片機發(fā)出停止加熱信號并熄滅加熱指示燈,點亮 保溫指示燈,且當超過預設溫度時發(fā)出報警;當溫度下降到預設置溫度以下3度 時,單片機再次發(fā)出加熱信號,同時熄滅保溫指示燈,點亮加熱指示燈,依次 循環(huán)控制。數據測試1 -靜態(tài)數據測試取一桶凈水,改變它的溫度,觀察數碼管上顯示的溫度值,并用溫度計進 行測溫,記錄兩組數據,比較差異。記錄表如下:表47靜態(tài)溫度數據測試表123456顯不溫度234763778490測量溫度244763808491有測試數據可知,本系統(tǒng)測溫結果與溫度計測溫基本一致,能滿足設計, 證明了設計的合理性。2.動態(tài)數據測
39、試進行溫度設定,通過設定溫度值(73C) I觀察加熱管的加熱情況,以及 數碼管的顯示值,再用溫度計測量水溫,每隔一段時間記錄一次數據,將兩組 值進行比較。記錄表如下:(設定前溫度為25。C)表4-2靜態(tài)溫度數據測試表x組數分12345678910111213顯ZF溫度25293439424853586267707375測量溫度25283438424953596367717475通過上表可看出在加熱的過程中,顯示的溫度與實測的溫度近似一樣,說明系統(tǒng)的設計達到精度要求,但還是略有偏差,基本不影響設計結果。整個測試過程表明設計達到了任務書的要求,證明了該方案是合理可行的,順利完成了設計,達到了預想結
40、果。通過本次的設計,使我們不僅對單片機這門課程有了更深刻的認識,懂得 了如何運用課本知識結合實際來完成定時器的顯示和編程方法以及數碼顯示電 路的驅動方法,使我們能夠很快的適應現代控制技術發(fā)展的需求,同時也提高 了我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的 基礎。另外,這次的設計還讓我更進一步的認識了關于AT80C51等芯片的引腳功 能以及使用方法,使我學會了應用不同的芯片來配合完成整個設計的操作。在做硬件電路的這段時間里,從思考設訃到對電路的調試經過了許多困 難。同樣在對軟件進行設訃時,也可為一路坎坷。但是通過對軟硬件不斷撞 墻,不斷思考解決問題的過程中,我學會了很多東
41、西,同時對單片機也有了更 深的認識。在做設計的時候,很需要耐心和對事物的細心,很多時候一個簡單 問題的一個簡單的疏忽就會導致整個電路的不丄作,只有不斷的檢查不斷的調 試,才能真正完成一個設計的制作。只有不斷的發(fā)現問題解決問題,才能從問 題中改變自己,提升自己對單片機的能力。此設計雖然能夠完成溫度的顯示和控制,但功能和精度有待于進一步提 高。以后可以通過加入PlD算法優(yōu)化控制功能,并通過液晶顯示屏實時顯示溫 度。致謝經過半年的忙碌和工作,本次畢業(yè)設計已經接近尾聲,作為一個??粕?畢業(yè)設計,由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的 督促指導,以及一起工作的同學們的支持,想要完成
42、這個設計是難以想象的。 首先感謝李月英老師出的這些論文選題,給了我這么一個展現自己能力的平 臺。在這一個論文設計之中,涉及到了方方面面的知識,沒有大學期間各個學 科老師的辛勤栽培,也不會有我見天的成果。所以要感謝所有的任課老師。在這里也要感謝我的室友們,是他們在平時無微不至的照顧,才有了我更 棒的身體,和更多的學習時間。三年的時間里,我們沒有紅過臉,我們一直保 持著那份純真的友誼,是我們的互相幫助,才有了今天的這份德業(yè)雙修。所以 在這里也要感謝我們的鄭州科技學院,是學院給了我們這么寬廣的一個交流平 臺,能夠在獲得知識的同時,也能得到同樣珍貴的友誼。在論文即將完成之際,我的心情很是激動,那些埋頭
43、苦干和終曰坐在電腦 跟前的場景還是歷歷在目,辛勤勞動的付出,相信也能夠給我?guī)硗瑯臃至康?收獲。從開始進入課題到論文的順利完成,有太多太多的要感謝的朋友和老 師,在這里請接受我真摯的感謝!1 樂建波編著溫度控制系統(tǒng)化學工業(yè)出版社2 謝自美編著電子線路設計實驗測試(第二版)華中科技大學出版社20003 武慶生仇梅編著單片機原理與應用電子科技大學出版社4 譚浩強編著C程序設計北京:清華大學出版社1999年5 華中理工大學電子學教研室編電子技術基礎數字部分(第四版)高等 教育出版社6 電子制作7 王彬任艷穎編著DigitaI IC SyStem DeSign西安電子科技大學出版 社8 趙麗娟邵欣編著
44、基于單片機的溫度監(jiān)控系統(tǒng)的設計與實現機械制造9 郭炳坤簡單的恒溫箱溫控電路J儀器與未來,1991附錄仁系統(tǒng)源程序EMPER_L EQU29H;用于保存讀出溫度的低8位TEMPERJiEQU28H;用于保存讀出溫度的高8位FLAGIEQU38H;是否檢測到DS18B20標志位A_BITEQU20H;數碼管個位數存放內存位置B_BITEQU21H;數碼管十位數存放內存位置BIEQU70H;溫度小數點位AIEQU71H;設定溫度值DQEQU;DQ為DS18B20數據位BELLEQU;/蜂鳴報警ORGOOOOH;單片機內存分配申明!AjMPMAlNO;IllllllllllllllII/前面的都是定義
45、MAIN: MOV R0, #10MI:CPLACALL DELAYI25DJNZ RO, MI ;/此段為燈閃5次,無實際意義;/MAINO:MOV Al, #80;默認加熱為80度MAINl:LCALL D1820 ;調用讀溫度子程序LCALLDISPLAY;調用數碼管顯示子程序MOVA, 29HCLRCCJNEA,A1,MAIN1.1SETBBELL ; 溫度相等,關閉蜂鳴器AJMPMAlNl_1_A; /下等不用叫蜂鳴器MAIN1_1:JCMAlNI_2;為1轉移,表示小于設定溫度CPL BELL ;蜂鳴器斷續(xù)鳴叫MAINI_1_A: CLR;/下面是表示沒達到溫度SETBAJMP M
46、AIN2;Iiihiiiiiihiiiiii/主要是檢測溫度是否小于設定的溫度,小于,則開發(fā)熱管CLRMAlNI_2:SETB BELL ;/關閉蜂鳴器CLR; 開發(fā)熱管SETB;/A/上面的是大于,關發(fā)熱管MAIN2:JB ,MAINl;/看有否按下ACALLDELAYl25;延時防抖動,常用的手法,網上很多介紹的JB ,MAINl;/再次查看CLRJNB , $; /等按鍵完全松手才進入!SETBSETB;/檢測到按鍵后后進入設定溫度ACALL DlSPLAYIJB,MAIN2_2ACALLDELAYI25JB,MAIN2_2JNB,$MOVA,#5ADDA, AlCLRCMAIN2_1:
47、CJNEA,#100, MAlN2_1_1MOV A, #99AJMPMAIN2丄3/上面這一段是+5度按鍵,按下+5度MAIN2_1_1:JCMAlN2_1_3MAIN2_1_2:CLRCMOVA, #99MAIN2_1_3:MOVAl, AMAIN2._2:JB,MAIN2_3ACALLDELAYl25JB,MAIN2_3JNB,$MOVA,A1CJNEA, #99, ZYIMOVB,#4AJMPZY2ZYl:MOVB, #5ZY2:CLRCMOVA,A1SUBBA,BMAIN2_2_1:JNCMAIN2._2_2MOVAl, #0AJMPMAIN2.3;Iiiiiiiiii,/U/上面這
48、一段是-5度按鍵,按下-5度MAIN2._2_2:MOVAl, AMAIN2.3JB,NlAlN21ACALL DELAYI25JB , MAIN2.1CLRJNB , $SETBAJMP MAlNlD1820:'/上面這一段是退出的意思的!LCALL GET_TENIPER ;調用讀溫度子程序MOV Bl, 29HMOV A, 29HMOV C, 40H ;將28只中的最低位移入CRRC AMOV C,41HRRC AMOV C, 42HRRC AMOV C, 43HRRC AMOV 29H, AMOV A, BIMOV B,#IoHMUL ABMOV B,#IoHDlV ABMOV
49、 B,#10MUL ABMOVB,#IOHDlV ABRET;/上面這一段是讀取溫度后進行轉換的意思!;/-Jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/INlT_1820: SETB DQ;這是DS18B20復位初始化子程序NOPCLR DQ;主機發(fā)出延時537微秒的復位低脈沖MOV Rl, #3TSRl: MOVR0, #107DJNZR0, $DJNZRl, TSRISETBNOPNOPNOPNOPDQ;然后拉高數據線MOVR0, #25HTSR2: JNBDQ, TSR3;等待 DS18B20 回應DJNZRO, TSR2LJMPTSR4 ;延時TSR3: SETB
50、FLAGI;置標志位,表示DS1820存在LJMPTSRoTSR4: CLRFLAGI;清標志位,表示DS1820不存在LJMPTSR7TSR6: DJNZRO, TSR6;時序要求延時一段時間TSR7: SETBDQRETGET TEMPER:SETBDQ;讀出轉換后的溫度值LCALLINIT-.1820;先復位 DS18B20JBFLAGl, TSS2RET;判斷DS1820是否存在若DS18B20不存在則返回TSS2:MOVA, #0CCH;DS18B20 已經被檢測到!跳過 RoM匹配LCALLWRITE1820MOVA, #44H;發(fā)出溫度轉換命令LCALLWRITE 1820LCALLDlSPLAY;這里通過調用顯示子程序實現延時一段時間, 等待AD轉換結束,12位的話750微秒LCALL INIT_1820;準備讀溫度前先復位MOV A, #0CCH;跳過ROM匹配LCALL WRITE_1820MOV A, #0BEH;發(fā)出讀溫度命令LCALL WRITE_1820LCALL RE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國間氨基乙酰苯胺行業(yè)投資潛力分析及發(fā)展前景展望報告
- 2025至2030年中國鋰電池自動化設備行業(yè)市場全景調查及投資前景展望報告
- 2025至2030年中國鉛酸蓄電池產業(yè)發(fā)展態(tài)勢及競爭格局預測報告
- 2025至2030年中國金屬軋制設備行業(yè)市場供需態(tài)勢及發(fā)展前景研判報告
- 2025至2030年中國補血治療藥物行業(yè)市場研究分析及發(fā)展趨勢分析報告
- 國學通論考試題及答案
- pcr崗前考試題及答案
- 航空茶藝考試題及答案
- 健康知識考試題及答案
- 即興命題考試題及答案
- 土釘墻基坑支護方案
- 2025年1月國家開放大學漢語言文學本科《中國當代文學專題》期末紙質考試試題及答案
- 宜良護理考試試題及答案
- 嬰幼兒喂養(yǎng)照護人工喂養(yǎng)的回應性照護課件
- 《傳奇歌后鄧紫棋》課件
- 術后低蛋白血癥觀察及護理
- 電力營銷安全培訓
- 礦山承包合同
- 應急預案中的應急預警系統(tǒng)
- 安徽省合肥市肥西縣2024-2025學年上學期七年級數學期末測試卷
- 統(tǒng)編版語文四年級上冊21古詩三首《出塞》課件
評論
0/150
提交評論