單片機(jī)實(shí)驗(yàn)報(bào)告-溫度計(jì)_第1頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告-溫度計(jì)_第2頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告-溫度計(jì)_第3頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告-溫度計(jì)_第4頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告-溫度計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 成績(jī): 濱江學(xué)院 單片機(jī)原理及應(yīng)用實(shí)驗(yàn)項(xiàng)目 溫度計(jì)DS18B20 院 系 濱江學(xué)院電子工程系 專 業(yè) 信息工程 學(xué)生姓名 馬駿 學(xué) 號(hào) 20142309029 二零一七年十一月十八日一、實(shí)驗(yàn)?zāi)康?.1實(shí)驗(yàn)意義在日常生活及工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用到溫度的檢測(cè)及控制,傳統(tǒng)的測(cè)溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持。其缺點(diǎn)如下: 硬件電路復(fù)雜; 軟件調(diào)試復(fù)雜; 制作成本高。本數(shù)字溫度計(jì)設(shè)計(jì)采用美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測(cè)元件,測(cè)溫范圍為-55125,最高分辨率可達(dá)0.

2、0625。DS18B20可以直接讀出被測(cè)溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的熱點(diǎn)。1.2功能要求設(shè)計(jì)出的DS18B20數(shù)字溫度計(jì)測(cè)溫范圍在-55125,誤差在0.5以內(nèi),采用LED數(shù)碼管直接讀顯示。二、實(shí)驗(yàn)硬件2.1方案設(shè)計(jì)按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主控制器、測(cè)溫電路和顯示電路。數(shù)字溫度計(jì)總體電路結(jié)構(gòu)框圖如圖所示:AT89C2051主控制器DS18B20顯示電路掃描驅(qū)動(dòng)2.2硬件設(shè)計(jì)溫度計(jì)電路設(shè)計(jì)原理圖如下圖所示,控制器使用單片機(jī)AT89C2051,溫度傳感器使用DS18B20,使用四位共陽(yáng)LED數(shù)碼管以動(dòng)態(tài)掃描法實(shí)現(xiàn)溫度顯示2.

3、3主控制器 單片機(jī)AT89C2051具有低電壓供電和小體積等特點(diǎn),兩個(gè)端口剛好滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。系統(tǒng)可用兩節(jié)電池供電。AT89C2051的引腳圖如下圖所示:1、VCC:電源電壓。2、GND:地。 3、P1口:P1口是一個(gè)8位雙向I/O口。口引腳P1.2P1.7提供內(nèi)部上拉電阻,P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內(nèi)精密模擬比較器的同相輸入(ANI0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收 20mA電流并能直接驅(qū)動(dòng)LED顯示。當(dāng)P1口引腳寫(xiě)入“1”時(shí),其可用作輸入端,當(dāng)引腳P1.2P1.7用作輸入并被外部拉低時(shí),它們將因

4、內(nèi)部的寫(xiě)入“1”時(shí),其可用作輸入端。當(dāng)引腳P1.2P1.7用作輸入并被外部拉低時(shí),它們將因內(nèi)部的上拉電阻而流出電流。 4、P3口:P3口的P3.0P3.5、P3.7是帶有內(nèi)部上拉電阻 的七個(gè)雙向I/O口引腳。P3.6用于固定輸入片內(nèi)比較器的輸出信號(hào)并且它作為一通用I/O引腳而不可訪問(wèn)。P3口緩沖器可吸收20mA電流。當(dāng)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可用作輸入端。用作輸入時(shí),被外部拉低的P3口腳將用上拉電阻而流出電流。 5、RST:復(fù)位輸入。RST一旦變成高電平所有的I/O引腳就復(fù)位到“1”。當(dāng)振蕩器正在運(yùn)行時(shí),持續(xù)給出RST引腳兩個(gè)機(jī)器周期的高電平便可完成復(fù)位。每一個(gè)機(jī)器周期需1

5、2個(gè)振蕩器或時(shí)鐘周期。 6、XTAL1:作為振蕩器反相器的輸入和內(nèi)部時(shí)鐘發(fā)生器的輸入。 7、XTAL2:作為振蕩器反相放大器的輸出。 2.4總線驅(qū)動(dòng)器 74LS24474LS244為3態(tài)8位緩沖器,一般用作總線驅(qū)動(dòng)器。引腳圖如下圖。2.5顯示電路 顯示電路采用4位共陽(yáng)極LED數(shù)碼管,從P1口輸出段碼,列掃描用P3.0P3.3口來(lái)實(shí)現(xiàn),列驅(qū)動(dòng)用8055三極管。2.6溫度傳感器 DS18B20DS18B20的性能特點(diǎn):1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電。 2、獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B2

6、0的雙向通訊。 3、 DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。 4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 5、溫范圍55+125,在-10+85時(shí)精度為0.5。 6、可編程 的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。 7、在9位分辨率時(shí)最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。8、測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)

7、碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。9、負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。DS18B20與單片機(jī)的接口電路(引腳圖見(jiàn)右圖)DS18B20可以采用電源供電方式,此時(shí)DS18B20的第1 腳接地,第2腳作為信號(hào)線,第3腳接電源。三、軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序和顯示數(shù)據(jù)刷新子程序等。 3.1 主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量溫度值。溫度測(cè)量每1s進(jìn)行一次。主程序流程圖如圖所示。3.2 讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時(shí)必須進(jìn)行CRC校驗(yàn),校驗(yàn)

8、有錯(cuò)時(shí)不能進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。讀出溫度子程序流程圖如下圖所示:讀出溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時(shí)須進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。得出溫度子程序流程圖如下圖所示。3.3溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令。當(dāng)采用12位分辨率時(shí),轉(zhuǎn)換時(shí)間約為750ms。在本程序設(shè)計(jì)中,采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如下圖所示。計(jì)算溫度子程序 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。計(jì)算溫度子程序流程圖如下左圖所示.現(xiàn)實(shí)數(shù)據(jù)刷新子程序 現(xiàn)實(shí)數(shù)據(jù)刷新子程序主要是對(duì)顯示

9、緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為0時(shí),將符號(hào)顯示位移入下一位?,F(xiàn)實(shí)數(shù)據(jù)刷新子程序流程圖如下右圖所示.四、實(shí)驗(yàn)操作過(guò)程系統(tǒng)的調(diào)試以程序調(diào)試為主。硬件調(diào)試比較簡(jiǎn)單,首先檢查電感的焊接是否正確,然后可用萬(wàn)用表測(cè)試或通電檢測(cè)。軟件調(diào)試可以先編寫(xiě)顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序和現(xiàn)實(shí)數(shù)據(jù)刷新子程序等的編程及調(diào)試由于DS18B20與單片機(jī)采用串行數(shù)據(jù)傳送,因此,對(duì)DS18B20進(jìn)行讀/寫(xiě)編程時(shí)必須嚴(yán)格地保證讀/寫(xiě)時(shí)序;否則將無(wú)法讀取測(cè)量結(jié)果。本程序采用單片機(jī)匯編或C語(yǔ)言編寫(xiě)用Wave3.2或Keil C51編譯器編程調(diào)

10、試。軟件調(diào)試到能顯示溫度值,并且在有溫度變化時(shí)顯示溫度能改變,救基本完成。56.性能測(cè)試可用制作的溫度機(jī)和已有的成品溫度計(jì)同時(shí)進(jìn)行測(cè)量比較。由于DS18B20的精度很高,所以誤差指標(biāo)可以限制在0.5以內(nèi)。另外,-55+125的測(cè)溫范圍使得該溫度計(jì)完全適合一般的應(yīng)用場(chǎng)合,其低電壓供電特性可做成用電池供電的手持溫度計(jì)。DS18B20溫度計(jì)還可以在高低溫報(bào)警、遠(yuǎn)距離多點(diǎn)測(cè)溫控制等方面進(jìn)行應(yīng)用開(kāi)發(fā),但在實(shí)際設(shè)計(jì)中應(yīng)注意以下問(wèn)題;1、DS18B20工作時(shí)電流高大1.5mA,總線上掛接點(diǎn)數(shù)較多且同時(shí)進(jìn)行轉(zhuǎn)換時(shí)要考慮增加總線驅(qū)動(dòng),可用單片機(jī)端口在溫度轉(zhuǎn)換時(shí)導(dǎo)通一個(gè)MOSFET供電。2、連接DS18B20的總

11、線電纜是有長(zhǎng)度限制的,因此在用DS18B20進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配等問(wèn)題。3、在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào)。一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀DS18B20時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)要給予一定的重視。五、實(shí)驗(yàn)現(xiàn)象六、實(shí)驗(yàn)總結(jié)本次課程設(shè)計(jì)即將進(jìn)入尾聲,回想這兩周來(lái)的電子設(shè)計(jì)制作經(jīng)歷,我感觸甚是深刻。通過(guò)本次課程設(shè)計(jì),使我對(duì)電子設(shè)計(jì)及制作產(chǎn)生了較為濃厚的興趣,這不僅加強(qiáng)了自己對(duì)理論知識(shí)的理解和鞏固,還能提高自己的動(dòng)手能力,

12、可以說(shuō)受益匪淺。當(dāng)然更重要的是,激起了我學(xué)好單片機(jī)的斗志。本次課程設(shè)計(jì)主要分為四部分:設(shè)計(jì)、仿真、調(diào)試。這三個(gè)步驟在整個(gè)課程設(shè)計(jì)過(guò)程中起著重要的作用。本次畢業(yè)設(shè)計(jì)是針對(duì)MCS-52系列的單片機(jī)芯片STC89C52來(lái)設(shè)計(jì)一個(gè)數(shù)字溫度計(jì),該設(shè)計(jì)充分利用了溫度傳感器DS18B20功能強(qiáng)大的優(yōu)點(diǎn),如DS18B20可以直接讀出被測(cè)溫度值,進(jìn)行轉(zhuǎn)換;而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn),大大簡(jiǎn)化了硬件電路,也使得該數(shù)字溫度計(jì)不僅具有結(jié)構(gòu)簡(jiǎn)單、成本低廉、精確度較高、反應(yīng)速度較快、數(shù)字化顯示和不易損壞等特點(diǎn),而且性能穩(wěn)定,適用范圍廣,因此特別適用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所

13、。附錄:程序代碼#include #define uchar unsigned char#define uint unsigned intsbit DS=P22; uint temp; uchar flag1; sbit dula=P26;sbit wela=P27;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd

14、, 0x87,0xff,0xef;void delay(uint count) uint i; while(count)i=200; while(i0) i-; count-; void dsreset(void) uint i; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-;bit tmpreadbit(void) uint i; bit dat; DS=0;i+; DS=1;i+;i+; dat=DS; i=8;while(i0)i-; return (dat);uchar tmpread(void) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit();dat=(j1); return(dat);void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; for(j=1;j1;if(testb) DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; i=8;while(i0)i-; DS=1; i+;i+; void tmpchange(void) dsreset(); delay

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論