DSB數(shù)字溫度計設(shè)計實驗報告_第1頁
DSB數(shù)字溫度計設(shè)計實驗報告_第2頁
DSB數(shù)字溫度計設(shè)計實驗報告_第3頁
DSB數(shù)字溫度計設(shè)計實驗報告_第4頁
DSB數(shù)字溫度計設(shè)計實驗報告_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)丿課t t報告數(shù)字溫度告姓名學號:段石磊指導(dǎo)老師:萬青設(shè)計時間:2015年12月電子與信息工程學院1.1.1.1.2.言設(shè)計意義.系統(tǒng)功能要求2.方案設(shè)計3.硬件設(shè)計4.軟件設(shè)計5.系統(tǒng)調(diào)試設(shè)計總結(jié)7.8.作品展示159.參考文獻17DS18B20數(shù)字溫度計設(shè)計1.引言1.1.設(shè)計意義在日常生活及工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多 的外部硬件支持。其缺點如下:硬件電路復(fù)雜;軟件調(diào)試復(fù)雜;制作成本高。本數(shù)字溫度計設(shè)計采用美國DALLAS導(dǎo)體公司繼DS1820之后推出的一種改進型

2、智能溫度傳感器DS18B20乍為檢測元件,測溫范圍為-55125C,最高分辨率可達0.0625 C。DS18B20可以直接讀出被測溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的熱點。1.2.系統(tǒng)功能要求設(shè)計出的DS18B2(數(shù)字溫度計測溫范圍在-55125C,誤差在0.5 C以內(nèi),采用LED數(shù)碼管直接讀顯示。2.方案設(shè)計按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由3個模塊組成:主控制器、測溫電路和顯示電路。數(shù)字溫度計總體電路結(jié)構(gòu)框圖如4.1圖所示:5、RST復(fù)位輸入。RST旦變成高電I/O引腳就復(fù)位到“1”。當振蕩器正在運行出RST引I腳兩個機器周期的高電平便可完成個機器

3、周期需12個振蕩器或時鐘周期。6、XTAL1:作為振蕩器反相器的輸入和發(fā)生器的輸入。直一 lAllAl V2 2192Y42Y4 31811A21A2 4 41717姑 4 4m 5 51616IY21 1 罔一6741S244741S244 巧* * 2A32A32Y22Y2 7 71414 IY3IY31A41A4 8 81313 2A22A22Y12Y1 9 9121Y41Y4GNDGND 一101011112A12A1圖4.13.硬件設(shè)計溫度計電路設(shè)計原理圖如下圖所示,控制器使用單片機AT89C2051溫度傳感器使用DS18B20使用四位共陽LED數(shù)碼管以動態(tài)掃描法實現(xiàn)溫度顯示。主控制

4、器單片機AT89C2051具有低電壓供電和小體積等特點,兩個端口剛好滿足電路系統(tǒng)的設(shè)計需要,很適合便攜手持式產(chǎn)品的設(shè)計使用。系統(tǒng)可用兩20mA電流并能直接驅(qū)動LED顯示。當內(nèi)部的寫入“1”時,其可用作輸入端。當引腳P 1.2-P 1.7用作輸入并被外部拉低時,它們將因內(nèi)部的上拉電阻而流出電流。4、P3口:P3口的P3.0-P3.5、P3.7是帶有內(nèi)部上拉電阻 的七個雙向I/O口引腳。P3.6用于固定輸入片內(nèi)比較器的輸出信號并且它作為一通用I/O引腳而不可訪問。P3口緩 沖器可吸收20mA電流。當P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可用作輸入端。用作輸入時,被外部拉低的P3口腳將用上拉電

5、阻而流出電流。節(jié)電池供電。AT89C2051的引腳圖如右圖所PDIP/SOICPDIP/SOIC示:1、VCC電源電壓。2、GND地。3、P1口:P1口是一個8位雙向口引腳P 1.2P 1.7提供內(nèi)部上拉電阻,P1.1要求外部上拉電阻。P1.0和P1.1作為片內(nèi)精密模擬比較器的同相輸入RSOTPPRSOTPP C Ct t:ivccivcc(ftXO(ftXO片0 0 C C3 311*11* w w 7 7(TXD)(TXD) 1 1 C C3 3114114 3 3 P-IIP-II 4 4EWEEWE4 4117117 3 3 R R 5 5XTALIC5 5IlfIlf 3 3 PMP

6、Ma a1i41i4 1 1護 2(fSTll)P3(fSTll)P3 3C3C7 714143 32 2rro)P3rro)P3 4(4(:a a13133 3 FlFl t t (AIN1)(AIN1)9 9T?T?J J PlPl 0 0 (Airwi(AirwiOMOOMO匚1010IllIll1 1I/O口。P1.0和(ANI0)和反相輸入(AIN1)。P1口輸出緩沖器ATB9C2051ATB9C2051可吸收腳寫入“1”時,其可用作輸入端,當引腳P1.2P 1.7用作輸入并被外部拉低時,它們將因平所有的時,持續(xù)給復(fù)位。每內(nèi)部時鐘7、XTAL2作為振蕩器反相放大器的輸出??偩€驅(qū)動器7

7、4LS24474LS244為3態(tài)8位緩沖器,一般用作總線驅(qū)動器。引腳圖見上圖。顯示電路顯示電路采用4位共陽極LED數(shù)碼管,從P1口輸出段碼,列掃描用P3.0P3.3口來 實現(xiàn),列驅(qū)動用8055三極管。溫度傳感器DS18B20DS18B20的性能特點:適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電。獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。4、DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。5

8、、溫范圍55C+125C,在-10+85C時精度為0.5 C。6可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5 C、0.25 C、0.125 C和0.0625 C,可實現(xiàn)高精度測溫。1、2、理器與DS18B2啲雙向通訊。3、DS18B20可以采用電源供電方式,此時DS18B20腳接地,第2腳作為信號線,第3腳接電源。7、在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,快。8、測量結(jié)果直接輸出數(shù)字溫度信號,以一線總傳送給CPU同時可傳送CRC校驗碼,具有極強的抗干能力。9、負壓特性:電源極性接反時,芯片不會因發(fā)熱但不能正常工作。DS18

9、B2(與單片機的接口電路(引腳圖)為數(shù)字,速度更線串行而燒毀,圖見右S1TDS1TD I/OI/O UDDUDDPR-PR-2 2 封裝4.軟件設(shè)計系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序 和顯示數(shù)據(jù)刷新子程序等。4.1主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量溫度值。溫度測量每1s進行一次。主程序流程圖如圖4.1所示。4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時必須進行CRC校驗,校驗有錯時不能進行溫度數(shù)據(jù)的改寫。讀出溫度子程序流程圖如下圖所示:發(fā)溫度轉(zhuǎn)換開始命令讀出溫度子程序 讀出溫度子程序的

10、主要功能是讀出RAM中的9字節(jié)。在讀出時須進顯示數(shù)據(jù)刷新行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。得出溫度子程序流程圖如下圖所示。命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令。當采用12位 分辨率時, 轉(zhuǎn)換時間約為750ms在本程序設(shè)計中, 采用1s顯示程序延時法等待轉(zhuǎn)換的完度值正負的判定。計算溫度子程序流程圖如下左圖所示現(xiàn)實數(shù)據(jù)刷新子程序現(xiàn)實數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行 刷新操作,當最高數(shù)據(jù)發(fā)讀取溫度指令讀取操作,逆 C C 校驗成。溫度轉(zhuǎn)換命令子程序流程圖如下圖所示。RAM中讀取值進行BCD碼的轉(zhuǎn)換運算,并進行溫初始化調(diào)初次上電CRC校驗正確?發(fā) DS18B20DS18B20

11、 復(fù)位指令發(fā)跳過 ROMtROMt 令溫度轉(zhuǎn)換,移入溫 度暫存結(jié)束計算溫度子程序發(fā)跳過1818RO0RO0 復(fù)位命令發(fā)溫度轉(zhuǎn)換開始命令顯示位為0時,將符號顯示位移入下一位。現(xiàn)實數(shù)據(jù)刷新子程序流硬件調(diào)試比較簡單,首先檢查電感的焊接是否正確,然后可用萬用表測試或通電檢測。軟件調(diào)試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和現(xiàn)實數(shù)據(jù)刷新子程序等的編程及調(diào)由于DS18B2(與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20S行讀/寫編程時必須嚴格地保證讀/寫時序;否則將無法讀取測量結(jié)果。本程序采用單片機匯編或C語言編寫用Wave3.2

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

13、供電。2、連接DS18B20的總線電纜是有長度限制的,因此在用DS18B20S行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配等問題。3、在DS18B2測溫程序設(shè)計中,向DS18B2發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號。一旦某個DS18B20接觸不好或斷線,當程序讀DS18B20寸,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS18B2(硬件連接和軟件設(shè)計時要給予一定的重視。/6.設(shè)計總結(jié)歷時2個星期的單片機課程設(shè)計已經(jīng)結(jié)束了,在這兩個星期的時間里,我們在老師的 指導(dǎo)下完成了基于DS18B20勺數(shù)字溫度計的設(shè)計和制作。 在進行實驗的過程中, 我們了解 并熟悉DS18

14、B20 AT89C2051以及74LS244的工作原理和性能。并且通過溫度計的制作,我們將電子技能實訓課堂上學到的知識進行運用,并在實際操作中發(fā)現(xiàn)問題,解決問題,更 加增加對知識的認識和理解。在課程設(shè)計的過程中,也遇到了一些問題。比如最開始根據(jù)課本上的電路圖進行合理 的設(shè)計布局和布線。有些同學的布局不合理,導(dǎo)致焊接的過程中任務(wù)相當繁重,并且不美 觀。在之后的燒程序調(diào)試的時候,出現(xiàn)問題之后,沒有合理布線的同學在查找問題的過程 中相當棘手。在焊接過程中,出現(xiàn)最多的就是虛焊問題。對于這個問題,在焊接的過程中,我盡量 依照書中的指導(dǎo),盡量將焊點焊成水滴狀,最后接電后再根據(jù)數(shù)碼管的顯示情況進行逐個 排查

15、。在將程序燒到單片機之后,接上電源,發(fā)現(xiàn)數(shù)碼管沒有出現(xiàn)正常的“000.0”,而是出現(xiàn)了“666.6”,在檢查線路無誤之后,和其他的同學討論之后得出結(jié)論:書中程序是對于單片機、電阻及數(shù)碼管是直接連接而設(shè)計的,而在加入了74LS244之后,要將8個輸入輸出端口進行掉序。于是,我便將8個端口進行調(diào)換,之后再次接通電源,數(shù)碼管顯示“000.0”, 調(diào)試成功。在自己的溫度計制作完成之后,我還幫助其他沒有完成的同學進行檢修,并且成功幫 助2位同學找到問題進行解決,最后都調(diào)試成功。總之,在這2個星期中,通過自己在實驗室動手制作數(shù)字溫度計,不僅將課本的知識與實踐相結(jié)合,而且在實踐中更加深入了解書中原本抽象的知

16、識。這也是整個課程設(shè)計中 最有收獲的地方。7.附 錄源程序代碼/*/DS18B20溫度計C程序/*/使用AT89C2051單片機,12MHZ晶振,用共陽LED數(shù)碼管/P1口輸出段碼,P3口掃描/#pragma src(d:aa.asm)#include reg51.h#include intrins.h /_nop_();#define uchar unsigned char#define uint unsigned intUcharditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0

17、 x08,0 x08,0 x09,0 x09uchar dis_712=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 xff,0 xbf;- */ uchar code scan_con4=0 xfe,0 xfd,0 xfb,0 xf7; /uchar data display5=0 x00,0 x00,0 x00,0 x00,0 x00;/個運算暫存用/*共陽LED段碼表0 1 2 3 4 5 6 78 9 不亮延時函數(shù)用#define Disdata P1 /段碼輸出口#define discan P3 /掃描口

18、sbit DQ=P3A7;/溫度輸入口sbit DIN=PIP;/LED小數(shù)點控制uint h;/*溫度小數(shù)部分用查表法*/codecode列掃描控制字uchar data temp_data2=0 x00,0 x00;/讀出溫度暫放顯示單元數(shù)據(jù),共4個數(shù)據(jù),/*11微秒延時函數(shù)*/void delay(uint t)for(;t0;t-);/*顯示掃描函數(shù)*/scan()char k;Disdata=dis_7displayk;if(k=1)DIN=0;discan=scan_conk;delay(90);discan=0 xff;/ / /*18B20復(fù)位函數(shù)*/ow_reset(void

19、) char presence=1;while(presence) while(presence)DQ=1;_nop_();_nop_();DQ=0; /for(k=0;k0; i-) /DQ=1;_nop_();_nop_();DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();/5usDQ = 1;delay(1);/*18B20讀1個字節(jié)函數(shù)*/DQ = val&0 x01; /最低位移出delay(6);/66usval=val/2;/右移一位write_byte(0 xCC); / Skip ROM/從總線上讀取一個字節(jié)uchar r

20、ead_byte(void) uchar i;uchar value = 0;for (i=8;i0;i-)DQ=1;_nop_();_nop_();value=1;_nop_();_nop_();_nop_();_nop_(); /4usDQ = 1;_nop_();_nop_();_nop_();_nop_(); /4usif(DQ)value|=0 x80;DQ=1;return(value);/ read_temp()write_byte(0 xCC);/發(fā)Skip ROM命令temp_data0=read_byte(); /temp_data1=read_byte(); /ow_reset();DQ = 0;/ow_reset();/總線復(fù)位write_byte(0 xBE);/發(fā)讀命令delay(6);/66us/*讀出溫度函數(shù)*/溫度低8位溫度高8位write_byte(0 xCC); / Skip ROM/*溫度數(shù)據(jù)處理函數(shù)*/work_temp()uchar n=0; /i

溫馨提示

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

評論

0/150

提交評論