基于單片機的數(shù)字溫度計設(shè)計_第1頁
基于單片機的數(shù)字溫度計設(shè)計_第2頁
基于單片機的數(shù)字溫度計設(shè)計_第3頁
基于單片機的數(shù)字溫度計設(shè)計_第4頁
基于單片機的數(shù)字溫度計設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 機電工程系畢業(yè)設(shè)計畢業(yè)設(shè)計(論文)題 目班 級姓 名指導(dǎo)教師基于單片機的數(shù)字溫度計設(shè)計摘 要本文設(shè)計了一款以單片機AT89S52作為控制器,用溫度傳感器DS18B20作為溫度采集器,由LED數(shù)碼管作為顯示器件的數(shù)字溫度計,該數(shù)字溫度計能夠測出-55+125之間的溫度,文中詳細介紹了AT89S52單片機和DS18B20數(shù)字溫度傳感器芯片的選取、單片機與溫度傳感器接口電路及單片機與LED數(shù)碼管接口電路的設(shè)計,以及實現(xiàn)溫度信息采集和數(shù)據(jù)傳輸?shù)能浖幊虒崿F(xiàn)的方法,通過調(diào)試運行,所設(shè)計的數(shù)字溫度計能達到相關(guān)設(shè)計要求。該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。關(guān)鍵

2、詞 AT89S52單片機,數(shù)字溫度計,DS18B20傳感器芯片DESIGN OF DIGITAL THERMOMETERBASED ON AT89S52ABSTRACTIn this paper, A microcontroller AT89S52 is designed as a controller .as the temperature with a temperature sensor DS18B20 collector ,as the LED digital display digital thermometer , digital thermometer that can meas

3、ure between -55125 temperature .The paper details the AT89S52 microcontroller and DS18B20 digital temperature sensor chip select, the microcontroller and the temperature sensor interface circuit and microcontroller and LED digital tube interface circuit design, and implement the temperature informat

4、ion collection and data transfer software programming approach by commissioning , digital thermometer designed to meet the relevant design requirements. The system is simple and strong interference capability, suitable for harsh environments spot temperature measurement, a wide range of applications

5、.KEYWORDS AT89S52Microcontroller, Temperature measurement system, DS18B20 sensor目 錄第一章 緒 論11.1 選題的背景和意義11.2 數(shù)字溫度計的概述11.3 設(shè)計思路21.4 設(shè)計要求21.5 系統(tǒng)說明及使用說明2第二章 設(shè)計方案論證和系統(tǒng)的整體設(shè)計42.1 設(shè)計方案論證42.1.1 設(shè)計方案一42.1.2 設(shè)計方案二42.1.3 設(shè)計方案三42.2 系統(tǒng)整體設(shè)計方框圖5第三章 系統(tǒng)主要器件選擇63.1 AT89S52單片機內(nèi)部結(jié)構(gòu)63.2 溫度傳感器DSl8B20簡介93.2.1 DSl8B20性能特點93.

6、2.2 引腳排列與功能103.2.3 DSl8B20溫度測量原理圖113.2.4 運用告警信號113.2.5 單總線(single一bus)技術(shù)123.2.6 DS18B20的特性123.3 顯示器件LED數(shù)碼管13第四章 硬件設(shè)計144.1 系統(tǒng)硬件設(shè)計144.2 主板電路144.3 顯示電路154.4 DS18B20與單片機接口電路164.5 總電路圖17第五章 系統(tǒng)軟件設(shè)計185.1 主程序185.2 讀出溫度子程序流程圖195.3 溫度轉(zhuǎn)換命令子程序205.4 計算溫度子程序205.5 顯示數(shù)據(jù)刷新子程序21第六章 調(diào)試及性能分析236.1 軟件調(diào)試236.2 系統(tǒng)調(diào)試236.3 數(shù)據(jù)

7、檢測236.4 性能分析24結(jié)束語25致 謝26參考文獻27附 錄28第1章 緒 論1.1 選題的背景和意義 隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。溫度測量在物理實驗、醫(yī)療衛(wèi)生、食品生產(chǎn)等領(lǐng)域,尤其在熱學(xué)試驗(如:物體的比熱容、汽化熱、熱功當量、壓強溫度系數(shù)等教學(xué)實驗)中,有特別重要的意義?,F(xiàn)在所使用的溫度計通常都是精度為1和0.1的水銀、煤油或酒精溫度計。這些溫度

8、計的刻度間隔通常都很密,不容易準確分辨,讀數(shù)困難,而且他們的熱容量還比較大,達到熱平衡所需的時間較長,因此很難讀準,并且使用非常不方便。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確等優(yōu)點,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。 目前溫度計的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等,溫度計中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。但是,作為應(yīng)用系統(tǒng)設(shè)計人員需要根據(jù)系統(tǒng)要

9、求選用適宜的傳感器,并與自己設(shè)計的系統(tǒng)連接起來,從而構(gòu)成性能優(yōu)良的監(jiān)控系統(tǒng)。1.2 數(shù)字溫度計的概述隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn)能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。選用AT89C2051型單片機作為主控制器件,DSl8B20作為測溫傳感器通過4位共陽極LED數(shù)碼管串口傳送數(shù)據(jù),實現(xiàn)溫度顯示。通過DSl8B20直接讀取被測溫

10、度值,進行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在-55+125最大線性偏差小于05。該器件可直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數(shù)據(jù)傳輸與處理過程。1.3 設(shè)計思路大多單片機接口輸入的信號是數(shù)字信號,或有帶AD轉(zhuǎn)換的高端單片機也可以輸入模擬信號。由單片機獲取非電信號的溫度信息,必須通過溫度傳感器。傳統(tǒng)的溫度測量多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度精度低,而且還需經(jīng)AD轉(zhuǎn)換成數(shù)字信號后才能由單片機進行處理。因此,使用數(shù)字溫度傳感器可簡化硬件設(shè)計、方便單片機讀取數(shù)據(jù)、節(jié)約成本。設(shè)計單片機數(shù)字溫度

11、計需要考慮以下3個方面:(1)溫度傳感器芯片的選擇;(2)單片機和溫度傳感器的接口電路設(shè)計;(3)控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖?.4 設(shè)計要求本次設(shè)計的數(shù)字顯示溫度計,需滿足以下設(shè)計要求:1)用LED數(shù)碼管或LED顯示溫度值;2)溫度測量范圍:-55-+125;3)溫度精度:±0.5; 4)溫度顯示分辨:0.1。1.5 系統(tǒng)說明及使用說明本裝置的功能是對溫度進行實時監(jiān)測與控制,有溫度傳感器DS18B20對溫度進行采樣和轉(zhuǎn)換成數(shù)字信號送入單片機,并與設(shè)定的報警溫度上、下限值進行比較,信息通過LED顯示出來。如果實時溫度超過上下限值,一方面由LED顯示信息,并發(fā)出報

12、警聲;另一方面自動控制繼電器接通或者斷開,從而控制加熱源的開與斷,達到對溫度進行實時控制的目的。在這次的設(shè)計中用的開發(fā)工具是PROTUES,由于該開發(fā)工具穩(wěn)定,而且操作方便,故選擇了此開發(fā)工具。打開keil,輸入所編寫的源程序并對程序進行編譯,在軟件的幫助下檢查其中的錯誤并進行反復(fù)修改,直到編譯正確后運行,確保沒有錯誤以后對正確的源程序進行保存,保存時給其命名,以便將來載入程序時容易找到。本系統(tǒng)具有較強的實用價值,使用時,只要將其放在需要測量的地方接通電源就可以了,并且可以根據(jù)季節(jié)來設(shè)定不同的報警溫度,設(shè)置時可以通過按鍵來實現(xiàn):K1為設(shè)定值加減方式選擇鍵;K2為TH值設(shè)定鍵;K3為TL值設(shè)定鍵

13、;K4為確定鍵。當超過報警最高的溫度時,會自動報警并接通散熱系統(tǒng),相反,當?shù)陀谧畹蜏囟葧r,會接通加熱系統(tǒng)并報警。實時溫度可以在LED上顯示,使用時,可以將LED接在隨時都可以看見的地方,便于隨時掌握實時溫度。第2章 設(shè)計方案論證和系統(tǒng)的整體設(shè)計2.1 設(shè)計方案論證2.1.1 設(shè)計方案一利用LM35溫度感應(yīng)器在溫度變化時轉(zhuǎn)化成電壓的等比例變換,然后通過數(shù)碼顯示管以數(shù)字的顯示顯示出來。此電路圖的核心元件是利用ICL7107來完成功能的轉(zhuǎn)換,ICL7107是一塊應(yīng)用非常廣泛的集成電路。它包含3 1/2位數(shù)字A/D轉(zhuǎn)換器,可直接驅(qū)動LED數(shù)碼管,內(nèi)部設(shè)有參考電壓、獨立模擬開關(guān)、邏輯控制、顯示驅(qū)動、自動

14、調(diào)零功能等。制作時,數(shù)字顯示用的數(shù)碼管為共陽型,2K可調(diào)電阻最好選用多圈電阻,分壓電阻選用誤差較小的金屬膜電阻,其它器件選用正品即可。該電路稍加改造,還可演變出很多電路,如數(shù)顯電流表、數(shù)顯溫度計等. 靜默電流溫度關(guān)系。硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高,精度不高,不適合在高精度場合使用。2.1.2 設(shè)計方案二利用集成溫度傳感器AD590設(shè)計并制作了一款基于AT89C51的4位數(shù)碼管顯示的數(shù)字溫度計,其電路簡單,軟硬件結(jié)構(gòu)模塊化,易于實現(xiàn)。該數(shù)字溫度計利用AD590集成溫度傳感器及其接口電路完成溫度的測量并轉(zhuǎn)換成模擬電壓信號,經(jīng)由模數(shù)轉(zhuǎn)換器ADC0804轉(zhuǎn)換成單片機能夠處理的數(shù)字信號,然后送

15、到單片機AT89C51中進行處理變換,最后將溫度值顯示在D4、D3、D2、D1共位七段碼LED顯示器上。系統(tǒng)以AT89C51單片機為控制核心,加上AD590測溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫度數(shù)據(jù)顯示電路以及外圍電源、時鐘電路等組成。本設(shè)計和方案一一樣采用模數(shù)轉(zhuǎn)換。硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。故溫度計不穩(wěn)定精度不高,不適合在高精度場合使用。2.1.3 設(shè)計方案三在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。本數(shù)字溫度計設(shè)計

16、采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進型智能溫度傳感DS18B20作為檢測元件,溫度范圍為-55125,最大分辨率在0.0625。DS18B20可以直接讀出溫度被測溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由3個模塊組成:主控制器、測溫電路、顯示電路。數(shù)字溫度計總體電路結(jié)控制器使用單片機AT89S52,溫度傳感器使用DS18B20,用4位共陽LED數(shù)碼管以動態(tài)掃描實現(xiàn)溫度顯示。此電路溫度分辨率高、電路簡單、可靠,可以再較高環(huán)境要求下準確測溫,故采用此方案。2.2 系統(tǒng)整體設(shè)計方框圖溫度計電路設(shè)計總

17、體設(shè)計方框圖如圖1-1所示控制器采用單片機AT89S52溫度傳感器采用DSl8B20用4位LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。主控制器單片機復(fù)位LED顯示溫度傳感器報警電路晶體振蕩圖2-1.整體設(shè)計方框圖第3章 系統(tǒng)主要器件選擇3.1 AT89S52單片機內(nèi)部結(jié)構(gòu)  AT89S52是MCS-52系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。    AT89S52單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們

18、分別加以說明:其結(jié)構(gòu)如圖3-1·中央處理器:  中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲器(RAM)   AT89S52內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖3-1 AT89

19、S52單片機的結(jié)構(gòu)框圖程序存儲器(ROM):AT89S52共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。·定時/計數(shù)器(ROM):AT89S52有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。·并行輸入輸出(I/O)口:AT89S52共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。·全雙工串行口:AT89S52內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。·中斷系統(tǒng):AT89S52具備較完善的中斷功能,有兩個外中斷、

20、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。·時鐘電路:AT89S52內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但AT89S52單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。AT89S52引腳說明:MCS-52系列單片機中的8

21、031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:如圖3-2所示圖3-2 AT89S52單片機引腳圖 Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當AT89S52通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從000

22、0H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),AT89S52的初始態(tài)。AT89S52的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖3-3。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。圖3-3 時鐘電路·Pin30:ALE/PROG當訪問外部存儲器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而當訪問內(nèi)部存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈

23、沖。如果單片機是EPROM,在編程其間,PROG將用于輸入編程脈沖。·Pin29:PESN當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。·Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3.2 溫度傳感器

24、DSl8B20簡介DSl8820是美國達拉斯(Dallas)公司的單線數(shù)字溫度傳感器芯片,與傳統(tǒng)的熱敏電阻不同。DSl8B20可直接將被測溫度轉(zhuǎn)換為串行數(shù)字信號,供單片機處理。通過編程,DSl8B20可以實現(xiàn)912位的溫度讀數(shù),并可分別在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量。其測溫范圍一55一十125,最大分辨率為0062 5,在一10+85范圍內(nèi)其測溫準確度為±0.5。DSl8B20具有體積小、功耗低、抗干擾能力強、易與微處理器連結(jié)等特點而且它無需任何外圍硬件即可方便地進行溫度測量,與單片機交換信息僅需要一根IO口線,其讀寫及溫度轉(zhuǎn)換的功率也可來源于數(shù)據(jù)總線,而無需

25、額外電源。另外,每片DSl8B20都設(shè)有唯一的產(chǎn)品序列號,存放在它的內(nèi)部ROM中,單片機通過簡單的協(xié)議就能識別這個序列號。因此,多個DSl8B20可以掛接于同一條單線總線上,特別適合構(gòu)成多點溫度測控系統(tǒng)。3.2.1 DSl8B20性能特點(1)獨特的單線接口,僅需1個IO口引腳即可通信,無需變換其它電路,直接輸出被測溫度值的數(shù)字信號;(2)多點(multidrop)能力使分布式溫度檢測應(yīng)用得以簡化:(3)不需要外部元件;(4)既可用數(shù)據(jù)線供電,也可采用外部電源供電; (5)零待機功耗,不需備份電源;(6)測量范圍為一55+125,固有測溫分辨率為05;(7)通過編程可實現(xiàn)912位的數(shù)字讀數(shù)方式

26、;(8)溫度數(shù)字量轉(zhuǎn)換時間200ms(典型值);(9)用戶可定義非易失性的溫度告警設(shè)置;(10)警告搜索命令能識別和尋址溫度在編定的極限之外的器件(溫度警告情況);(11)應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費類產(chǎn)品、溫度計或任何熱敏系統(tǒng).3.2.2 引腳排列與功能DSl8B20采用3腳TO一92封裝或8腳SOIC封裝,其外部形狀及管腳圖如圖34所示。圖中GND為地,DQ為數(shù)據(jù)輸入輸出端,該腳為漏極開路輸出。常態(tài)下呈高電平,可選用的VDD引腳,不用時應(yīng)接地。SOIC封裝的NC為空引腳。 圖34引腳排列與功能3.2.3 DSl8B20溫度測量原理圖 DSl8B20測量溫度使用了DALLAS特有的溫

27、度測量技術(shù)。DSl8B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號fo,高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)換成頻率信號fo當計數(shù)門打開時,DSl8B20對毛計數(shù),計數(shù)門開通時間由高溫度系數(shù)振蕩器決定。芯片內(nèi)部還有斜率累加器,可對頻率的非線性予以補償。測量結(jié)果暫存于溫度寄存器中,用單片機可以方便地將其讀出來。如圖35所示斜率累加器減法計數(shù)器1技術(shù)比較器預(yù)置減到0溫度寄存器低溫度系數(shù)震蕩器預(yù)置減法計數(shù)器2減到0高溫度系數(shù)振蕩器增加停止圖35 測溫原理圖3.2.4 運用告警信號在DSl8B20完成溫度變換之后,溫度值與儲存在TH和TL內(nèi)的告警觸發(fā)值進行比較。由于是8位寄存器,所以912位在比較時忽略。

28、TH或TL的最高位直接對應(yīng)于16位溫度寄存器的符號位。如果溫度測量的結(jié)果高于TH或低于TL,那么器件內(nèi)告警標志將置位,每次溫度測量都會更新此標志。只要告警標志置位,DSl8B20就將響應(yīng)告警搜索命令,這也就允許單線上多個DSl8B20同時進行溫度測量,即使某處溫度越限,也可以識別出正在告警的器件。3.2.5 單總線(single一bus)技術(shù)目前,微機和外設(shè)之間數(shù)據(jù)傳輸?shù)拇锌偩€常用的有C總線、SPI總線等。其中,C總線采用同步串行兩線(一根時鐘線、一根數(shù)據(jù)線)方式,而SPI總線采用同步串行三線(一根時鐘線、一根輸入線、一根數(shù)據(jù)輸出線)方式。美國達拉斯半導(dǎo)體公司推出了一項特有的單線(singl

29、ebus)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號線,既可傳輸時鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。這種單線技術(shù)具有線路簡單、便于擴展的優(yōu)點。單線技術(shù)適用于單主機系統(tǒng),單主機能夠控制一個或多個從機設(shè)備,它們之間的數(shù)據(jù)交換、控制都由這根線來完成。主機和從機之間的通信主要分為3個步驟:初始化單線器件、識別單線器件和單線數(shù)據(jù)傳輸。由于只有一根線通信,所以它們必須是嚴格的主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,主機訪問每個單線器件必須嚴格遵循單線命令序列,如果命令序列混亂,單線器件將不會響應(yīng)主機。3.2.6 DS18B20的特性DS18B20 是一種數(shù)字式的溫度傳感器, 在其內(nèi)部使用了在(O

30、n-Borad)專利技術(shù)。使其具有以下特性:·單線接口, 只需一根口線與CPU 連接;·不需要外部元件, 不需要備份電源, 可用數(shù)據(jù)線供電;·支持多點組網(wǎng)功能, 多個DS18B20 可以并聯(lián)在唯一的三線上;·溫度測量范圍從- 50 125;·通過編程可實現(xiàn)1ö 2 1ö16 的四級精度轉(zhuǎn)換;·在93. 75m s 和750m s 內(nèi)將溫度值轉(zhuǎn)化9 位和12 位的數(shù)字量;·用戶可自設(shè)定非易失性的報警上下限值;·報警搜索命令可以識別哪片DS18B20 溫度超限;·芯片本身帶有命令集和存儲器

31、3.3 顯示器件LED數(shù)碼管 LED數(shù)碼管分共陽極與共陰極兩種,其工作特點是,當筆段電極接低電平,公共陽極接高電平時,相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負極)短接后作為公共陰極。當驅(qū)動信號為高電平、?端接低電平時,才能發(fā)光。LED的輸出光譜決定其發(fā)光顏色以及光輻射純度,也反映出半導(dǎo)體材料的特性。常見管芯材料有磷化鎵(GaP)、砷化鎵(GaAs)、磷砷化鎵(GaAsP)、氮化鎵(GaN)等,其中氮化鎵可發(fā)藍光。發(fā)光顏色不僅與管芯材料有關(guān),還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼管。其它顏色LED數(shù)碼管的光譜曲線形狀與之

32、相似,僅入,值不同。LED數(shù)碼管的產(chǎn)品中,以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當PN結(jié)導(dǎo)通時,依靠少數(shù)載流子的注人及隨后的復(fù)合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)ㄖ?,正向電流近似于零,筆段不發(fā)光。當電壓超過開啟電壓時,電流就急劇上升,筆段發(fā)光。因此,LED數(shù)碼管屬于電流控制型器件,其發(fā)光亮度L(單位是cd/m2)與正向電流IF有關(guān),用公式表示:L=KIF即亮度與正向電流成正比。LED的正向電壓U,則與正向電流以及管芯材料有關(guān)。使用LED數(shù)碼管時,工作電流一般選10mA左右段,既保證亮度適中,又不會損壞器件。LED數(shù)碼管的引腳配

33、置與兩種接法如圖3-6 圖3-6 LED數(shù)碼管的引腳與接法 第4章 硬件設(shè)計4.1 系統(tǒng)硬件設(shè)計由AT89S52構(gòu)成的溫度計主要由三部分組成:DSl8820溫度傳感器、單片機AT89S52、由LED數(shù)碼管構(gòu)成的顯示模塊。其系統(tǒng)原理框圖如圖41所示。DSl8820作為單片機AT89S52的外部信號源,把所采集到的溫度轉(zhuǎn)換為數(shù)字信號,通過IO接口傳給C52,C52啟動ROM內(nèi)的控制程序驅(qū)動LED數(shù)碼管,通過I0接口和數(shù)據(jù)傳送給數(shù)碼管,將采集到的溫度顯示出來。溫度及原理框圖:溫度傳感器DS18B20單片機AT89S52LED數(shù)碼管圖4-1 溫度計原理框圖4.2 主板電路系統(tǒng)整體硬件電路包括,傳感器數(shù)

34、據(jù)采集電路。溫度顯示電路。上下限報警調(diào)整電路,單片機主板電路等,如圖4-2所示。 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。可以根據(jù)所屬程序設(shè)置溫度及上下限報警設(shè)置。蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時。發(fā)出報警嗚叫聲音,同時LED數(shù)碼管將沒有被測溫度值顯示,這時可以調(diào)整報警上下限。從而測出被測的溫度值。圖中復(fù)位電路為上電復(fù)位,設(shè)計簡單。圖4-2 單片機主板電路4.3 顯示電路顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點就是使用口資源比較少只用p3門的RXD.和TXD串口的發(fā)送和接收,四只數(shù)碼管采用8個電阻代替74LS64右移寄存器驅(qū)動

35、.圖4-3 溫度顯示電路4.4 DS18B20與單片機接口電路 DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖44 所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。當DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著

36、嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 圖4-4 DS18B20與單片機的接口電路4.5 總電路圖基于AT89S51的溫度測量系統(tǒng)電路圖把溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補碼形式,占兩個字節(jié)),若采用帶屏蔽的雙絞電纜線,連線的長度可以達到150m,輸出腳IO直接與單片機的P3.4相連,

37、R。為上拉電阻,傳感器采用外部電源供電。AT89S52是整個系統(tǒng)的核心部分,內(nèi)含2 KB的FLASH RoM,用戶程序存放在這里。顯示器模塊由四位一體的共陽數(shù)碼管和四個9012組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照DSl8B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。 產(chǎn)品的主要技術(shù)指標:測量范圍:一55+125,測量精度:05;反應(yīng)時間小于等于500ms。圖45 基于AT89S52單片機設(shè)計第5章 系統(tǒng)軟件設(shè)計系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序、計算溫度子程序和顯示刷新子程序等。5.1 主程序主程序的

38、主要功能是負責(zé)溫度的實時顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1s進行一次。其程序流程圖如圖51所示初始化 調(diào)用顯示子程序 1S N初 次上 電 Y N Y讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令圖5-1 主程序流程圖5.2 讀出溫度子程序流程圖讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖52所示開始發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗 Y9字節(jié)完? N YCNC校驗正確? N Y移入溫度暫存器 返回圖52 讀出子程序流程圖5.3 溫度轉(zhuǎn)換命令子程序

39、溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當采用12位分辨率,時轉(zhuǎn)換時間約為750ms。在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。其程序流程圖如圖53所示開始發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖5-3 溫度轉(zhuǎn)換流程圖5.4 計算溫度子程序計算溫度子程序?qū)⒅凶x取值進行碼的轉(zhuǎn)換運算,并進行溫度值正負的判定,其程序流程圖如圖54所示開始溫度零下? N Y置“+”標志溫度值取補碼置“”標志計算小數(shù)位溫度BCD碼計算溫度BCD碼結(jié)束圖5-4 計算溫度子程序流程圖5.5 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當最高顯示位為0

40、時,將符號顯示位移入下一位。程序流程圖如圖55所示溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號)結(jié)束NYNY圖5-5 顯示數(shù)據(jù)刷新子程序流程圖第6章 調(diào)試及性能分析6.1 軟件調(diào)試本次設(shè)計系統(tǒng)的調(diào)試以程序的調(diào)試為主。先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和顯示數(shù)據(jù)刷新子程序等的編程及調(diào)試。由于DS18B20與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20進行讀/寫編程時,必須嚴格的保證讀/寫時序,否則將無法讀取測量結(jié)果。本程序采用單片機C語言編寫,用Keil C編譯器編程調(diào)試

41、軟件調(diào)試到數(shù)碼管能顯示溫度值,而且在有溫度變化時(例如改變傳感器的溫度值)顯示溫度能改變。6.2 系統(tǒng)調(diào)試軟硬件分別調(diào)試完成以后,將程序下載入單片機中,電路板接上電源,電源指示燈亮,按下開關(guān)按鈕,數(shù)碼管顯示當前溫度。用手去碰觸溫度傳感器,溫度顯示值出現(xiàn)變化,顯示當前手的溫度值。假如數(shù)碼管不工作,那么檢查溫度傳感器是否牢固的插入底座或者傳感器已損壞,如果不是傳感器的問題,那么需要檢查電源開關(guān)是否接錯,數(shù)碼管或者單片機是否已損壞。假如數(shù)碼管可以工作但是不能正常顯示,則要檢查數(shù)碼管的位選端和段選端是否與單片機的連接有誤,或是買錯數(shù)碼管的型號。由于我們在用軟件仿真的時候,都是假設(shè)所有的元件為理想狀態(tài),

42、但是在現(xiàn)實中,遠遠達不到理想狀態(tài),元器件總是或多或少的存在一些問題,所以我們的成品有可能與仿真出的結(jié)果有一些差距。但是只要能夠?qū)崿F(xiàn)正常顯示溫度值,那么本次設(shè)計基本成功。6.3 數(shù)據(jù)檢測設(shè)計完成以后,我們要對該數(shù)字溫度計進行數(shù)據(jù)檢測,看其是否能夠達到預(yù)期的要求。將溫度傳感器與冰水混合物接觸,等待顯示穩(wěn)定以后讀出溫度值,并且記錄,看是否能夠顯示零度以下溫度。再把溫度傳感器放入沸水中,待顯示讀數(shù)穩(wěn)定后,記下所測溫度,該溫度計的量程為-55125,讀數(shù)精度為0.1,實際使用一般在0100。采用水銀溫度計作檢驗標準,對設(shè)計的溫度計進行測試,其結(jié)果表明能達到該精度要求。6.4 性能分析性能測試可用制作的溫

43、度計和已有的成品溫度計來測量比較。由于DS18B20的精度很高,所以誤差指標可以限制在0.1以內(nèi),另外-55至+125的測量范圍使得該溫度完全適合一般的應(yīng)用場合,其低壓供電特性可作為用電池電子溫度計.結(jié)束語本設(shè)計所介紹的數(shù)字溫度計工作可靠、測量誤差小與作者簡介傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫范圍廣采用數(shù)字顯示等特點,主要適用于科研實驗室等對測溫要求比較準確的場所本溫度計應(yīng)用AT89S52單片機對系統(tǒng)進行智能控制,采用溫度傳感器DSl8B20實現(xiàn)對外界溫度的測量,并通過串口通信將數(shù)據(jù)傳輸?shù)絾纹瑱C上進行處理和分析。同時采用C51程序設(shè)計語言對單片機的系統(tǒng)控制程序進行編寫。經(jīng)過從選課題,找資料,

44、寫任務(wù)書和開題報道等一些準備工作的進行,和有關(guān)于數(shù)字溫度計的課程設(shè)計,使我對單片機的應(yīng)用有了更深的了解。在課程設(shè)計過程中,還是碰到了許多問題。比如,對于電圖不是很理解理解,對于第一次碰到的新的元器件的不熟悉,對于一些相關(guān)的應(yīng)用軟件沒能熟練的掌握。但是,通過不斷的思考,和詢問老師,以及參考網(wǎng)上的資料,最終還是把問題解決了。通過這次的課程設(shè)計,我最大的收獲就是自己的動手能力和獨立解決問題的能力得到了很大的提高,也充分體會到了自己設(shè)計東西的樂趣、學(xué)會查資料和對別人的東西融會變通的重要性,也明白了很多知識光是靠在書本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實踐,親自去經(jīng)歷才能對它們正真的掌握,凡事都要

45、自己去動手,去實踐,遇到困難永遠不要沮傷氣餒。在動手的過程中,不僅能增強實踐能力,而且在理論上可以有更深的認識;這次設(shè)計給我?guī)砹藰O大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過不斷的摸索和實踐來提高其他方面的知識。同時這次設(shè)計也使我深刻體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對學(xué)過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。在本次課程設(shè)計過程中,讓我認真認識到完整、嚴謹、科學(xué)分析問題、解決問題的思想是多么重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計出有用的產(chǎn)品,;另外通過本次設(shè)計我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計的各硬件的資源,其中包括:AT89S52單片機及其引腳說明、AT24C0

46、2引腳圖及其引腳功能等,但是,我也認識到自己理論知識的應(yīng)用能力有很大的缺陷,需要在以后的學(xué)習(xí)中進一步提高,在本次設(shè)計中我所學(xué)到的能力也為以后的進一步學(xué)習(xí)打下了堅實的基礎(chǔ)。致 謝首先我必須感謝我院領(lǐng)導(dǎo)對我們畢業(yè)生在畢業(yè)設(shè)計過程中的支持和關(guān)懷!其次我要特別感謝我的指導(dǎo)老師李老師,不管在選擇課題階段,還是在設(shè)計階段,在制作階段,正是她給予我不斷的指導(dǎo)與鼓勵,不厭其煩的給我講解有關(guān)設(shè)計方面需要注意的要點,由于在李老師耐心的指導(dǎo)下,我才能順利的完成我的畢業(yè)設(shè)計,完成我大學(xué)學(xué)業(yè)的最后一個課程。王老師那種對待學(xué)生如同朋友一樣,對待工作一絲不茍的品質(zhì)和精神值得我們每一位同學(xué)學(xué)習(xí)。同時我還要感謝我的同窗們,在設(shè)

47、計和焊接過程中遇到困難時,她們都熱情耐心的幫助我克服困難,我畢業(yè)設(shè)計的順利完成也離不開同學(xué)們不斷的幫助。除此之外,我在鄭州科技學(xué)院學(xué)習(xí)期間,收到了學(xué)校了很多老師的諄諄教誨。正是他們的辛勤的傳授和不悔的教誨,是我的知識結(jié)構(gòu)有了一個質(zhì)地的飛躍,所有的這一切對于我的畢業(yè)論文的完成都起到了至關(guān)重要的作用,為我最終完成不也設(shè)計打下了堅實的基礎(chǔ)。在此,對鄭州科技學(xué)院電氣工程系的老師以及在校期間幫助過我的所有老師致以最誠摯的謝意!再次感謝王老師在課題研究中給予我的指導(dǎo)和幫助,同時感謝我的同學(xué)們對我的關(guān)心和幫助。最后感謝在百忙之中對我的論文進行評審并提出寶貴意見的老師們。參考文獻 1 張毅坤. 單片微型計算機

48、原理及應(yīng)用. 西安:西安電子科技大學(xué)出版社,20012 余錫存. 單片機原理及接口技術(shù)M. 陜西:西安電子科技大學(xué)出版社,20003 雷麗文. 微機原理與接口技術(shù)M. 北京:電子工業(yè)出版社, 19974 張迎新. 單片機中級教程. 北京:北京航空航天大學(xué)出版社,20035 丁元杰. 單片機原理與應(yīng)用. 北京:機械工業(yè)出版社,19996 孫育才. MCS-51系列單片微型計算機及其應(yīng)用. 東南大學(xué)出版社, 20007 李金利. 單片機原理及應(yīng)用技術(shù). 北京: 高等教育出版社,20048 張迎新. 單片機原理與應(yīng)用. 陜西: 電子工業(yè)出版社,20039 羅學(xué)恒. 單片機實用教程. 北京:高等教育出

49、版社,200610 潘永雄. 新編單片機原理與應(yīng)用. 西安:西安電子科技大學(xué)出版社,200311 胡漢才. 單片機原理及接口技術(shù). 北京:高等教育出版社,200612 張宏潤. 單片機原理及其應(yīng)用. 北京:清華大學(xué)出版社,2003 附 錄附錄1:元器件清單序號名稱型號單位數(shù)量備注1電阻5K支52電阻560支83傳感器支4電阻10K支15電阻5.1K支16電阻1K支57晶振12MHz支18普通電容30pF支29電解電容10uF/5V支112三極管9012支5蜂鳴器支數(shù)碼管SM410564支4單片機8 9 5 2支附錄2: 使用工具及儀表清單序號名稱型號單位數(shù)量備注萬用表塊內(nèi)熱式電烙鐵焊錫絲若干直

50、流穩(wěn)壓電源臺編程燒寫器臺導(dǎo)線若干附錄3:源程序清單TIMEL EQU 0E0HTIMEH EQU 0B1HTEMPHEAD EQU 36HBITST DATA 20HTIME1SOK BIT BITST.1TEMPONEOK BIT BITST.2TEMPL DATA 26HTEMPH DATA 27HTEMPHC DATA 28HTEMPLC DATA 29HTEMPDIN BIT P3.7ORG 0000HLJMP STARTORG 000BHLJMP TOITORG 100HSTART: MOV SP, #60HCLSMEM: MOVR0, #20HMOV R1, #60HCLSMEM1:MOVR0,#00HINC R0DJNZ R1, CLSMEM1MOV TMOD, #00100001BMOV TH0, #TIMELMOV TL0, #TIMEHSJMP INITERROR: NOPLJMP STARTNOPINTT: NOPSETB ET0SETB TR0SETB EAMOV PSW, #00HCLR

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論