項目六任務(wù)6- DS18B20溫度采集報警系統(tǒng)設(shè)計_第1頁
項目六任務(wù)6- DS18B20溫度采集報警系統(tǒng)設(shè)計_第2頁
項目六任務(wù)6- DS18B20溫度采集報警系統(tǒng)設(shè)計_第3頁
項目六任務(wù)6- DS18B20溫度采集報警系統(tǒng)設(shè)計_第4頁
項目六任務(wù)6- DS18B20溫度采集報警系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項目六溫度檢測報警系統(tǒng)設(shè)計串口概述任務(wù)一用串口擴(kuò)展I0口(1)任務(wù)二

用串口擴(kuò)展I0口(2)任務(wù)三單片機(jī)雙機(jī)通信任務(wù)四

PC與單片機(jī)通信任務(wù)五DS18B20溫度采集報警系統(tǒng)設(shè)計任務(wù)六任務(wù)六DS18B20溫度采集報警系統(tǒng)設(shè)計任務(wù)描述使用數(shù)字溫度傳感器DS18B20,將采集到的溫度信息送單片機(jī),單片機(jī)處理該實時溫度信息后,通過串口送PC進(jìn)行顯示。知識鏈接溫度傳感器DS18B20溫度傳感器DS18B20

DS18B20是美國DALLAS半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供單片機(jī)處理,可實現(xiàn)溫度的精度測量與控制。DS18B20封裝外形如圖所示。

值得一提的是DQ引腳的I/O為數(shù)據(jù)輸入/輸出端(即單總線),該引腳為漏極開路輸出,常態(tài)下呈高電平。DS18B20引腳功能描述序號名稱描述1GND地信號2DQ數(shù)據(jù)輸入輸出引腳3Vdd(Vcc)電源輸入引腳,當(dāng)工作于寄生電源模式時,此引腳必須接地1、內(nèi)部結(jié)構(gòu)

DS18B20的內(nèi)部框圖如圖所示,主要包括寄生電源、溫度傳感器、存放中間數(shù)據(jù)的高速貯存器、用于存儲用戶設(shè)定的溫度上下限值、觸發(fā)器存儲與控制邏輯、8位循環(huán)冗余校驗碼發(fā)生器和64位編號ROM等7部分。下面重點說明高速貯存器。高速寄存器RAM由9個字節(jié)的存儲器組成。其中,第0、1字節(jié)是溫度轉(zhuǎn)換有效位,第0字節(jié)的低3位存放了溫度的高位,高5位存放溫度的正負(fù)值;第1字節(jié)的高4位存放溫度的低位,后4位存放溫度的小數(shù)部分;第2和第3個字節(jié)是DS18B20的與內(nèi)部E2PROM的有關(guān)的TH和TL,用來存儲溫度上限和下限,可以通過程序設(shè)計把溫度的上下限從單片機(jī)中讀到TH和TL中,并通過程序再復(fù)制到DS18B20內(nèi)部E2PROM中,同時TH和TL在器件加電后復(fù)制E2PROM的內(nèi)容;第4個字節(jié)是配置寄存器,第4個字節(jié)的數(shù)字也可以更新;第5,6,7三個字節(jié)是保留的;第8字節(jié)為CRC校驗值。字節(jié)地址編號寄存器內(nèi)容功能0溫度值低位LSB高5位是溫度的正正負(fù)號,低3位為溫度的高位1溫度值高位MSB高4位為溫度的低位,低4位為溫度小數(shù)部分2高溫度值(TH)溫度上限,最保存在ROM中3低溫度值(TL)溫度下限,最保存在ROM中4配置寄存器5、6、7保留8CRC校驗值2、硬件連接

DS18B20可以作為單片機(jī)外設(shè),單片機(jī)為主器件,DS18B20為從器件。下圖接法是單片機(jī)與一個DS18B20通信,單片機(jī)只需要一個I/O口就可以控制DS18B20,為了增加單片機(jī)I/O口驅(qū)動的可靠性,總線上接有上拉電阻。如果要控制多個DS18B20進(jìn)行溫度采集,只要將所有DS18B20的DQ全部連接到總線上就可以了,在操作時,通過讀取每個DS18B20內(nèi)部芯片的序列號來識別。3、單總線數(shù)據(jù)傳輸原理對于DS18B20的程序設(shè)計,必須遵守單總線協(xié)議。單總線協(xié)議規(guī)定一條數(shù)據(jù)線傳輸串行數(shù)據(jù),時序有嚴(yán)格的控制。DS18B20操作主要分初始化、寫數(shù)據(jù)、讀數(shù)據(jù)。任務(wù)實施1.硬件電路2.程序設(shè)計(部分)1.硬件電路2.程序設(shè)計(部分)串口開始化voidserial_init(){TMOD=0x20;TL1=0xfd;TH1=0xfd;SCON=0x50;PCON&=0xef;TR1=1;IE=0x00;P12=1;}向DS18B20寫一個字節(jié)voidDS18B20_Write_Byte(u8byte){ u8i=0; for(i=0;i<8;i++) { P11=0; //下降沿產(chǎn)生寫時間間隙

delay1us(); if(byte&0x01)//把數(shù)據(jù)對應(yīng)位的電平送到DQ引腳

{ P11=1;} else { P11=0;} delay60us(); //延時60us,等待DS18b20讀取引腳電平

byte>>=1; P11=1; //釋放總線}}//DS18B20讀一個字節(jié)u8DS18B20_Read_Byte(void){ u8i; u8byte=0; for(i=0;i<8;i++) { byte>>=1; P11=0; delay1us(); P11=1; //上升沿產(chǎn)生讀時間間隙

delay7us(); //至少7us以后,讀取DS18B20數(shù)據(jù)

if(P11) { byte|=0x80; } delay60us(); P11=1; //釋放總線

} returnbyte;}效果展示知識總結(jié)

DS18B20初始化時序步驟:1.主機(jī)將端口設(shè)為輸出,先發(fā)送一個高電平,然后再拉低,維持480-960us;(推薦500-600us);2.主機(jī)將端口設(shè)為輸入,上拉電阻此時將電平拉高,主機(jī)等待60US-200us;(推薦100-150us);3.主機(jī)讀取端口數(shù)據(jù),低電平則初始化

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論