大學(xué)畢業(yè)設(shè)計-基于DS18B20的溫度測塊量模塊設(shè)計_第1頁
大學(xué)畢業(yè)設(shè)計-基于DS18B20的溫度測塊量模塊設(shè)計_第2頁
大學(xué)畢業(yè)設(shè)計-基于DS18B20的溫度測塊量模塊設(shè)計_第3頁
大學(xué)畢業(yè)設(shè)計-基于DS18B20的溫度測塊量模塊設(shè)計_第4頁
大學(xué)畢業(yè)設(shè)計-基于DS18B20的溫度測塊量模塊設(shè)計_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、;.基于DS18B20的溫度測量模塊設(shè)計DS18B20是現(xiàn)代最常見的溫度傳感器,基于DS18B20的溫度測量模塊是很實用的數(shù)字溫度顯示模塊,在生活中使用廣泛,此溫度傳感器的設(shè)計有重要的意義。本系統(tǒng)在現(xiàn)實生活中實用,并且造價低廉。設(shè)計任務(wù)用STC89S52控制DS18B20,讀取數(shù)據(jù),并對DS18B20轉(zhuǎn)換后的數(shù)據(jù)進行處理,最后在數(shù)碼管上顯示DS18B20測出的溫度。使用6位數(shù)碼管顯示,最高位為符號位,如果溫度值為正,不顯示,如果溫度為負,則顯示負號;第24位顯示溫度值的整數(shù)部分,并在第4位數(shù)據(jù)上顯示小數(shù)點;第5位顯示一位小數(shù),最低位顯示攝氏度符號“C”。設(shè)計原理1、 DS18B20數(shù)字溫度傳感

2、器概述DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。DS18B20產(chǎn)品的特點: 只要求一個端口即可實現(xiàn)通信。 在DS18B20中的每個器件上都有獨一無二的序列號。 實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫。 測量溫度范圍在55。C到125。C之間。 數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。 內(nèi)部有溫度上、下限告警設(shè)置。TO92封裝的DS18B20的引腳排列見圖4-2,其引腳功能描述見表4-1。圖4-2 DS18B20引腳結(jié)構(gòu)圖(底視圖)表

3、4-1DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。2、 小數(shù)的顯示方法DS18B20轉(zhuǎn)換后的數(shù)據(jù)有四位二進制小數(shù),精度為0.0625,可連續(xù)表示一位十進制小數(shù),因此在數(shù)碼顯示時,只顯示1位小數(shù)。在對四位二進制小數(shù)進行處理時,可先計算出這四位二進制小數(shù)對應(yīng)的四位十進制小數(shù),然后對這四位十進制小數(shù)舍棄后三位,只保留一位。在編寫程序時,可編制一個反映二進制小數(shù)與顯示碼對應(yīng)關(guān)系的表格,根據(jù)四位二進制小數(shù)的十六種不同情況查找對應(yīng)的一

4、位十進制小數(shù)的段碼,具體映射關(guān)系如表4-5所示:表4-5 二進制小數(shù)與顯示碼的對應(yīng)關(guān)系二進制小數(shù)位四位十進制小數(shù)保留一位對應(yīng)顯示碼(共陰)00000.000003FH00010.0625106H00100.1250106H00110.187525BH01000.250034FH01010.312534FH01100.3750466H01110.4375466H10000.500056DH10010.562567DH10100.625067DH10110.6875707H11000.750087FH11010.812587FH11100.875096FH11110.937596FH程序設(shè)計流程主

5、程序開始初始化、設(shè)置常量調(diào)DS18B20初始化子程序讀取轉(zhuǎn)換溫度值調(diào)數(shù)據(jù)處理子程序生成顯示碼顯示溫度值DS18B20復(fù)位子程序DQ置1DQ置0延時至少573微秒DQ置1短延時,等待DS18B20回應(yīng)DQ=0?FLAG1置1延時DQ置1返回FLAG1置0YN讀溫度值子程序DQ置1DS18B20復(fù)位FLAG1=1發(fā)送0CCH命令,跳過ROM匹配發(fā)送溫度轉(zhuǎn)換命令44H延時750微秒以上DS18B20初始化跳過ROM匹配發(fā)送讀溫度命令0BEH調(diào)用讀數(shù)據(jù)子程序返回寫DS18B20命令子程序設(shè)R2=8進位標志位C清零短延時DQ置0ACC帶進位右移1位將C值寫入DQ短延時DQ置1已讀8位DQ置1返回YNYN

6、讀溫度值子程序設(shè)R1=31H設(shè)R4=2(2字節(jié))已讀8位返回數(shù)據(jù)處理子程序C清零設(shè)R2=8(8位數(shù)據(jù))進位標志位C清0為DQ提供一個低脈沖將DQ值讀入CACC帶進位右移1位將ACC中的值存入R1R1=R1-1讀完2字節(jié)符號位SIGN清零將轉(zhuǎn)換數(shù)據(jù)高字節(jié)最高位移入CC=1C清零SIGN置1,表示負數(shù)將轉(zhuǎn)換數(shù)據(jù)低字節(jié)逐位取反再加1轉(zhuǎn)換數(shù)據(jù)高字節(jié)加進位C分離整數(shù)與小數(shù),整數(shù)存入INTEG,小數(shù)存入DECIM返回YNYNYNC語言程序主要代碼/*/延時函數(shù)/*void delay(unsigned int us) while(us-);/*/DS18 B20 復(fù)位函數(shù)/*void reset(void

7、) uchar x=0; DQ=1;delay(8);DQ=0;delay(80);DQ=1delay(14);x=DQ;delay(20);/*/從DS18 B20中讀一個字節(jié)/*uchar readbyte(void)uchar i=0;uchar dat=0;for (i=8;i0;i-)DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;delay(4);return(dat);/*/向DS18B20中寫一個字節(jié)/*void writebyte (unsigned char dat) uchar i=0; for (i=8;i0;i- -) DQ=0; DQ=dat&0x0

8、1; delay(5); DQ=1; dat=1; delay(4);/*/從DS18B20中讀取實時溫度值/*void readtemp(void) uchar a=0,b=0; reset( ); writebyte(0xCC); /跳過序列號 writebyte(0x44); /啟動溫度轉(zhuǎn)換 reset(); writebyte(0xCC); writebyte(0xBE); a=readbyte( ); b=readbyte( ); if(b0x0f) a=a+1; if(a=0) b=b+1; else b=b; flag=10; else flag=12; temper0=a&0x

9、0f; a=a4; temper1=b4; temper1=temper1|a;/*/動態(tài)掃描顯示函數(shù)/*void scandisp( ) unsigned char i,value; for (i=0;i8;i+) P3=0xff; value=tabledispbufi; if(i=3) value|=0x80; P0=value; P3=scani; delay(50); /*/主函數(shù)/*void main()uchar temp,temp1;while (1) scandisp( ); readtemp( ); temp1=temper0; temp=temper1; dispbuf4

溫馨提示

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

最新文檔

評論

0/150

提交評論