版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【摘要】:本文介紹了一個由AT89C51為控制芯片、溫度傳感器DS18B20、抽水機(jī)等器件構(gòu)成的一個智能溫度控制系統(tǒng)。本系統(tǒng)的可實現(xiàn)的功能:1、四位數(shù)碼管輪流顯示溫度一、溫度二以及這兩個溫度的溫差;2、系統(tǒng)根據(jù)溫差的大小采取相應(yīng)的措施以減小溫差:當(dāng)溫差大于或等于5而小于10時,系統(tǒng)發(fā)出黃色警告同時啟動小功率噴水機(jī)向空中噴水;當(dāng)溫差大于10時,系統(tǒng)發(fā)出紅色警告同時啟動大功率噴水機(jī)向空中噴水;3、當(dāng)溫度一、溫度二中至少一個溫度大于30度而小于35度時,系統(tǒng)發(fā)出黃色警告同時啟動小功率噴水機(jī)向空中噴水;大于35度時,系統(tǒng)發(fā)出紅色警告同時啟動大功率噴水機(jī)向空中噴水。最終達(dá)到減小溫度及溫差對植物生長造成的
2、負(fù)面影響的目的,或者使人達(dá)到避暑的目的。目前 言.2 1 總體設(shè)計方案.4 智能溫控系統(tǒng)設(shè)計方案論證1.2 方案的總體設(shè)計框圖2 系統(tǒng)電路原理圖.5 3 MCS-51系列單片機(jī)簡介.63.1 時鐘電路引腳3.2 控制信號引腳3.3 I/O(輸入/輸出)接口引腳 3.4 MCS-51單片機(jī)的復(fù)位方式和復(fù)位電路4 溫度顯示的數(shù)碼管簡介.135 溫度傳感器DS1820簡介.15 DS1820簡介5.2 DS1820內(nèi)部結(jié)構(gòu)框圖5.3 提高DS1820測溫精度的途徑5.4 DS1820使用中注意事項 6 軟件編程.246.1 智能溫控系統(tǒng)總流程圖6.2 DS18B20子程序流程圖6.3 根據(jù)溫度一、二
3、的大小使噴水機(jī)動作的子程序流程圖6.4 溫差子程序流程圖6.5 根據(jù)溫差的大小使噴水機(jī)動作的子程序流程圖7 調(diào)試結(jié)果.25致 謝.34心得體會.35 參考文獻(xiàn).36 附錄(系統(tǒng)設(shè)計程序)37前言根據(jù)自然規(guī)律我們?nèi)菀字溃簻囟群蜏夭顚ξ覀兊闹脖簧L有很大的影響,適合植被生長的溫度只有一個很小的范圍,當(dāng)溫度過大或過小都會給我們的植被生長帶來負(fù)面的作用,日夜溫差或根部和空氣之間的溫差過大同樣會影響植被的水循環(huán)和光合作用,從而影響生長。當(dāng)前在我國很多農(nóng)村,減小溫度和溫差對農(nóng)作物、果樹的影響的一些措施和方法都還停留在舊社會的水平,在這種情況下,一旦氣溫不好,農(nóng)民朋友就得花費大量的人力、物力,這樣做不但效
4、果不怎么樣,反而使生產(chǎn)的成本大大提高,降低經(jīng)濟(jì)效益。當(dāng)前我國正大力提倡農(nóng)業(yè)現(xiàn)代化、增加農(nóng)民收入,智能溫控系統(tǒng)的制作無疑是雪中送炭。1 總體設(shè)計方案 1.1 智能溫控系統(tǒng)設(shè)計方案論證考慮到用溫度傳感器,在單片機(jī)電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用兩只溫度傳感器DS18B20。通過此傳感器,單片機(jī)可以很容易讀取被測溫度值,將溫度進(jìn)行轉(zhuǎn)換輸出,再將兩溫度進(jìn)行相減得出溫差輸出,最后根據(jù)的溫度和溫差的大小,使噴水機(jī)進(jìn)行相應(yīng)動作,即可滿足設(shè)計要求。 1.2 方案的總體設(shè)計框圖 溫度計電路設(shè)計總體設(shè)計方框圖如圖(1-1)所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS
5、18B20,用4位LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度輪流顯示。 單片機(jī)主控制器時鐘震蕩電路復(fù)位電路DS18B20-1DS18B20-2LED顯示黃色警告和小功率噴水機(jī)驅(qū)動電路紅色警告和大功率噴水機(jī)驅(qū)動電路圖(1-1) 總體設(shè)計方框圖2 系統(tǒng)電路設(shè)計 系統(tǒng)電路圖如圖(21)所示 圖(21) 系統(tǒng)電路圖3 MCS-51系列單片機(jī)簡介 MCS-51系列單片機(jī)研制于1980年,由Intel公司所開發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點,其ROM、RAM都可擴(kuò)充至64KB,也增添了如乘(MUL)、除(DIV)、減(SUBB)、比較(CJNE)、棧入(PUSH)、棧出(POP)、16位數(shù)據(jù)指針、
6、布爾代數(shù)運算等指令,以及串行通信能力和5個中斷源。8052有6個中斷源,MCS-51系列單片機(jī)存儲器容量如表(2)所示。MCS-51系列單片機(jī)特點如下: ()、專為控制應(yīng)用所設(shè)計的八位 ()、具有布爾代數(shù)的運算能力 ()、條雙項且可被獨立尋址的口 ()、芯片內(nèi)有字節(jié)可供存儲數(shù)據(jù)的(:字節(jié)) ()、內(nèi)部有兩組位定時器(有個) ()、具有全多工傳輸信號 ()、個中斷源,且具有兩級(高低)優(yōu)先權(quán)順序的中斷結(jié)構(gòu) ()、芯片內(nèi)有()的程序存儲器()()、芯片內(nèi)有時鐘()振蕩器電路 ()、程序存儲器可擴(kuò)展至() ()、數(shù)據(jù)存儲器可擴(kuò)展至() 表(2) MCS-51系列單片機(jī)ROM及RAM容量(字節(jié)) 型號
7、803180518751803280528752 ROM04K008K0RAM128128128256256256EPROM004K008K()、:工廠燒寫型,內(nèi)含 ()、:一次燒寫型,內(nèi)含 ()、:可重復(fù)燒寫型,內(nèi)含 ()、:省電型(低消耗功率) 3.1、時鐘電路引腳 單片機(jī)的時鐘可以由內(nèi)部方式和外部方式產(chǎn)生,(腳)和(腳)即為單片機(jī)的兩個時鐘引腳。 ()內(nèi)時鐘引腳 單片機(jī)片內(nèi)有振蕩電路,只需在和間外接石英晶體和電容組成的并聯(lián)振蕩電路(晶振器),晶體可以在固有頻率.z的晶振器之間任選晶體,電容可以在p的電容之間任選,通常選擇p的瓷片電容。在單片機(jī)控制的數(shù)字顯示溫度計電路設(shè)計的這個部分,就是采
8、用內(nèi)時鐘引腳,其中晶振器為6MHz,兩個電容均為30pF。 ()外時鐘方式,接地,接外部振蕩器。由于端的電平不是電平,故接一個上拉電阻。外部振蕩器的頻率應(yīng)低于z。 3.2、控制信號引腳 ()pd(腳):復(fù)位信號備用電源引腳 當(dāng)輸入的復(fù)位信號延續(xù)個機(jī)器周期以上,高電平即為有效,用以完成單片機(jī)的復(fù)位操作。復(fù)位后影響片內(nèi)特殊功能寄存器的狀態(tài),但不影響片內(nèi)狀態(tài)。 同一引腳的pd是備用電源輸入端(pd接備用電源)。在cc斷電時,為保證中的信息不丟失,可使此引腳完成掉電保護(hù)功能。 ()非(腳);地址鎖存允許信號編程脈沖輸入端 在系統(tǒng)擴(kuò)展時,用于控制把口輸出的低位地址送入鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)
9、的分時傳送。此外由于是以晶振頻率的固定頻率輸出的正脈沖,因此可作為外邊時鐘或外部定時脈沖使用。 對片內(nèi)帶有kbyte的編寫固化程序時,非作為編程脈沖輸入端。 ()非(引腳):外邊程序存儲器讀選通信號 為低電平有效,在訪問片外程序存儲器時,此引腳端輸出負(fù)脈沖作為讀片外程序存儲器的選通信號,以實現(xiàn)外部單元的讀操作。要檢查上電平后能否正常到程序存儲器中讀取指令碼,可以用示波器觀察引腳非有無脈沖輸出,若有說明正常。 ()非pp(腳):內(nèi)部和外部程序存儲器選擇信號 當(dāng)引腳接高電平時,只訪問片內(nèi)kbyte的,執(zhí)行內(nèi)部程序存儲器中的指令,但在程序計數(shù)器計數(shù)超過時(即地址大于kbyte時),將自動轉(zhuǎn)向執(zhí)行片外
10、大于kbyte程序存儲器內(nèi)的程序。 若非引腳接低電平時,只訪問外部程序存儲器,而不管片內(nèi)是否有程序存儲器。對于單片機(jī)(片內(nèi)無)需外擴(kuò),故必須將非引腳接地。 在對編寫固化程序時,需對此引腳施加的編程電壓。3.3、I/O(輸入/輸出)接口引腳 (1)并行I/O接口的特點 MCS-51有4個8位并行I/O接口P0P3,他們都是雙向端口,可以進(jìn)行輸入或者輸出操作,每個口都有口鎖存器和口驅(qū)動器兩部分組成。此外,它還有一個全雙工串行通信口。這4個端口為MCS-51與外圍器件或外圍設(shè)備進(jìn)行信息(數(shù)據(jù)、地址、控制信號)交換提供了多功能的輸入/輸出通道,也為MCS-51擴(kuò)展外部功能、構(gòu)成應(yīng)用系統(tǒng)提供了必要的條件
11、。 它們的特點如下: a、4個并行I/O接口都是雙向的。P0口為漏極開路,P1、P2、P3口均具有內(nèi)部上拉電阻,它們有時被稱為準(zhǔn)雙向口。 b、4個并行口的32條I/O接口線都可以獨立地用于輸入或輸出操作。c、當(dāng)4個并行口的I/O接口線有作輸入操作時,必須對該口的鎖存器進(jìn)行寫1操作,以保證從I/O接口線輸入數(shù)據(jù)的正確性,這也是4個并行接口有時被稱為“準(zhǔn)”雙向的含義。 (2)I/O接口電路功能匯總 MCS-51單片機(jī)內(nèi)部屬單總線結(jié)構(gòu),因此使系統(tǒng)在結(jié)構(gòu)上增加了靈活性。通過總線,用戶可根據(jù)應(yīng)用需要進(jìn)行多功能的系統(tǒng)擴(kuò)展,構(gòu)成用戶的實際應(yīng)用系統(tǒng)。MCS-51系列中的8031單片機(jī),因其內(nèi)部在結(jié)構(gòu)上無程序存
12、儲器,所以它的應(yīng)用系統(tǒng)必定為一個擴(kuò)展的系統(tǒng)。因此,MCS-51的4個并行I/O接口中的P0、P2、P3口基本上都具備有這兩項功能。 a、P0口:P0口的內(nèi)部一位結(jié)構(gòu)如圖(33)所示。P0口是一個多功能口除可以作為通用的輸入/輸出口外,還具備用于系統(tǒng)擴(kuò)展的第二功能。在MCS-51的進(jìn)行系統(tǒng)擴(kuò)展時,它作為地址/數(shù)據(jù)總線口。通過外接地址鎖存器,MCS-51的內(nèi)部單總線可從P0口被擴(kuò)展成8位的數(shù)據(jù)總線和16位地址總線的低8位。在實際應(yīng)用中,P0口先送出外部存儲器16位地址中的低8位至地址鎖存器鎖存,然后再由P0口進(jìn)行8位數(shù)據(jù)的輸入或輸出。 b、P1口:P1口作為通用I/O接口,它的每一位都可以別編程為
13、通用I/O接口線。 c、P2口:P2口也是一個多功能口,與P0口相似,它除可被用作I/O接口外,在進(jìn)行系統(tǒng)擴(kuò)展時,還可以輸16位地址總線中的高8位,和P0口共同構(gòu)成16位的地址總線。當(dāng)然,在P0口和P2口用作地址/數(shù)據(jù)總線時,它們都不能再作為通用I/O接口。 d、P3口:P3口也是一個多功能口,除可以作為通用I/O接口外,還具有多種控制功能,為通用I/O接口時和MCS-51其他具有控制功能的輸入/輸出引線在一起,共同形成MCS-51的控制總線。P3口在作為第二功能(控制功能)使用時,它的每一位功能定義如表(32)所示 一個信號引腳,既是第一功能又是第二功能,在使用時也不會引起混亂和造成錯誤,理
14、由如下: a、對于各種型號的芯片,其功能的第一功能信號是相同的,所不同的只在引腳的的第二功能信號上。 b、對于9、30和31各引腳,由于第一功能信號與第二功能信號是單片機(jī)在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。 c、P3口線的情況卻有所不同,它的第二功能信號都是單片機(jī)的重要控制信號。因此在實際使用時,總是先按需要優(yōu)先選用它的 二功能,剩下不用的才作為口線使用。 d、引腳表現(xiàn)出的是單片機(jī)的外特性或硬件特性,在硬件方面用戶只能使用引腳,即通過引腳組建系統(tǒng)。因此熟悉引腳是我們設(shè)計數(shù)字顯示溫度計的重要內(nèi)容。表(32) P3口線的第二功能 口線第二功能信號名稱RXD串行數(shù)據(jù)接收TXD串行數(shù)據(jù)發(fā)
15、送INT0外部中斷0申請INT1外部中斷1申請T0定時器/計數(shù)器0計數(shù)輸入T1 定時器/計數(shù)器1計數(shù)輸入WR外部RAM寫選通RD外部RAM讀選通3.4、MCS-51單片機(jī)的復(fù)位方式和復(fù)位電路 (1)復(fù)位操作 復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或者操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵以重新啟動。 (1)復(fù)位操作還對單片機(jī)的個別引腳信號有影響,例如把ALE和PSEN非信號變?yōu)闊o效狀態(tài),即ALE=0,PSEN=1。 (2)復(fù)位信號及其產(chǎn)生 RST引腳是復(fù)位信號的輸入端
16、,復(fù)位信號是高電平有效,其有效時間持續(xù)24個振蕩脈沖周期(即2個機(jī)器周期)以上,若使用頻率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。 產(chǎn)生復(fù)位信號的電路邏輯如圖(34)所示。 整個復(fù)位電路包括芯片內(nèi)外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機(jī)器周期的S5P2時刻對施密特觸發(fā)器的輸出進(jìn)行采樣。然后才得到內(nèi)部復(fù)位操作所需要的信號。 (3)復(fù)位方式 復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,在單片機(jī)控制的數(shù)字顯示溫度計電路設(shè)計中的單片機(jī)復(fù)位就是這種方式,其中電容C為22uF,電阻R為1
17、k歐姆,其電路圖如圖(35a)所示。圖(34) 復(fù)位電路邏輯圖 這樣,只要電源Vcc(+5V)的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。 按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的,其電路圖如圖(3 5b)所示。而按鍵復(fù)位脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。 上述電路圖中的電阻電容參數(shù)適宜于6MHz晶振,能保證復(fù)位信號高電平持續(xù)時間大于2個機(jī)器周期。 圖(35a) 上電復(fù)位 圖( 35b) 按鍵電平復(fù)位4 顯示溫度值的LED顯示器接口介紹LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的廉價輸出設(shè)
18、備。它是由若干個發(fā)光二極管組成的,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)一個筆畫劃發(fā)光,控制某段發(fā)光二極管導(dǎo)通,就能顯示出某個數(shù)碼或字符,常用八段LED顯示器有兩種結(jié)構(gòu),如圖(41)所示。圖(41) 八段LED顯示器的結(jié)構(gòu)數(shù)碼管使用條件:a、段及小數(shù)點上加限流電阻b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點:根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA ;峰值電流 100mA在靜態(tài)顯示系統(tǒng)中,每位顯示器都應(yīng)有各自的鎖存器、譯碼器(若采用軟件譯碼,譯碼器可省去)與驅(qū)動器,用以鎖存各自待顯示數(shù)字的BCD碼或字段碼。因此,靜態(tài)顯示系統(tǒng)在每
19、一次顯示輸出后能夠保持顯示不變,僅在待顯示數(shù)字需要改變時,才更新其數(shù)字顯示鎖存器中的內(nèi)容。這種顯示占用CPU的時間少,顯示穩(wěn)定可靠。缺點是,當(dāng)顯示的位數(shù)較多時,占用的I/O口較多。 在動態(tài)顯示的系統(tǒng)中,CPU需定時地對每位LED顯示器進(jìn)行掃描,每位LED顯示器分時輪流工作,每次只能使一位LED顯示,但由于人的視覺暫留現(xiàn)象,仍感覺所有的LED顯示器都在同時顯示。這種顯示的優(yōu)點是使用硬件少,占用I/O口少。缺點是占用 CPU時間長,只要不執(zhí)行顯示程序,就立刻停止顯示。但隨著大規(guī)模集成電路的發(fā)展,目前已有能自動對顯示器進(jìn)行掃描的專用顯示芯片,使電路既簡單又占用CPU時間。在我們所設(shè)計的溫度計中數(shù)碼管
20、顯示就是利用的動態(tài)顯示。5 溫度傳感器DS1820介紹在傳統(tǒng)的模擬信號遠(yuǎn)距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測量精度。我們在為某水電站開發(fā)水輪發(fā)電機(jī)組軸瓦溫度實時監(jiān)測系統(tǒng)時,為了克服上面提到的三個問題,采用了新型數(shù)字溫度傳感器DS1820,在對其測溫原理進(jìn)行詳細(xì)分析的基礎(chǔ)上,提出了提高DS1820測量精度的方法,使DS1820的測量精度由提高到以上,取得了良好的測溫效果。 5.1、 DS1820簡介 DS1820是美國DALLAS半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD
21、)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與其它溫度傳感器相比,DS1820具有以下特性: (1)獨特的單線接口方式,DS1820在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS1820的雙向通訊。 (2)DS1820支持多點組網(wǎng)功能,多個DS1820可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫。 (3)DS1820在使用中不需要任何外圍元件。 (4)溫范圍55125,固有測溫分辨率。 (5)測量結(jié)果以9位數(shù)字量方式串行傳送。 5.2、DS1820內(nèi)部結(jié)構(gòu)框圖如圖(51)所示64位光刻ROM及串線接口存儲器和控制邏輯I/O溫度傳感器暫存儲器上限寄存器TH 供電力式檢 測
22、下限寄存器TL Vcc 8位CRC發(fā)生器 GNDDS1820測溫原理如圖(51)所示圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1 ,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于
23、補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。 在正常測溫情況下,DS1820的測溫分辯率為以9位數(shù)據(jù)格式表示,其中最低有效位(LSB)由比較器進(jìn)行比較,當(dāng)計數(shù)器1中的余值轉(zhuǎn)化成溫度后低于時,清除溫度寄存器的最低位(LSB),當(dāng)計數(shù)器1中的余值轉(zhuǎn)化成溫度后高于,置位溫度寄存器的最低位(LSB),如對應(yīng)的9位數(shù)據(jù)格式如下:5.3、 提高DS1820測溫精度的途徑 (1)DS1820高精度測溫的理論依據(jù) DS1820正常使用時的測溫分辨率為,這對于水輪發(fā)電機(jī)組軸瓦溫度監(jiān)測來講略顯不足,在對DS1820測溫原理詳細(xì)分析的基礎(chǔ)上,我們采取直接讀取DS1820內(nèi)部暫存寄存器的方法,將DS
24、1820的測溫分辨率提高到 DS1820內(nèi)部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當(dāng)溫度寄存器 停止增值時計數(shù)器1的計數(shù)剩余值,第8字節(jié)存放的是每度所對應(yīng)的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計數(shù)器1的計數(shù)剩余值M剩余和每度計數(shù)值M每度,考慮到DS1820測量溫度的整數(shù)部分以、為進(jìn)位界限的關(guān)系,實際溫度T實際可用下式計算得到: T實際=(T整數(shù))+(M每度M剩余)/M每度 (2)
25、測量數(shù)據(jù)比較 表2為采用直接讀取測溫結(jié)果方法和采用計算方法得到的測溫數(shù)據(jù)比較,通過比較可以看出,計算方法在DS1820測溫中不僅是可行的,也可以大大的提高DS1820的測溫分辨率。表1 DS18B20暫存寄存器分布寄存器內(nèi)容 字節(jié)地址溫度最低數(shù)字位 0溫度最高數(shù)字位 1高溫限值 2低溫限值 3保留 4保留 5記數(shù)剩余值 6每度記數(shù)值 7 CRC校驗 8 5.4、DS1820使用中注意事項 DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題: (1) 較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳
26、送,因此,在對DS1820進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。 (2) 在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS1820,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進(jìn)行多點測溫系統(tǒng)設(shè)計時要加以注意。 (3)連接DS1820的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正
27、常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。(4) 在DS1820測溫程序設(shè)計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令 后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或 斷線,當(dāng)程序讀該DS1820時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點在進(jìn)行DS1820硬件連接和軟件設(shè)計時也要給予一定的重視。 6 軟件設(shè)計6.1、智能溫控系統(tǒng)總流程圖采集并顯示第一個溫度開始延時根據(jù)溫差的大小使抽水機(jī)做出相應(yīng)
28、的動作根據(jù)溫度的大小使抽水機(jī)做出相應(yīng)的動作根據(jù)溫度的大小使抽水機(jī)做出相應(yīng)的動作結(jié)束延時計算并顯示溫差延時采集并顯示第二個溫度 圖(6-1)智能溫控系統(tǒng)總流程圖6.2、DS18B20子程序流程圖 說明:不顯示符號位和百位,只顯示包括一位小數(shù)的溫度大小開始溫度零下溫度值取補(bǔ)碼置“”標(biāo)志置“+”標(biāo)志計算小數(shù)位溫度BCD值計算整數(shù)位溫度BCD值溫度數(shù)據(jù)移入顯示寄存器十、個位和一位小數(shù)顯示;符號不顯示;百位為1或2結(jié)束YN圖(6-2)DS18B20子程序流程圖6.3、根據(jù)溫度一、二的大小使噴水機(jī)動作的子程序流程圖 說明:溫度一的如下圖,溫度二的則把R5R6改為R3R4即可,第一位顯示1表示此數(shù)據(jù)為第一個
29、溫度值,第二三四位則為包含一位小數(shù)的溫度值;第一位顯示2表示此數(shù)據(jù)為第二個溫度值,第二三四位則為包含一位小數(shù)的溫度值。開始R5R635或=35發(fā)出紅色警告并啟動大功率抽水機(jī)R5R630或=30發(fā)出黃色警告并啟動小功率抽水機(jī)結(jié)束關(guān)閉所有的警告和噴水機(jī)YNNY 圖(6-3)根據(jù)溫度一的大小使噴水機(jī)動作的子程序流程圖6.4、溫差子程序流程圖說明:溫差為溫度一減溫度二,第一位顯示3表示此數(shù)據(jù)是溫差,第二位顯示0表示溫度一大于溫度二、顯示1表示溫度二大于溫度一,三四位為溫差大小值開始R5R6R3R4H或=R3R4R2=3R3=0R4R5=R5R6R3R4R2=3R3=1R4R5=R3R4R5R6結(jié)束圖(
30、6-4)溫差子程序流程圖6.5、根據(jù)溫差的大小使噴水機(jī)動作的子程序流程圖說明:當(dāng)溫差大于或等于10時,發(fā)出紅色警告并啟動大功率抽水機(jī);當(dāng)溫差大于或等于5而小于10時,發(fā)出黃色警告并啟動小功率抽水機(jī)。開始R3R410或=10發(fā)出紅色警告并啟動大功率抽水機(jī)R5R65或=5發(fā)出黃色警告并啟動小功率抽水機(jī)結(jié)束關(guān)閉所有的警告和噴水機(jī)YNNY 圖(6-5)根據(jù)溫差的大小使噴水機(jī)動作的子程序流程圖7、調(diào)試結(jié)果(1)、溫度一顯示正常,顯示的結(jié)果為1xx.x;過一秒后顯示第二個溫度,顯示的結(jié)果為2xx.x;過一秒后顯示溫差,顯示的結(jié)果為3xxx:當(dāng)溫度一的整數(shù)位大于或等于溫度二的整數(shù)位時,顯示的結(jié)果為30xx,
31、xx=溫度1溫度2;當(dāng)溫度一的整數(shù)位小于溫度二的整數(shù)位時,顯示的結(jié)果為31xx,xx=溫度2溫度1;再過一秒,顯示電路又開始顯示第一個溫度了。系統(tǒng)就這樣不間斷的重復(fù)上述過程。(2)、警告和噴水機(jī)電路運做正常:當(dāng)溫度一或二的整數(shù)部分大于或等于30而小于35時,系統(tǒng)發(fā)出黃色警告,同時啟動小功率的噴水機(jī),當(dāng)溫度降到30以下時,系統(tǒng)則將其關(guān)閉;當(dāng)溫度一或二的整數(shù)部分大于或等于35時,系統(tǒng)發(fā)出紅色警告,同時啟動大功率的噴水機(jī),當(dāng)溫度降到35以下而又大于或等于30時,系統(tǒng)發(fā)出黃色警告,同時啟動小功率的噴水機(jī),當(dāng)溫度降到30以下時,系統(tǒng)則將其關(guān)閉。(3)、因為系統(tǒng)的的某些電路有缺損,所以系統(tǒng)有時會出現(xiàn)不穩(wěn)定
32、的現(xiàn)象。 綜上所述,系統(tǒng)的工作情況基本正常,各項基本功能都已經(jīng)實現(xiàn)。致 謝在畢業(yè)論文接近末尾之時,我要衷心地感謝我們黃朝良老師,在我整個畢業(yè)設(shè)計過程中,黃朝良老師給了我很大的幫助和細(xì)心的指導(dǎo)。在一個多月的畢業(yè)設(shè)計過程中,當(dāng)我遇到了困難和問題時,當(dāng)我們需要他的時候,黃朝良老師總是第一時間出現(xiàn)在我們面前,他讓我們學(xué)會了以前在課堂上沒有的東西。 另外,我還要特別感謝我所有的搭檔,是他們給了我巨大的勇氣和戰(zhàn)勝困難的信心,在畢業(yè)設(shè)計中我們合作的很愉快,當(dāng)我們遇到困難時我們一起去探討和研究,一起去戰(zhàn)勝它,大家也一起分享排除問題和困難后的喜悅。 同時大家也發(fā)揚我們慷慨激揚精神:特別能吃苦,特別能攻關(guān),特別能
33、戰(zhàn)斗,特別能奉獻(xiàn) 。在此我表示真誠的感謝! 心 得 體 會 經(jīng)過這次畢業(yè)設(shè)計,使我覺得不論從理論知識還是從實際操縱中都學(xué)到了不少知識,我想歸納起來,主要有以下四個方面: (1)、經(jīng)過這次畢業(yè)設(shè)計,它讓我接觸更多平時沒有接觸過的科學(xué)儀器設(shè)備、元器件以及獲得相關(guān)的儀器調(diào)試經(jīng)驗,同時我也發(fā)現(xiàn)自己在這方面很多不足之處。體會到理論知識對實踐有很大的指導(dǎo)作用,她讓我知道,只有在正確的理論指引下,才能設(shè)計出合乎實際需要的硬件電路。 (2)、學(xué)會了高效率的查閱資料、運用工具書、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識在實際應(yīng)用中其實并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會遇到錯誤的資
34、料現(xiàn)象,這就要求我們應(yīng)更加注重實踐環(huán)節(jié)。 (3)、在畢業(yè)設(shè)計中,我們應(yīng)當(dāng)注意重點與細(xì)節(jié)的關(guān)系。 (4)、失敗不可怕,只要不趴下,昂首向前走,希望總會有。 (5)、同組同學(xué)相互包容,彼此合作,取長補(bǔ)短,才能鑄就最后的成功。 可以這樣說畢業(yè)設(shè)計是對大學(xué)三年所學(xué)知識的一次運用和檢閱,同時對自學(xué)能力提出很高的要求,所以平時的學(xué)習(xí)離開思考,就是嚴(yán)重的錯誤,我們學(xué)習(xí)不應(yīng)該有偏科現(xiàn)象,各方面的知識都應(yīng)該要接觸,這樣做才能為畢業(yè)設(shè)計打下基石。參考文獻(xiàn) 1 李廣弟等編 單片機(jī)基礎(chǔ) 北京航空航天大學(xué)出版社 2001 2 吳金戌等編 8051單片機(jī)實踐與應(yīng)用 清華大學(xué)出版社 2001 3 王洪慶編 微型計算機(jī)控制技
35、術(shù) 機(jī)械工業(yè)出版社 2006 4 付家才編 單片機(jī)控制工程實踐技術(shù) 化學(xué)工業(yè)出版社 2004 5 鮑宏亞等編 MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計及實用技術(shù) 中國宇航出版社 2005 6 張志良編 單片機(jī)原理與控制技術(shù)(P46-47、P203-224)機(jī)械工業(yè)出版社 20027 付家才編 電子實驗與實踐(P29-59) 高等教育出版社 20048 蘇家健等 單片機(jī)原理與應(yīng)用技術(shù)(P249-251)高等教育出版社 20049 魏炳貴編 電力拖動基礎(chǔ) 機(jī)械工業(yè)出版社 2002附錄: 系統(tǒng)設(shè)計總程序 ORG 0000H SJMP MAIN ORG 0030H MAIN :MOV SP,#29H MAI
36、N1:LCALL GET_TEMP1 ;開始讀取第一個溫度 LCALL FENLI1 LCALL BCD1 LCALL DIANJI1 LCALL CHANGE_CLEAR1 LCALL SHUCHU1 ;輸出第一個溫度 LCALL YANSHI ;延時等待 LCALL YANSHI LCALL YANSHI LCALL GET_TEMP2 ;開始讀取第二個溫度 LCALL FENLI2 LCALL BCD2 LCALL DIANJI2 LCALL CHANGE_CLEAR2 LCALL SHUCHU2 ;輸出第二個溫度 LCALL YANSHI ;延時等待 LCALL YANSHI LCAL
37、L YANSHI LCALL WENCHA ;調(diào)用溫差子程序 LCALL DIANJI LCALL CHANGE_CLEAR3 LCALL SHUCHU3 LCALL YANSHI LCALL YANSHI LCALL YANSHI sjmp main1;*;功能:從DS18B20中提取溫度,并把高字節(jié)放在R6中,低字節(jié)放在R7 中;其中R7 中的高四位放整數(shù)部分的低四位,R6中的低四位放整數(shù)部分;的高四位,R7的低四位為小數(shù)部分。;輸出:R6、R7;*GET_TEMP1: CLR EA ;使用ds1820一定要禁止任何中斷產(chǎn)生 LCALL RESET1 ;調(diào)用初使化子程序 MOV A,#0C
38、CH LCALL WRITE1 ;送入跳過ROM命令 MOV A, #44H ; LCALL WRITE1 ;送入溫度轉(zhuǎn)換命令 LCALL RESET1 ;溫度轉(zhuǎn)換完全,再次初使化ds18b20 MOV A,#0CCH LCALL WRITE1 ;送入跳過ROM命令 MOV A,#0BEH LCALL WRITE1 ;送入讀溫度暫存器命令 LCALL READ1 MOV R7,A ;讀出溫度值低字節(jié)存入R7 LCALL READ1 MOV R6,A ;讀出謾度值高字節(jié)存入R6 SETB EA RET;-RESET1: ;初始化ds18b20子程序 L01:CLR P1.2 ;復(fù)位: MOV R
39、2,#149 ;4us L11:DJNZ R2,L11 ;596us SETB P1.2 ;釋放ds1820總線: MOV R2,#15 ;4us L41:DJNZ R2,L41 ;60us CLR C ;2us,清存在信號 MOV C,P1.2 ;取存在信號: JC L01 ;存在嗎?不存在則重新來-001 MOV R2,#125 ;有存在就拉高 setb p1.2 L51: DJNZ R2,L51 ;500us RET;-WRITE1: MOV r1,#08H ;設(shè)置寫位個數(shù) WLOP1:RRC A ;把寫的位放到C ACALL WRBIT1 ;調(diào)寫 1位子程序 DJNZ r1,WLOP1
40、 ;8位全寫完? RETWRBIT1: MOV B,#15 ;設(shè)置時間常數(shù) CLR P1.2 ;寫開始 NOP ;2us MOV P1.2,C ;C內(nèi)容到總線,4usWDLT1: DJNZ B,WDLT1 ;60us SETB P1.2 ;釋放總線 RET;-READ1: MOV r1,#8H ;設(shè)置讀位數(shù) RLOP1:ACALL RDBIT1 ;調(diào)讀1位子程序 RRC A ;把讀到位在C中并依次送給A DJNZ r1,RLOP1 ;8位讀完? RETRDBIT1: CLR P1.2 ;讀開始圖2255的t0時刻 NOP ;2us SETB P1.2 ;釋放總線 NOP ;2us內(nèi)容C MOV
41、 B,#13 ;設(shè)置時間常數(shù)RDDLT1:DJNZ B,RDDLT1 ;等待52us RET;*;作用:把小數(shù)部分同整數(shù)部分分開,R6放整數(shù)R7放小數(shù),F(xiàn)0放符號位;輸入:R6R7;輸出:R6R7 F0;*FENLI1: MOV A,R6 MOV F0,C ;符號位 JC FENLI11 SJMP FENLI21FENLI11:MOV A,R6 CPL A MOV R6,A MOV A,R7 CPL A CLR C INC A MOV R7,A MOV A,R6 ADDC A,#00H MOV R6,AFENLI21:MOV 08H,R7 ANL 08H,#0FH ;小數(shù)部分 MOV R0,#
42、12FENLI31:MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A MOV R7,A MOV A,09H RRC A MOV 09H,A ;整數(shù)部分 DJNZ R0,FENLI31 MOV R6,09H ;整數(shù)部份 MOV R7,08H ;小數(shù)部分 RET;*;作用:將R6R7中的二進(jìn)制數(shù)化作BCD碼的形式;輸入:R6 R7;輸出:R4R5R6 R7;*BCD1: MOV A,R6 ;開始處理整數(shù)部分: MOV B,#100 DIV AB MOV R4,A ;存整數(shù)高位 MOV A,B MOV B,#10 DIV AB MOV R5,A ;存整數(shù)中位 MOV R6,B ;存整數(shù)低位 MOV A,R7 ;開始處理小數(shù)部分: MOV B,#5 MUL AB MOV B,#10 DIV AB MOV 08H,A ;進(jìn)位 MOV A,R7 MOV B,#2 MUL AB ADD A,08H MOV B,#10 DIV AB MOV 08H,A ;進(jìn)位 MOV A,R7 MOV B,#6 MUL AB add A,08H MOV B,#10 DIV AB MOV R7,A ;暫存小數(shù)最高位 MOV A,B CLR C SUBB A,#5 JC BCD11 INC R7 BCD11:RET;*;根據(jù)溫度1的大小使系統(tǒng)做出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024裝修增加項目施工合同模板
- 個人經(jīng)營貸款合同樣本
- 2024建筑單包工合同范文
- 2024股份擔(dān)保借款合同范本
- 2024個人住房公積金的借款合同
- 2024動產(chǎn)家具無償寄托合同
- 房產(chǎn)項目合作開發(fā)協(xié)議書
- 三輪車買賣合同完整協(xié)議2024年
- 倉配租賃合同模板
- 工業(yè)用地投資協(xié)議
- S7-1200PLC技術(shù)及應(yīng)用 課件 項目17 步進(jìn)電機(jī)控制
- 《生物技術(shù)制藥》課程介紹與教學(xué)大綱
- 《現(xiàn)代農(nóng)業(yè)技術(shù)推廣》課件-第七組 農(nóng)民問題專題調(diào)研
- 第30課 家居收納技巧 課件 2023-2024學(xué)年蘇教版初中勞動技術(shù)七年級上冊
- 2024中國一汽校園招聘1000+崗位高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- GB/T 19533-2024汽車用壓縮天然氣鋼瓶定期檢驗與評定
- 婦產(chǎn)科護(hù)士晉升述職報告
- 骨髓腔內(nèi)輸液(IOI)技術(shù)
- 建筑幕墻工程(鋁板、玻璃、石材)監(jiān)理實施細(xì)則(全面版)
- 小學(xué)數(shù)學(xué)與思政融合課教學(xué)設(shè)計
- 體育公園運營管理方案
評論
0/150
提交評論