DS18B20數(shù)字溫度計(jì)設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁
DS18B20數(shù)字溫度計(jì)設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁
DS18B20數(shù)字溫度計(jì)設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁
DS18B20數(shù)字溫度計(jì)設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁
DS18B20數(shù)字溫度計(jì)設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理及應(yīng)用 課程設(shè)計(jì)報(bào)告書題 目: DS18B20數(shù)字溫度計(jì)姓 名: 李成學(xué) 號: 指導(dǎo)老師: 周靈彬設(shè)計(jì)時(shí)間: 2015年1月目 錄1.引 言31.1.設(shè)計(jì)意義31.2.系統(tǒng)功能要求32.方案設(shè)計(jì)33. 硬件設(shè)計(jì)44. 軟件設(shè)計(jì)85.系統(tǒng)調(diào)試106.設(shè)計(jì)總結(jié)117.附 錄128.參考文獻(xiàn)15DS18B20數(shù)字溫度計(jì)設(shè)計(jì)1. 引 言1.1. 設(shè)計(jì)意義在日常生活及工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持。其缺點(diǎn)如下: 硬件電路復(fù)雜; 軟件調(diào)試復(fù)雜; 制作成本高。本數(shù)字溫度計(jì)設(shè)計(jì)

2、采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件,測溫范圍為-55125,最高分辨率可達(dá)0.0625。DS18B20可以直接讀出被測溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的熱點(diǎn)。1.2. 系統(tǒng)功能要求設(shè)計(jì)出的DS18B20數(shù)字溫度計(jì)測溫范圍在0125,誤差在1以內(nèi),采用LED數(shù)碼管直接讀顯示。2. 方案設(shè)計(jì)按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主控制器、測溫電路和顯示電路。數(shù)字溫度計(jì)總體電路結(jié)構(gòu)框圖如4.1圖所示:AT89C51主控制器DS18B20顯示電路掃描驅(qū)動(dòng) 圖4.13. 硬件設(shè)計(jì)溫

3、度計(jì)電路設(shè)計(jì)原理圖如下圖所示,控制器使用單片機(jī)AT89C2051,溫度傳感器使用DS18B20,使用四位共陽LED數(shù)碼管以動(dòng)態(tài)掃描法實(shí)現(xiàn)溫度顯示。主控制器 單片機(jī)AT89C51具有低電壓供電和小體積等特點(diǎn),兩個(gè)端口剛好滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。系統(tǒng)可用兩節(jié)電池供電。AT89C51的引腳圖如右圖所示: VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIAS

4、H進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存

5、取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(

6、外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止

7、ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲(chǔ)器的選通信號。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VP

8、P)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。DS18B20的性能特點(diǎn):1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電。 2、獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙

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

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

11、,校驗(yàn)有錯(cuò)時(shí)不能進(jìn)行溫度數(shù)據(jù)的改寫。讀出溫度子程序流程圖如下圖所示: 初始化 調(diào)用顯示子程序 1s到?初次上電 讀出溫度值 溫度計(jì)酸處理 顯示數(shù)據(jù)刷新 發(fā)溫度轉(zhuǎn)換開始命令 讀出溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時(shí)須進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。得出溫度子程序流程圖如下圖所示。發(fā)DS18B20復(fù)位指令CRC校驗(yàn)正確? 發(fā)跳過ROM指令移入溫度暫存器發(fā)讀取溫度指令 結(jié)束讀取操作,CRC校驗(yàn) 9字節(jié)完? 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令。當(dāng)采用12位分辨率時(shí),轉(zhuǎn)換時(shí)間約為750ms。在本程序設(shè)計(jì)中,采用1s顯示程序延時(shí)法

12、等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如下圖所示。 發(fā)DS18B20復(fù)位命令 發(fā)跳過ROM命令 發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束 計(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ù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為0時(shí),將符號顯示位移入下一位?,F(xiàn)實(shí)數(shù)據(jù)刷新子程序流程圖如下右圖所示.溫度數(shù)據(jù)移入顯示寄存器 開始計(jì)算小數(shù)位溫 度BCD值十位數(shù)0?溫度零下?計(jì)算整數(shù)位溫 度BCD值百位數(shù)0?置+標(biāo)志溫度值取補(bǔ)碼置一標(biāo)志百位數(shù)顯示數(shù)據(jù)(不顯示符號)十位數(shù)顯示符號百位

13、數(shù)不顯示結(jié)束 結(jié)束 5. 系統(tǒng)調(diào)試系統(tǒng)的調(diào)試以程序調(diào)試為主。硬件調(diào)試比較簡單,首先檢查電感的焊接是否正確,然后可用萬用表測試或通電檢測。軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序和現(xiàn)實(shí)數(shù)據(jù)刷新子程序等的編程及調(diào)試由于DS18B20與單片機(jī)采用串行數(shù)據(jù)傳送,因此,對DS18B20進(jìn)行讀/寫編程時(shí)必須嚴(yán)格地保證讀/寫時(shí)序;否則將無法讀取測量結(jié)果。本程序采用單片機(jī)匯編或C語言編寫用Wave3.2或Keil C51編譯器編程調(diào)試。軟件調(diào)試到能顯示溫度值,并且在有溫度變化時(shí)顯示溫度能改變,救基本完成。性能測試可用制作的溫度機(jī)和

14、已有的成品溫度計(jì)同時(shí)進(jìn)行測量比較。由于DS18B20的精度很高,所以誤差指標(biāo)可以限制在0.5以內(nèi)。另外,-55+125的測溫范圍使得該溫度計(jì)完全適合一般的應(yīng)用場合,其低電壓供電特性可做成用電池供電的手持溫度計(jì)。DS18B20溫度計(jì)還可以在高低溫報(bào)警、遠(yuǎn)距離多點(diǎn)測溫控制等方面進(jìn)行應(yīng)用開發(fā),但在實(shí)際設(shè)計(jì)中應(yīng)注意以下問題;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的總線電纜是有長度限制的,因此在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配等問題

15、。3、在DS18B20測溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號。一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀DS18B20時(shí),將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)要給予一定的重視。6. 設(shè)計(jì)總結(jié)歷時(shí)2個(gè)星期的單片機(jī)課程設(shè)計(jì)已經(jīng)結(jié)束了,在這兩個(gè)星期的時(shí)間里,我們在老師的指導(dǎo)下完成了基于DS18B20的數(shù)字溫度計(jì)的設(shè)計(jì)和制作。在進(jìn)行實(shí)驗(yàn)的過程中,我們了解并熟悉DS18B20、AT89C51的工作原理和性能。并且通過溫度計(jì)的制作,我們將電子技能實(shí)訓(xùn)課堂上學(xué)到的知識進(jìn)行運(yùn)用,并在實(shí)際操作中發(fā)現(xiàn)問題,解決問題,更

16、加增加對知識的認(rèn)識和理解。在課程設(shè)計(jì)的過程中,也遇到了一些問題。比如最開始根據(jù)課本上的電路圖進(jìn)行合理的設(shè)計(jì)布局和布線。有些同學(xué)的布局不合理,導(dǎo)致焊接的過程中任務(wù)相當(dāng)繁重,并且不美觀。在之后的燒程序調(diào)試的時(shí)候,出現(xiàn)問題之后,沒有合理布線的同學(xué)在查找問題的過程中相當(dāng)棘手。在焊接過程中,出現(xiàn)最多的就是虛焊問題。對于這個(gè)問題,在焊接的過程中,我盡量依照書中的指導(dǎo),盡量將焊點(diǎn)焊成水滴狀,最后接電后再根據(jù)數(shù)碼管的顯示情況進(jìn)行逐個(gè)排查??傊?,通過自己在實(shí)驗(yàn)室動(dòng)手制作數(shù)字溫度計(jì),不僅將課本的知識與實(shí)踐相結(jié)合,而且在實(shí)踐中更加深入了解書中原本抽象的知識。這也是整個(gè)課程設(shè)計(jì)中最有收獲的地方。7. 附 錄源程序代碼

17、/#include#include#include#define uchar unsigned char#define uint unsigned int/bit flag;/#define wei 0xa0;/#define duan 0x90;uchar data diadata5;/uint tvalueuchar tflag;sbit DQ=P37;bit f=0;uchar tempint,tempdp;uchar TempTab4;/week_value2;uchar code discode=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80

18、,0x90,0xbf;void delay() uchar i,j; for(i=0;i5;i+) for(j=0;j0;i-) DQ=0; dat=1; DQ=1; if(DQ) dat|=0x80; delay_18B20(10); return(dat); void ds1820wr(uchar wdata) unsigned char i=0; for(i=8;i0;i-) DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata=1;void read_temp()uchar temph,templ,k;f=0;ds1820rst();ds1820wr(0xcc);ds1820wr(0x44);ds1820rst();ds1820wr(0xcc);ds1820wr(0xbe);templ=ds1820rd();temph=ds1820rd();if(temph&0xf8)!=0x00

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論