溫度測量報警系統(tǒng)設計_第1頁
溫度測量報警系統(tǒng)設計_第2頁
溫度測量報警系統(tǒng)設計_第3頁
溫度測量報警系統(tǒng)設計_第4頁
溫度測量報警系統(tǒng)設計_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要本論文介紹了一種以單片機為主要控制器件,以DS18B20為溫度傳感器的溫度測量報警系統(tǒng)。主要包括硬件電路的設計和系統(tǒng)程序的設計。硬件電路主要包括主控制器,測溫電路和溫度顯示電路等,主控制器采用單片機AT89C51,溫度傳感器采用美國DALLAS半導體公司生產(chǎn)的DS18B20,顯示電路采用3位數(shù)碼管顯示。本設計中系統(tǒng)程序主要包括DS18B20工作程序、LED顯示子程序、鍵盤輸人程序和溫度檢測報警程序等。此外,還介紹了系統(tǒng)的調(diào)試和性能分析。由于采用了改進型智能溫度傳感器DS18B20作為檢測元件,與傳統(tǒng)的溫度報警系統(tǒng)相比,本設計具有低成本和易使用的特點。DS18B20溫度傳感器還可以在遠距離

2、多點測溫控制等方面進行應用開發(fā),具有很好的發(fā)展前景。關鍵詞:89C51,單片機,DS18B20,傳感器AbstractThis paper presents a microcontroller to the main control device to DS18B20 temperature sensor for measuring the temperature alarm system. Hardware including main circuit design and system design process. Hardware including main controller c

3、ircuit, the circuit temperature and temperature display circuit, the main controller using MCU AT89C51, temperature sensors using U.S. DALLAS Semiconductor production DS18B20, showed that three digital circuits used in a dynamic scanning of the Direct Reading Show. The design of the system procedure

4、s include DS18B20 procedures, LED display routines, keyboard input process and temperature detection alarm procedures.In addition, it introduced a system of debugging and performance analysis. As a result of the improved intelligence DS18B20 as a temperature sensor detection devices, with the tradit

5、ional temperature alarm system compared with the established low-cost and easy to use features. DS18B20 temperature sensor can also long-range multi-point temperature control, and other aspects of application development, has good prospects for development.Key words: 89C51MCU DS18B20 Sensor 目 錄第一章 緒

6、論11.1本課題研究的意義11.2目前發(fā)展狀況1第二章 系統(tǒng)總體設計32.1課題要求簡述32.2工作原理32.3 課題總體設計思路3第三章 系統(tǒng)硬件設計53.1溫度測量模塊設計53.2控制模塊設計123.3顯示輸出設計153.4報警電路設計173.5鍵盤控制器設計183.6電源設計183.7系統(tǒng)硬件連接設計19第四章 系統(tǒng)軟件設計214.1 系統(tǒng)軟件總體工作過程214.2軟件程序214.3 LED數(shù)碼顯示器顯示程序24第五章 結(jié)論25參考文獻26致 謝27第一章 緒論1.1本課題研究的意義在當今科學研究和生產(chǎn)生活中,溫度是一個十分重要的物理量,對它的測量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技

7、術的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度:如大氣及空調(diào)房中溫度的高低,直接影響著人們的身體健康;在大規(guī)模集成電路生產(chǎn)線上,環(huán)境溫度不適當,會嚴重影響產(chǎn)品的質(zhì)量。采用單片機控制溫度,無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,人們對它的要求越來越高。在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機械制造和食品加工等諸多領域中,人們都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用單片機來對溫度進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而

8、且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。近年來隨著計算機在社會領域的滲透,單片機的應用正在各個領域不斷地深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實施檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,所以我們僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),設計單片機外圍設備。數(shù)字溫度傳感器因適用于各種微處理器接口組成的自動溫度控制系統(tǒng)具有可以克服模擬傳感器與微處理器接口時需要信號調(diào)理電路和A/D轉(zhuǎn)換器的弊端等優(yōu)點,現(xiàn)在被廣泛應用于各種溫度控制系統(tǒng)中。DS18B20就是單總線數(shù)字式溫度

9、傳感器。本論文的立足點是,運用比較常規(guī)的溫度傳感器和單片機芯片以及價格低廉的電子元件構(gòu)成低成本、高性能的智能系統(tǒng),努力學習傳感器和單片機的相關知識,熟練掌握,靈活運用,最終實現(xiàn)將智能數(shù)字式溫度測量報警系統(tǒng)應用到更廣泛的領域中去。1.2目前發(fā)展狀況電子儀器是對物質(zhì)世界的信息進行測量與控制的基本手段。傳感器能將各種物理量、化學量和生物量等信號轉(zhuǎn)變?yōu)殡娦盘?,使得人們可以利用計算機實現(xiàn)自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標,還必須懂得傳感器經(jīng)過適當?shù)?/p>

10、接口電路調(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應傳感器的生產(chǎn)、研制、開發(fā)和應用。另一方面,傳感器的被測信號來自于各個應用領域,每個領域都為了改革生產(chǎn)力、提高工效和時效,各自都在開發(fā)研制適合應用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應用之廣,并且還有很大潛力。數(shù)字時代的到來,溫度控制系統(tǒng)越發(fā)顯得重要。習慣上,人們大多仍繼續(xù)使用著傳統(tǒng)的模擬傳感器對溫度進行測量,用機械元件進行溫度控制。一個傳統(tǒng)意義上的溫度控制系統(tǒng)在控

11、制時,首先要經(jīng)過感溫元件,測量電路,放大電路,模數(shù)轉(zhuǎn)換電路后才能得到相應的數(shù)字量信息,然后通過機械元件控制加熱或者冷卻或者報警才能達到對溫度的控制,系統(tǒng)比較繁瑣。這樣在應用實例中許許多多的缺點就暴露了出來。例如,系統(tǒng)的元件比較多,所以必須要考慮的線路環(huán)節(jié)較多,而且器件之間又難免存在著干擾,傳統(tǒng)溫度控制系統(tǒng)對惡劣工作條件適應能力差,不能在極限工作條件下正常工作。利用傳統(tǒng)的模擬信號傳感器實現(xiàn)溫度測量,需要解決引線誤差補償,切換誤差,放大電路零點漂移誤差等問題,傳統(tǒng)的機械元件控制加熱冷卻或者報警存在著控制精度不高,時間控制不準確等問題,并且需要模數(shù)轉(zhuǎn)換等復雜的接口,在實際應用中很是不方便,因此傳統(tǒng)的

12、溫度控制元件正逐步被新型溫度控制器所代替。最近幾年,由于半導體技術的迅猛發(fā)展,數(shù)字化技術推動了信息化的革命,在傳感器和控制器的器件結(jié)構(gòu)上采用數(shù)字化技術,使信息的采集變的更加方便功能強大,精確,價格低廉的數(shù)字式溫度傳感器和控制器不斷的出現(xiàn)。隨著傳感器和控制器這兩個溫度控制器主要元件技術的不斷更新,溫度控制系統(tǒng)也有了長足進步。溫度控制系統(tǒng)正在日趨的集成化和微型化,適應能力也不斷提高。但隨著集成化和微型化的加劇,也出現(xiàn)了若干問題。例如程序設計要求精密無誤,內(nèi)部損壞很難修理等問題。雖然存在一些不足,但是充分利用微處理技術發(fā)展數(shù)字化和集成化的溫度控制系統(tǒng)仍是溫度控制發(fā)展的方向之一。而且在未來的生產(chǎn)生活中

13、,溫度控制系統(tǒng)將被更廣泛的應用。第二章 系統(tǒng)總體設計2.1課題要求簡述 本課題為溫度測量報警系統(tǒng)設計,該系統(tǒng)設計的要求為:(1)設計制作一個具有0100度的數(shù)字溫度表,測量值數(shù)據(jù)用3位數(shù)碼管顯示,其中有一位小數(shù),小數(shù)點能自動移動,小數(shù)點左邊1位以上的零自動熄滅。(2)測量溫度誤差小于0.5度。(3)具有被測溫度上,下限設置功能,當檢測溫度超過上,下限值時,用“嘀嘟”音響發(fā)出報警信號。為達到上述要求,該系統(tǒng)采用了溫度傳感器(內(nèi)置A/D轉(zhuǎn)換器)、單片機控制器、3位數(shù)碼管顯示器及報警設置與控制電路等組成。單片機控制器2.2工作原理數(shù)碼管顯示器溫度傳感器(A/D轉(zhuǎn)換器)超溫報警電路鍵盤控制電路圖2-1

14、 系統(tǒng)總體組成框圖上圖所示智能數(shù)字式溫度測量報警系統(tǒng)的工作原理為:由溫度傳感器采集溫度信號并轉(zhuǎn)換成模擬信號,然后經(jīng)過A/D轉(zhuǎn)換器把模擬信號轉(zhuǎn)換成數(shù)字信號后送入單片機輸入端。單片機根據(jù)輸入端接收到的數(shù)字信號,通過軟件編程,將數(shù)字信號由數(shù)碼管顯示器顯示出來。由鍵盤設置溫度上下限,當溫度超過設置的上下限溫度值時超溫報警器報警。2.3 課題總體設計思路(1)依照課題設計要求,選取AT89C51單片機為核心器件。(2)溫度傳感器采用 DSl8B20 數(shù)字式溫度傳感器。(3)按鍵采用獨立式按鍵,分別為:設置鍵:當該鍵按下時,進入上下限溫度設置狀態(tài)。加一鍵:在輸入上下限溫度時,該鍵按下一次,被調(diào)整位加一。減

15、一鍵:在輸入上下限溫度時,該鍵按下一次,被調(diào)整位減一。 確認鍵:當該鍵第一次按下時,確認所調(diào)上限溫度,當該鍵第二次按下時,確認所調(diào)下限溫度,同時退出設置狀態(tài)。設置鍵(SET)通過P1.0口引腳接入,加一鍵(UP)通過P1.1口引腳接入,減一鍵(DOWN)通過P1.2口引腳接入,確認鍵 (RET) 通過P1.3口引腳接入。(4)LED數(shù)碼顯示管采用動態(tài)掃描顯示法,P0.0P0.7控制LED數(shù)碼顯示管的段選信號,P2.0P2.2控制LED數(shù)碼顯示管的位選信號。(5)當溫度T在(99.9C=T9.9C)范圍時,使第二位數(shù)碼管的dp為低電平,使第一、第三位數(shù)碼管的dp為高電平,第二位數(shù)碼管顯示小數(shù)點亮

16、。(6)當溫度等于100C時,使第三位數(shù)碼管的dp為低電平,使第一、第二位數(shù)碼管的dp為高電平,第三位數(shù)碼管顯示小數(shù)點亮,顯示數(shù)字右移一位。(7)當溫度T在(9.9C=T=0.0C)范圍時,使第一位數(shù)碼管驅(qū)動三極管截止,第一位數(shù)碼管整體不亮。上述操作就可滿足設計要求的第一條(0100度的數(shù)字溫度表,測量值數(shù)據(jù)用3位數(shù)碼管顯示,其中有一位小數(shù),小數(shù)點能自動移動,小數(shù)點左邊1位以上的零自動熄滅。),具體操作由系統(tǒng)軟硬件結(jié)合來完成.第三章 系統(tǒng)硬件設計3.1溫度測量模塊設計1.傳感器的選擇溫度是一種最基本的環(huán)境參數(shù),人民的生活與環(huán)境的溫度息息相關,在工業(yè)生產(chǎn)過程中需要實施測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不

17、開溫度的測量,因此研究溫度的測量方法和裝置具有重要的意義。測量溫度的關鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個發(fā)展階段:傳統(tǒng)的分立式溫度傳感器。模擬集成溫度傳感器。智能集成溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡化的方向飛速發(fā)展。在傳統(tǒng)的模擬信號遠距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術問題,才能夠達到較高的測量精度。為了克服上面提到的三個問題,采用了新型數(shù)字溫度傳感器DS18B20,在對其測溫原理進行詳細分析的基礎上,既提出了提高DS18B20測量精度的方法,又取得了良好的測溫效果。2.

18、 DS18B20的相關概述1:GND為電源地。2:DQ為數(shù)字信號輸入/輸出端。3:VDD為外接供電電源輸入端。圖3-1 DS18B20管腳圖如今,隨著數(shù)字信息技術的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn),溫度自動控制系統(tǒng)在很多領域得到廣泛應用。傳統(tǒng)的溫度控制使用熱敏電阻作為溫度敏感元件。沒有溫度檢測元件和控制元件,雖然成本低,但是因其處理電路簡單,可靠性相對較差,控制準確度和精度都比較低。因此正逐步的被新型溫度傳感器組成的溫度控制系統(tǒng)所代替。本系統(tǒng)采用了美國DALLAS公司最新推出的DS18B20單總線數(shù)字式溫度傳感器,DS18B20是DALLAS公司繼DS1820之后推出的增強型單線數(shù)字溫度傳感器

19、。它在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較DS1820有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領域的溫度測量及控制儀器、測控系統(tǒng)和大型設備中。它具有微型化、低功耗、高性能、抗干擾能力強、易于與微處理器接口等優(yōu)點,適合于各種溫度測控系統(tǒng),如圖 3-1 。與傳統(tǒng)的熱敏電阻溫度傳感器不同,它能夠把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供給微處理機。DS18B20讀出或?qū)懭霐?shù)據(jù)僅需要一根I/O口線即總線,總線本身可以向所有掛接的DS18B20芯片提供電源而不需要額外電源,并且它體積小,電壓適用范圍寬(3V5V),用

20、戶還可以通過編程實現(xiàn)912位的溫度分辨率。因此,它的實用性和可靠性比同類產(chǎn)品更高。該器件將半導體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上,傳感器直接輸出的就是溫度信號數(shù)字值。信號傳輸采用兩芯(或三芯)電纜構(gòu)成多單總線結(jié)構(gòu)。一條單總線電纜上還可以掛接若干個數(shù)字溫度傳感器,每一個傳感器有唯一的地址編碼,微控制器通過對器件的尋址,就可以讀取某一個傳感器的溫度值,從而簡化了信號采集系統(tǒng)的電路結(jié)構(gòu),采集端口的連接線減少了50倍,既節(jié)省了造價,又給現(xiàn)場施工帶來了極大的方便。3.傳感器特點DS18B20的性能特點:采用單總線專用技術,既可通過串行口線,也可通過其它i/o口線與微機接口,無

21、須經(jīng)過其它變換電路,直接輸出被測溫度值。測溫范圍為-55+125,測量分辨率為0.0625;在-10+85時精度為0.5??捎脭?shù)據(jù)線供電,電壓范圍:3.05.5V。負壓特性:電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作??删幊痰姆直媛蕿?12位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625。內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM。適配各種單片機或系統(tǒng)機。用戶可分別設定各路溫度的上、下限。內(nèi)含寄生電源。每個芯片唯一編碼,支持聯(lián)網(wǎng)尋址,零功耗等待。4.內(nèi)部結(jié)構(gòu)DS18B20是實現(xiàn)單總線測控網(wǎng)絡的關鍵器件,它的內(nèi)部結(jié)構(gòu)如圖3-2所示。DS18B20有4個主要的數(shù)據(jù)部件

22、: 64位激光ROM。64位激光ROM從高位到低位依次為8位循環(huán)冗余校驗碼(CRC)發(fā)生器、48位序列號和8位家族代碼(28H)組成。 溫度靈敏元件。 非易失性溫度報警觸發(fā)器TH和TL。可通過軟件寫入用戶報警上下限值。 配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。DS18B20在工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應精度的數(shù)值,其各位定義如圖3-3所示。其中,TM:測試模式標志位,出廠時被寫入0,不能改變;R0、R1:溫度計分辨率設置位,其對應四種分辨率如表1所列,出廠時R0、R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。V

23、DDDQ64位ROM和單線接口存儲器和控制器高速暫存存儲器溫度靈敏原件低溫觸發(fā)器TL高溫觸發(fā)器TH配置寄存器8位CRC生成器電源檢測圖3-2 DS18B20內(nèi)部結(jié)構(gòu)簡圖圖3-3 DS18B20配置寄存器結(jié)構(gòu)圖DS18B20內(nèi)部存儲器由ROM、RAM和E2ROM組成,如表3.1所示。其中,ROM 由64位二進制數(shù)字組成,共分為8個字節(jié),字節(jié)0的內(nèi)容是該產(chǎn)品的廠家代號28H,字節(jié)1字節(jié)6的內(nèi)容是48位器件序列號,字節(jié)7是ROM前56位的CRC校驗碼。由于64位ROM 碼具有唯一性,在使用時作為該器件的地址,通過讀ROM命令可以將它讀出來。表 3.1DS18B20內(nèi)部存儲器結(jié)構(gòu)字節(jié)ROMRAM0產(chǎn)品

24、代號(28H)溫度低8位148位溫度高8位E2ROM2器件序列號TH TH3TL TL 4配置寄存器配置寄存器5-6保留7CRC保留8CRCRAM是由9個字節(jié)的高速暫存器和非易失性電擦寫E2ROM組成。其中字節(jié)0、1存儲當前溫度,字節(jié)2、3存儲上、下限報警溫度TH和TL,字節(jié)4是配置寄存器,字節(jié)8是RAM前64位的CRC校驗碼。RAM 中E2ROM用于存儲TH、TL和配置寄存器的值。數(shù)據(jù)先寫人RAM,經(jīng)校驗后再傳給E2ROM。通過DS18B20功能命令對RAM進行操作。DS18B20可完成對溫度的測量,用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/LSB形式表達,例如+125的數(shù)字

25、輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H,如表3.2所列。表 3.2溫度測量值與數(shù)字量輸出對照溫度數(shù)字量輸出(二進制)數(shù)字量輸出(十六進制)+1250000 0111 1101 000007D0H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 111

26、1 0101 1110FF5EH-25.06251111 1111 0110 1111FF6FH-551111 1100 1001 0000FC90HDS18B20的溫度測量范圍是-55 +125 ,分辨率的默認值12位。表3.3是溫度存儲格式與配置寄存器控制字的格式。由表3.3中可知,檢測溫度由兩個字節(jié)組成,字節(jié)1的高5位s代表符號位,字節(jié)0的低四位是小數(shù)部分,中間7位是整數(shù)部分;字節(jié)2是配置寄存器控制字的格式,當R1R0的值為00B、01B、10B、11B時,對應的分辨率為9、10、11、12位,轉(zhuǎn)換時間為93ms、187ms、375ms、750ms。R1,R0的設定值與位數(shù),分辨率和最大

27、轉(zhuǎn)換時間的關系具體如表3.4所示,可見位數(shù)每減少一位,分辨率同比減少而轉(zhuǎn)換時間則加快一倍。器件上電默認分辨率為12位。表3.3溫度存儲格式與配置寄存器控制字格式Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0字節(jié)0232221202-12-22-32-4字節(jié)1SSSSS262524字節(jié)20R1R011111表 3.4 分辨率和最大轉(zhuǎn)換時間的關系R1R0分辨力/最大轉(zhuǎn)換時間/ms有效位數(shù)000.593.759位(bit11-bit3)010.25187.5010位(bit11-bit2)100.125375.0011位(bit11-bit1)110.0625750.0012位(b

28、it11-bit0)當主機發(fā)出溫度轉(zhuǎn)換命令(44H)時,便啟動了溫度轉(zhuǎn)換過程,轉(zhuǎn)換時間最長750mS。主機通過讀暫存器功能命令(BEH),將溫度值讀出。通過寫暫存器功能命令,改變分辨率的設置。5. DS18B20的通訊協(xié)議數(shù)字式溫度傳感器和模擬傳感器最大的區(qū)別,是將溫度信號直接轉(zhuǎn)化成數(shù)字信號,然后通過串行通信的方式輸出。因此掌握 DS18B20 的通信協(xié)議是使用該器件的關鍵。所有的 DS18B20器件要求采用嚴格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號類型:復位脈沖、應答脈沖時隙;寫“0”寫“1”時隙;讀“0” 讀“1”時隙。與DS18B20 的通信,是通過操作時隙完成單總線上的數(shù)

29、據(jù)傳輸,發(fā)送所有的命令和數(shù)據(jù)時,都是字節(jié)的低位在前,高位在后。(1)工作序列由DS18B20的通訊協(xié)議可知,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都必須要對DS18B20進行復位;復位成功后發(fā)送一條ROM指令;最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。DS18B20等待112-60usDS1820發(fā)應答脈沖60-240usVPGND主機發(fā)送復位脈沖480us主機接收應答脈沖480us圖3-

30、4 復位和應答時隙(2)復位和應答脈沖時隙每個通信周期起始于微控制器發(fā)出的復位脈沖,其后緊跟 DS18B20 發(fā)出的應答脈沖,如圖3-4所示。在寫時隙期間,主機向 DS18B20 器件寫入數(shù)據(jù),而在讀時隙期間,主機讀入來自DS18B20的數(shù)據(jù)。在每一個時隙,總線只能傳輸一位數(shù)據(jù)。圖3-5寫“0”和寫“1” 時隙(3)寫時隙當主機將單總線DQ從邏輯高(空閑狀態(tài))拉為邏輯低時,即啟動一個寫時隙。所有的寫時隙必須在 60120us完成,且在每個循環(huán)之間至少需要1us的恢復時間。寫0和寫1時隙如圖3-5所示。在寫0時隙期間,微控制器在整個時隙中將總線拉低;而寫1時隙期間,微控制器將總線拉低,然后在時隙

31、起始后15us之內(nèi)釋放總線。(4)讀時隙DS18B20器件僅在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù)。所以在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能夠傳輸數(shù)據(jù)。所有讀時隙至少需要60 us。且在兩次獨立的讀時隙之間,至少需要 1us的恢復時間。每個讀時隙都由主機發(fā)起,至少拉低總線1us。讀時隙如圖3-6所示。圖3-6 讀“0”和讀“1” 時隙在主機發(fā)起讀時隙之后,DS18B20器件才開始在總線上發(fā)送“0”或“1”。若DS18B20發(fā)送“1”,則保持總線為高電平。若發(fā)送“0”,則拉低總線,當發(fā)送0時,DS18B20在該時隙結(jié)束后,釋放總線,由上拉電阻將總線拉回至空閑高電平狀態(tài)。

32、DS18B20發(fā)出的數(shù)據(jù),在起始時隙之后保持有效時間15us。因而主機在讀時隙期間,必須釋放總線。并且在時隙起始后的15us之內(nèi)采樣總線狀態(tài)。6. DS18B20測溫精度的提高DS18B20有兩種供電方式:3.0V5.5V的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線獲取電源)。電源檢測電路用于判定供電方式。DS18B20正常使用時的測溫分辨率為0.5,在對DS18B20測溫原理詳細分析的基礎上,我們采取直接讀取DS18B20內(nèi)部暫存寄存器的方法,將DS18B20的測溫分辨率提高到0.10.01DS18B20內(nèi)部暫存寄存器的分布如表3-1所示,其中第7字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器1

33、的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用DS18B20提供的讀暫存寄存器指令(BEH)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計數(shù)器1的計數(shù)剩余值M剩余和每度計數(shù)值M每度。7.DS18B20使用中的注意事項DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便占用口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題: (1)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1

34、8B20進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS18B20操作部分最好采用匯編語言實現(xiàn)。 (2)在DS18B20的有關資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此。當單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。 (3)連接DS18B20的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距

35、離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS18B20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。(4)在DS18B20測溫程序設計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當程序讀該DS18B20時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。3.2控制模塊設計1.單片機控制器系統(tǒng)電路的主芯片采用ATMEL公司的AT89C51單片機。AT89

36、C51是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機AT89C51提供了高性價比的解決方案。 AT89C51是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Fl

37、ash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。圖3-7 AT89C51引腳圖2.主要功能特性:(1)與MCS-51 兼容 (2)4K字節(jié)可編程閃爍存儲器 (3)壽命:1000寫/擦循環(huán)(4)數(shù)據(jù)保留時間:10年(5)全靜態(tài)工作:0Hz-24Hz(6)三級程序存儲器鎖定(7)1288位內(nèi)部RAM(8)32可編程I/O線(9)兩個16位定時器/計數(shù)器(10)5個中斷源 (11)可編程串行通道(12)低功耗的閑置和掉電模式(13)片內(nèi)振蕩器和時鐘電路 3.管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL

38、門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”

39、時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

40、P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間

41、,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。/VPP:當保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH)

42、,不管是否有內(nèi)部程序存儲器。注意加密方式1時,將內(nèi)部鎖定為RESET;當端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信

43、號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.3顯示輸出設計 LED數(shù)碼顯示器是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED發(fā)光二極管,其中7個用于顯示字符,1個用于顯示小數(shù)點,故通常稱之為7段(也有稱作8段)

44、發(fā)光二極管數(shù)碼顯示器。其內(nèi)部結(jié)構(gòu)如圖3-8所示。圖3-8數(shù)碼管示意圖1.LED數(shù)碼顯示器有兩種連接方法:(1)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。(2)共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。2.LED顯示器驅(qū)動方式LED顯示器驅(qū)動方式可以分為靜態(tài)顯示驅(qū)動和動態(tài)顯示驅(qū)動兩種。靜態(tài)顯示驅(qū)動一般是通過數(shù)字集成電路對所需要顯示的字符筆段連續(xù)施加電壓;而動態(tài)顯示驅(qū)動則是利用矩陣掃描方式間斷向所需要顯示的字符筆段輪流施加電壓。(1)靜態(tài)顯示驅(qū)動當LE

45、D顯示器工作于靜態(tài)顯示驅(qū)動方式時,不同數(shù)位的LED數(shù)碼管的公共極(共陰極或共陽極)將被連接在一起并接地或+5V,而每個數(shù)位的8根筆段線分別和一個8位鎖存器相連。不同數(shù)位的數(shù)碼管相互獨立,分別用不同的驅(qū)動器件進行驅(qū)動,它們的顯示字符一旦確定,只要不改變顯示字符,相應的鎖存器的輸出就一直不變。這種驅(qū)動方式的優(yōu)點是編程容易、管理簡單、顯示亮度高、穩(wěn)定性好,占用CPU時間較少;其缺點是占用硬件電路和微處理器系統(tǒng)接口資源較多、引線多、印刷版布線復雜、硬件投入成本高。(2)動態(tài)顯示驅(qū)動當LED顯示器工作于動態(tài)顯示驅(qū)動方式時,通常把不同位數(shù)的同名筆段互連起來,共用一個顯示驅(qū)動器。每一個位數(shù)的字符顯示都需要靠

46、筆段字型驅(qū)動和位數(shù)驅(qū)動相配合,如果需要在不同數(shù)位上顯示不同字符,可以依次傳送需要顯示字符筆段的字型碼,接著選通相應數(shù)位顯示該字符,持續(xù)施加一段時間的電壓,然后再顯示下一個數(shù)位的字符。動態(tài)顯示驅(qū)動方式的優(yōu)點是引線少、線路簡單、硬件成本相對較低。其缺點是需要不斷刷新,當采用軟件掃描時,占用CPU的時間較多;當采用硬件掃描時,又會增加硬件成本,LED顯示數(shù)位越多,顯示亮度越低,若處理不好或位太多,將會引起顯示閃爍。3.數(shù)據(jù)輸入接口方式(1)并行輸入數(shù)據(jù)并行輸入方式是以并行方式傳送數(shù)據(jù),其優(yōu)點是傳送數(shù)據(jù)速度快,其缺點是需要占用較多的I/O接口線。(2)串行輸入數(shù)據(jù)串行輸入方式是以串行方式傳送數(shù)據(jù),其優(yōu)

47、點是占用I/O接口資源少,其缺點是傳送數(shù)據(jù)速度相對慢。4. 七段LED顯示器結(jié)構(gòu)與原理七段顯示器由七條發(fā)光二極管組成顯示字段,這七段發(fā)光管分別稱為a、b、c、d、e、f、g,有的還帶有一個小數(shù)點dp。將七段發(fā)光管陰極都連在一起,成為共陰極接法,當某個字段的陽極為高電平時,對應的字段就點亮。共陽極接法就是將LED顯示器所有陽極并接后連到+5V電源上,當某一字段的陰極為0時,對應的字段就點亮。通過七段的不同組合控制,可以顯示09和AF共16個數(shù)字、字母、實現(xiàn)十六進制顯示。加在7段陽極上的電壓可以用數(shù)字量表示,對于共陽極,如果某位為1,則對應段發(fā)光;如為零,則不發(fā)光。數(shù)字量與段的對應關系如下: D7

48、 D6 D5 D4 D3 D2 D1 D0dp g f e d c b a本系統(tǒng)輸出顯示采用并行輸入、共陽極接法的LED數(shù)碼顯示器,并采用了具有一定驅(qū)動能力的74LS273集成電路芯片做LED數(shù)碼管的驅(qū)動器。為了節(jié)省硬件資源,LED數(shù)碼管采用動態(tài)掃描顯示,且字型碼由軟件產(chǎn)生。3.4報警電路設計報警電路采用普通的蜂鳴器,蜂鳴器通常工作電流較大,電路上的TTL電平基本上驅(qū)動不了蜂鳴器,需要增加一個三極管來增加通過蜂鳴器的電流,見下面硬件原理圖。當溫度達到設定的上下限時,通過程序控制使P1.7管腳置低電平,從而使三極管導通,蜂鳴器發(fā)出嘀嘟報警音。3.5鍵盤控制器設計為了達到設定溫度上下限超溫報警值,

49、本系統(tǒng)采用了鍵盤輸入電路。它可以完成溫度上下限報警值的設定,它具有設置(SET)、加1(UP)、減1(DOWN)、確定(RET)等功能。硬件原理圖中,四個按鍵開關的設置操作如下:(1)按K1進入溫度報警值設置(SET)狀態(tài),此時數(shù)碼管顯示溫度上限超溫報警值(例如:當時是+80C)。(2)若想將當前設定值提高,按K2進行溫度設定值加1(UP)調(diào)整(例如:按5次K2報警值變?yōu)?85C)。(3)若想將當前設定值減少,按K3進行溫度設定值減1(DOWN)調(diào)整(例如:按5次K3報警值變?yōu)?75C)。(4)按K4將當前的設定值確認為溫度上限報警值,并同時進入溫度下限報警設置狀態(tài)(例如:當時是+10C)。(

50、5)若想將當前設定值提高,按K2進行溫度設定值加1(UP)調(diào)整(例如:按3次K2報警值變?yōu)?13C)。(6)若想將當前設定值減少,按K3進行溫度設定值減1(DOWN)調(diào)整(例如:按3次K3報警值變?yōu)?7C)。(7)再按K4將當前的設定值確認為溫度下限報警值,并同時退出設定溫度報警值狀態(tài)。3.6電源設計本設計用到電源為+5V電源。圖3-9中電路提供+5V的電源;主要用于單片機(AT89C51)、數(shù)碼管顯示與驅(qū)動電路(包括74LS273)、傳感器與報警器的供電。圖3-9 +5V電源78XX/79XX系列是常用三端固定電壓集成線性穩(wěn)壓器,78XX系列為正電壓輸出穩(wěn)壓器,79XX為負電壓輸出穩(wěn)壓器。它

51、們簡單易用、價格低廉,廣泛應用于各種電子設備。在降壓電路中應注意以下事項:(1)輸入輸出壓差不能太大,太大則轉(zhuǎn)換效率急速降低,而且容易擊穿損壞;(2)輸出電流不能太大,1.5A是其極限值。大電流的輸出,散熱片的尺寸要足夠大,否則會導致高溫保護或熱擊穿;(3)輸入輸出壓差也不能太小,否則效率會很差。3.7系統(tǒng)硬件連接設計系統(tǒng)主要硬件設計如圖3-11所示,除了以上介紹的AT89C51、DS18B20、數(shù)碼顯示器、報警電路之外還包括晶振、鍵盤按鈕、三極管、電容、電阻等器件。整個硬件系統(tǒng)主要以DS18B20和AT89C51為主,如圖3-10所示,DS18B20把測量的溫度轉(zhuǎn)化為數(shù)字信號傳送給AT89C

52、51,由AT89C51對信號進行判斷,并給出相應的信號發(fā)送各個元件,各個元件得到AT89C51發(fā)送來的不同信號信號后執(zhí)行各自功能。判斷后傳遞給其他元件把溫度轉(zhuǎn)化成數(shù)字信號AT89C51單片機DS18B20溫度傳感器其他元件圖3-10 信號傳遞流程圖圖3-11 硬件設計電路圖第四章 系統(tǒng)軟件設計智能數(shù)字式溫度測量報警系統(tǒng)軟件的應用程序主要包括:DS18B20工作程序、LED顯示子程序、鍵盤輸人程序和溫度檢測報警程序等。4.1 系統(tǒng)軟件總體工作過程開機后主機首先發(fā)一復位脈沖,使信號線上的DS18B20芯片復位,接著發(fā)送跳過ROM 操作命令(因為本系統(tǒng)只采用了單只DS18B20溫度傳感器),準備接收

53、下面的內(nèi)存訪問命令。內(nèi)存訪問命令控制DS18B20的工作狀態(tài),完成整個溫度轉(zhuǎn)換、讀取等工作(單總線在ROM命令發(fā)送之前存儲命令和控制命令不起作用)。其測溫工作的流程圖如圖4-1所示,在對DS18B20進行操作的整個過程中,主要包括:啟動在線DS18B20作溫度轉(zhuǎn)換、讀取在線DS18B20溫度值、將讀出的溫度值存入寄存器。然后通過寄存器的溫度與報警值比較(當溫度等于事先設定的上下限溫度報警值時,蜂鳴器啟動報警)后,調(diào)用數(shù)碼顯示器子程序,將溫度值顯示在數(shù)碼管上,此時完成一個循環(huán)程序后,接著進入到下一個循環(huán)程序。開始系統(tǒng)初始化發(fā)送跳過ROM指令發(fā)送溫度轉(zhuǎn)換指令再次初始化DS18B20發(fā)送跳過ROM指

54、令讀出溫度值存入寄存器Y報警溫度報警值N調(diào)用數(shù)碼顯示器子程序更新數(shù)碼管顯示 圖4-1 DS18B20測溫工作流程圖4.2軟件程序DS18B20的命令集ROM操作命令Read ROM 33H (讀ROM)Match ROM 55H(匹配ROM)Skip ROM CCH (跳過ROM)Search ROMF0H (搜索ROM)Alarm search ECH(告警搜索)存儲器操作命令 Write Scratchpad4EH(寫暫存存儲器)Read ScratchpadBEH(讀暫存存儲器) Copy Scratchpad 48H (復制暫存存儲器)Convert Temperature44H (溫度變換)Recall EPROMB8

溫馨提示

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

評論

0/150

提交評論