溫度控制系統(tǒng)畢業(yè)論文_第1頁
溫度控制系統(tǒng)畢業(yè)論文_第2頁
溫度控制系統(tǒng)畢業(yè)論文_第3頁
溫度控制系統(tǒng)畢業(yè)論文_第4頁
溫度控制系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

閩南理工學(xué)院畢業(yè)設(shè)計(jì)(論文)PAGEPAGE45PAGE1緒論隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅費(fèi)時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決[1]文中要有參考文獻(xiàn)的引用標(biāo)記,上標(biāo)。。傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點(diǎn)是溫度波動(dòng)范圍大,由于他主要通過控制接觸器的通斷時(shí)間比例來達(dá)到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。文中要有參考文獻(xiàn)的引用標(biāo)記,上標(biāo)。本設(shè)計(jì)使用單片機(jī)作為核心進(jìn)行控制。單片機(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。

1溫度控制及單片機(jī)發(fā)展歷程溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比,仍然有著較大的差距。成熟的溫控產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它們只能適應(yīng)一般溫度系統(tǒng)控制,而用于較高控制場合的智能化、自適應(yīng)控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少[2]按順序標(biāo)注[1][2][3]……[10]按順序標(biāo)注[1][2][3]……[10]……單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)也被稱為微控制器(Microcontroller),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣[3]。早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹唵慰煽慷阅懿诲e(cuò)獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTELi960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價(jià)格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。1.1課題背景及研究意義近年來單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅費(fèi)時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決。1.2課題的設(shè)計(jì)目的1.鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力。2.培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力。3.通過對課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。1.3課題的主要工作本課題的溫度傳感器DS18B20,此傳感器課讀取被測量溫度值,進(jìn)行轉(zhuǎn)換。主要工作研究重點(diǎn)是設(shè)計(jì)一種基于單片機(jī)的數(shù)字溫度測量及報(bào)警系統(tǒng)。利用數(shù)字溫度傳感如下:1.測溫范圍-55℃~+125℃,固有測溫分辨率0.5℃。2.精度誤差小于1℃。3.LCD1602液晶顯示。4.兩路溫度測量及報(bào)警功能。5.實(shí)現(xiàn)報(bào)警提示蜂鳴器及LCD發(fā)光二極管。1.4本文研究內(nèi)容電子溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線關(guān)系等,這個(gè)電信號可以使用模數(shù)轉(zhuǎn)換的電路即A/D轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信號,數(shù)字信號再送給處理單元,如單片機(jī)或者PC機(jī)等,處理單元經(jīng)過內(nèi)部的軟件計(jì)算將這個(gè)數(shù)字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數(shù)值,如25.0攝氏度,然后通過顯示單元,如LED,LCD或者電腦屏幕等顯示出來給人觀察。這樣就完成了電子溫度計(jì)的基本測溫功能。本文是基于AT89S51單片機(jī),采用數(shù)字溫度傳感器DS18B20,利用DS18B20不需要A/D轉(zhuǎn)換,可直接進(jìn)行溫度采集顯示,報(bào)警的電子溫度計(jì)設(shè)計(jì)。包括傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等組成。

2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1電子溫度計(jì)設(shè)計(jì)方案論證由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。2.2總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖2.1所示,控制器采用單片機(jī)AT89C52,溫度傳感器采用DS18B20,LCD1602實(shí)現(xiàn)溫度顯示。LCD1602顯示模塊AT89C52LCD1602顯示模塊AT89C52單片機(jī)時(shí)鐘震蕩電路溫度檢測電路溫度門限報(bào)警電路溫度檢測電路溫度門限報(bào)警電路圖2.1總體設(shè)計(jì)框圖2.2.1主控制器單片機(jī)AT89C52具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。AT89C52單片機(jī)芯片具有以下特性:1)指令集合芯片引腳與Intel公司的8052兼容;2)4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲器;3)時(shí)鐘頻率為0~33MHZ;4)128字節(jié)片內(nèi)隨機(jī)讀寫存儲器(RAM);5)6個(gè)中斷源,2級優(yōu)先級;6)2個(gè)16位定時(shí)/記數(shù)器;7)全雙工串行通信接口;8)監(jiān)視定時(shí)器;9)兩個(gè)數(shù)據(jù)指針;2.2.2LCD1602顯示模塊顯示電路采用LCD1602顯示模塊,接P0口。LCD1602主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm引腳功能說明:LCD1602采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表2.1所示[4]:表2.1引腳接口說明表編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高,對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號,當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),LCD1602顯示模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。LCD1602的指令說明及時(shí)序LCD1602顯示模塊內(nèi)部的控制器共有11條控制指令,如表2.2所示[5]:表2.2控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容LCD1602顯示模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與HD44780相兼容的芯片基本操作時(shí)序表如表2.3所示[6]。表2.3基本操作時(shí)序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0—D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0—D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0—D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖輸出無讀寫操作時(shí)序如圖2.2和圖2.3所示:圖2.2讀操作時(shí)序圖2.3寫操作時(shí)序LCD1602的RAM地址映射及標(biāo)準(zhǔn)字庫表LCD1602液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖2.4是LCD1602的內(nèi)部顯示地址。圖2.4LCD1602內(nèi)部顯示地址例如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。2.2.3溫度傳感器DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:

●獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信,無須經(jīng)過其它變換電路;

●多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;

●內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM;

●可通過數(shù)據(jù)線供電,內(nèi)含寄生電源,電壓范圍為3.0~5.5V;

●零待機(jī)功耗;

●溫度以9或12位數(shù)字;

●用戶可定義報(bào)警設(shè)置;

●報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;

●負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工作;●測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃①采用單總線專用技術(shù),

DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2.5所示[7]。圖2.5DS18B20內(nèi)部結(jié)構(gòu)64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個(gè)器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限。

DS18B20溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2.6所示。頭2個(gè)字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.6所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度LSB溫度MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC

圖2.6DS18B20字節(jié)定義由下面表2.4可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。當(dāng)符號位S=0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2.4DS18B20溫度轉(zhuǎn)換時(shí)間表DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若T>TH或T<TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測量溫度并進(jìn)行報(bào)警搜索[8]。在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。DS18B20的測溫原理是這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。表2.5一部分溫度對應(yīng)值表溫度/℃二進(jìn)制表示十六進(jìn)制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90H

2.3系統(tǒng)整體硬件電路設(shè)計(jì)2.3.1主板電路系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等,單片機(jī)主板電路如圖2.7所示:圖2.7單片機(jī)主板電路2.3.2顯示電路顯示電路只用P0口,采用LCD1602顯示模塊。圖2.8溫度顯示電路2.3.3溫度采集電路通過DS18B20電路可以對溫度進(jìn)行采集,根據(jù)圖2.9所示:圖2.9溫度采集電路

3系統(tǒng)軟件設(shè)計(jì)3.1主程序設(shè)計(jì)整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊[9]。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序流程見圖3.1。開始開始初始化初始化判斷溫度是否在設(shè)定范圍內(nèi)判斷溫度是否在設(shè)定范圍內(nèi)否是綠燈亮正常綠燈亮正常紅燈亮報(bào)警顯示溫度顯示溫度結(jié)束結(jié)束圖3.1主程序流程圖3.2DS18B20初始化DS18B20初始化流程圖見圖3.2。圖3.2DS18B20初始化流程圖3.3數(shù)據(jù)測試將溫度傳感器與冰水混合物接觸,經(jīng)過充分?jǐn)嚢柽_(dá)到熱平衡后調(diào)節(jié)系統(tǒng),使顯示讀數(shù)為0.00(標(biāo)定0℃);利用氣壓計(jì)讀出當(dāng)時(shí)當(dāng)?shù)氐拇髿鈮簭?qiáng),并根據(jù)大氣壓強(qiáng)和當(dāng)?shù)刂亓铀俣扔?jì)算出當(dāng)時(shí)的實(shí)際壓強(qiáng);根據(jù)沸點(diǎn)與壓強(qiáng)的關(guān)系查出沸點(diǎn)溫度[10]。把溫度傳感器放入沸水中,待顯示讀數(shù)穩(wěn)定后重新調(diào)節(jié),使顯示器顯示讀數(shù)等于當(dāng)?shù)禺?dāng)時(shí)沸點(diǎn)溫度后工作結(jié)束。該溫度計(jì)的量程為-55℃~125℃,讀數(shù)精度為0.5℃,實(shí)際使用一般在0℃~100℃。采用0℃~50℃和50℃~100℃的精密水銀溫度計(jì)作檢驗(yàn)標(biāo)準(zhǔn),對設(shè)計(jì)的溫度計(jì)進(jìn)行測試,其結(jié)果表明能達(dá)到該精度要求。3.4仿真結(jié)果設(shè)置溫度上限為28.5度,溫度下限為23.5度。1.如圖3.3所示。此時(shí)溫度時(shí)24度和25度,正常范圍內(nèi),綠燈亮,溫度正常。圖3.3仿真12.如圖3.4所示。此時(shí)溫度為24度和22度,由于22度低于下限溫度,紅燈閃亮,蜂鳴器響,實(shí)現(xiàn)報(bào)警。圖3.4仿真23.如圖3.5所示。此時(shí)溫度為25度和30度,30度不在所設(shè)范圍內(nèi),紅燈閃亮,報(bào)警。圖3.5仿真3

結(jié)論將本文設(shè)計(jì)的電子溫度計(jì)制作成實(shí)物,只要開機(jī)運(yùn)行則能立即監(jiān)測所測對象的溫度,測量范圍較大,制作成本低,程序運(yùn)行穩(wěn)定。不過受限于八位A/D轉(zhuǎn)換器轉(zhuǎn)換精度不夠,在測量范圍內(nèi)最小僅能分辨2℃溫差,很難滿足一些高精度測量。為此可以改用12位甚至更高分辨率的A/D轉(zhuǎn)換器以提高溫差分辨率,滿足更高的測試要求。

致謝本論文是在老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。陳老師淵博學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度及隨和的為人給我留下了難以忘懷的印象,這將使我受益終身。在此我由衷地感謝陳老師對我們的幫助,也非常感謝系領(lǐng)導(dǎo)對我們的關(guān)懷。

參考文獻(xiàn)至少10篇,按照這個(gè)格式寫[1]黃維翼.單片機(jī)應(yīng)用與項(xiàng)目實(shí)踐[M].清華大學(xué)出版社,2010.至少10篇,按照這個(gè)格式寫[2]王質(zhì)樸.呂運(yùn)朋MCS-51單片機(jī)原理接口及應(yīng)用[M].北京理工大學(xué)出版社,2009.[3]陳杰,黃鴻.傳感器與檢測技術(shù)[M].高等教育出版社,2002.[4]彭偉.單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例[M].電子工業(yè)出版社,2009.[5]李俊松.21世紀(jì)的光電子科學(xué)[N].科學(xué)時(shí)報(bào),2002-02-20(10).[6]康華光,陳大欽,張林.電子技術(shù)基礎(chǔ)模擬部分[M].高等教育出版社,2005.[7]PaulScherz,夏建生,王仲奕.實(shí)用電子元器件與電路基礎(chǔ)[M].電子工業(yè)出版社,2009.[8]周永東.基于DS18B20的單片機(jī)數(shù)字溫度計(jì)[J].微電子學(xué),2007(5):65-66.[9]陳超華,王會進(jìn).用KeilC51開發(fā)大型嵌入式[J].2003,23(11):140-143.[10]劉國強(qiáng),唐東紅,李興偉等.基于AT89C51單片機(jī)的高精度測溫系統(tǒng)的研制[J].儀器儀表學(xué)報(bào),2005,26(ZL):258-259.

附錄A:程序清單#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1^0;//DS18B20與單片機(jī)連接口sbitDQ1=P1^1;//DS18B201與單片機(jī)連接口sbitRS=P2^5;sbitRW=P2^6;sbitEN=P2^7;sbitbeef=P3^4;sbitP36=P3^6;sbitP37=P3^7;unsignedcharcodestr1[]={"1:"};unsignedcharcodestr2[]={"H:"};unsignedcharcodestr3[]={"2:"};unsignedcharcodestr4[]={"L:"};unsignedcharcodestr5[]={"23.5"}; //最低溫門限unsignedcharcodestr6[]={"28.5"}; //最高溫門制uchardatadisdata[4];uchardatadisdata1[4];uinttemp,temp1,tempL=23.5,tempH=28.5;uinttvalue,tvalue1;//溫度值uchartflag,tflag1;//溫度正負(fù)標(biāo)志/*************************LCD1602程序**************************/voiddelay1ms(unsignedintms)//延時(shí)1毫秒(不夠精確的){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}voidwr_com(unsignedcharcom)//寫指令//{delay1ms(1);RS=0;RW=0;EN=0;P0=com;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_com1(unsignedcharcom1)//寫指令//{delay1ms(1);RS=0;RW=0;EN=0;P0=com1;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_dat(unsignedchardat)//寫數(shù)據(jù)//{delay1ms(1);;RS=1;RW=0;EN=0;P0=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_dat1(unsignedchardat1)//寫數(shù)據(jù)//{delay1ms(1);;RS=1;RW=0;EN=0;P0=dat1;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidLCD_init()//初始化設(shè)置//{delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);}voiddisplay(unsignedchar*p)//顯示// { while(*p!='\0') { wr_dat(*p); p++; delay1ms(1); }}init_play()//初始化顯示{LCD_init(); //LCD_initwr_com(0x80); display(str1); wr_com(0x89); display(str2); wr_com(0xc0); display(str3); wr_com(0xc9); display(str4); return0;}/******************************DS18B20程序***************************************/voiddelay_18B20(unsignedinti)//延時(shí)1微秒{while(i--);}voidds1820rst()/*ds1820復(fù)位*/{ DQ=1;//DQ復(fù)位 delay_18B20(4);//延時(shí) DQ=0;//DQ拉低 delay_18B20(100);//精確延時(shí)大于480us DQ=1;//拉高 delay_18B20(40);}voidds1820rst1()/*ds1820復(fù)位*/{ DQ1=1;//DQ復(fù)位 delay_18B20(4);//延時(shí) DQ1=0;//DQ拉低 delay_18B20(100);//精確延時(shí)大于480us DQ1=1;//拉高 delay_18B20(40);}ucharDS1820rd()/*讀數(shù)據(jù)*/{ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0;//給脈沖信號 dat>>=1; DQ=1;//給脈沖信號 if(DQ) dat|=0x80; delay_18B20(10); } return(dat);}ucharDS1820rd1()/*讀數(shù)據(jù)*/ //讀第二個(gè)溫度傳感器//{ unsignedcharj=0; unsignedchardat1=0; for(j=8;j>0;j--) { DQ1=0;//給脈沖信號 dat1>>=1; DQ1=1;//給脈沖信號 if(DQ1) dat1|=0x80; delay_18B20(10); }return(dat1);}voidDS1820wr(ucharwdata)/*寫數(shù)據(jù)*/{unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata>>=1; }}voidDS1820wr1(ucharwdata1)/*寫數(shù)據(jù)*/ //寫第二個(gè)溫度傳感器//{unsignedcharj=0;for(j=8;j>0;j--) { DQ1=0;DQ1=wdata1&0x01;delay_18B20(10);DQ1=1;wdata1>>=1;}}read_temp()/*讀取溫度值并轉(zhuǎn)換*/{uchara,b;DS1820rst();DS1820wr(0xcc);//*跳過讀序列號*/DS1820wr(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/DS1820rst();DS1820wr(0xcc);//*跳過讀序列號*/DS1820wr(0xbe);//*讀取溫度*/a=DS1820rd();b=DS1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;else{tvalue=~tvalue+1;tflag=1;}tvalue=tvalue*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)return(tvalue);}read_temp1()/*讀取溫度值并轉(zhuǎn)換*///讀第二個(gè)溫度傳感器//{ucharc,d;DS1820rst1();DS1820wr1(0xcc);//*跳過讀序列號*/DS1820wr1(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/DS1820rst1();DS1820wr1(0xcc);//*跳過讀序列號*/DS1820wr1(0xbe);//*讀取溫度*/c=DS1820rd1(); //溫度2進(jìn)制低8位d=DS1820rd1(); //溫度2進(jìn)制高8位tvalue1=d;tvalue1<<=8;tvalue1=tvalue1|c;//合并高低位if(tvalue1<0x0fff) tflag1=0;else { tvalue1=~tvalue1+1; tflag1=1; }tvalue1=tvalue1*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)return(tvalue1);}/*******************************************************************/voidDS1820disp()//溫度值顯示{ucharflagdat;disdata[0]=tvalue/1000+0x30;//百位數(shù)disdata[1]=tvalue%1000/100+0x30;//十位數(shù)disdata[2]=tvalue%100/10+0x30;//個(gè)位數(shù)disdata[3]=tvalue%10+0x30;//小數(shù)位temp=tvalue/10+tvalue%10;if(tflag==0)flagdat=0x20;//正溫度不顯示符號elseflagdat=0x2d;//負(fù)溫度顯示負(fù)號:-if(disdata[0]==0x30){disdata[0]=0x20;//如果百位為0,不顯示if(disdata[1]==0x30){disdata[1]=0x20;//如果百位為0,十位為0也不顯示}}wr_com(0x82);wr_dat(flagdat);//顯示符號位wr_com(0x83);wr_dat(disdata[0]);//顯示百位wr_com(0x84);wr_dat(disdata[1]);//顯示十位wr_com(0x85);wr_dat(disdata[2]);//顯示個(gè)位wr_com(0x86);wr_dat(0x2e);//顯示小數(shù)點(diǎn)wr_com(0x87);wr_dat(disdata[3]);//顯示小數(shù)位}voidDS1820disp1()//溫度值顯示 *************第二個(gè)溫度傳感器********************//{ucharflagdat1;disdata1[0]=tvalue1/1000+0x30;//百位數(shù)disdata1[1]=tvalue1%1000/100+0x30;//十位數(shù)disdata1[2]=tvalue1%100/10+0x30;//個(gè)位數(shù)disdata1[3]=tvalue1%10+0x30;//小數(shù)位temp1=tvalue1/10+tvalue1%10;if(tflag1==0)flagdat1=0x20;//正溫度不顯示符號elseflagdat1=0x2d;//負(fù)溫度顯示負(fù)號:-if(disdata1[0]==0x30){disdata1[0]=0x20;//如果百位為0,不顯示if(disdata1[1]==0x30){disdata1[1]=0x20;//如果百位為0,十位為0也不顯示}}wr_com1(0xc0+0x02);wr_dat1(flagdat1);//顯示符號位wr_com1(0xc0+0x03);wr_dat1(disdata1[0]);//顯示百位wr_com1(0xc0+0x04);wr_dat1(disdata1[1]);//顯示十位wr_com1(0xc0+0x05);wr_dat1(disdata1[2]);//顯示個(gè)位wr_com1(0xc0+0x06);wr_dat1(0x2e);//顯示小數(shù)點(diǎn)wr_com1(0xc0+0x07);wr_dat1(disdata1[3]);//顯示小數(shù)位}/**********************報(bào)警程序******************************/voidalarm(){ unsignedcharj; for(j=10;j>0;j--) { beef=1; delay1ms(20); beef=0; }}/********************主程序***********************************/main(){ P37=1; init_play();//初始化顯示 while(1) { beef=0; delay1ms(400); read_temp1();//讀取溫度 ds1820disp1();//顯示 read_temp();//讀取溫度 DS1820disp();//顯示 wr_com(0xcb); display(str5); wr_com(0x8b); display(str6); if((temp<tempL||temp>tempH)||(temp1<tempL||temp1>tempH)) { unsignedchari; for(i=20;i>0;i--) { alarm(); P37=0; P36=1; delay1ms(100); P36=0; } } else P37=1; } return0;}基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論