關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 數(shù)字溫度傳感器DS18B20的原理與應(yīng)用

數(shù)字溫度傳感器DS18B20的原理與應(yīng)用

作者: 時(shí)間:2010-04-02 來(lái)源:網(wǎng)絡(luò) 收藏

;------------------------
READ:CLREA
MOVR6,#8;循環(huán)8次,讀一個(gè)字節(jié)
RD11:CLRDAT
MOVR4,#4
NOP;低電平持續(xù)2μs
SETBDAT;口線(xiàn)設(shè)為輸入
RD12:DJNZR4,RD12
;等待8μs
MOVC,DAT
;主機(jī)按位依次讀入的數(shù)據(jù)
RRCA;讀取的數(shù)據(jù)移入A
MOVR5,#30
RD13:DJNZR5,RD13
;保證讀過(guò)程持續(xù)60μs
DJNZR6,RD11
;讀完一個(gè)字節(jié)的數(shù)據(jù),存入A中
SETBDAT
RET
;------------------------
主機(jī)控制完成轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。必須先啟動(dòng)開(kāi)始轉(zhuǎn)換,再讀出轉(zhuǎn)換值。假設(shè)一線(xiàn)僅掛接一個(gè)芯片,使用默認(rèn)的12位轉(zhuǎn)換精度,外接供電電源,可寫(xiě)出完成一次轉(zhuǎn)換并讀取值子程序GETWD。

本文引用地址:http://butianyuan.cn/article/163163.htm

GETWD:LCALLINIT
MOVA,#0CCH
LCALLWRITE;發(fā)跳過(guò)ROM命令
MOVA,#44H
LCALLWRITE;發(fā)啟動(dòng)轉(zhuǎn)換命令
LCALLINIT
MOVA,#0CCH;發(fā)跳過(guò)ROM命令
LCALLWRITE
MOVA,#0BEH;發(fā)讀存儲(chǔ)器命令
LCALLWRITE
LCALLREAD
MOVWDLSB,A
;溫度值低位字節(jié)送WDLSB
LCALLREAD
MOVWDMSB,A
;溫度值高位字節(jié)送WDMSB
RET
……

子程序GETWD讀取的溫度值高位字節(jié)送WDMSB單元,低位字節(jié)送WDLSB單元,再按照溫度值字節(jié)的表示格式及其符號(hào)位,經(jīng)過(guò)簡(jiǎn)單的變換即可得到實(shí)際溫度值。

如果一線(xiàn)上掛接多個(gè)DS18B20、采用寄生電源連接方式、需要進(jìn)行轉(zhuǎn)換精度配置、高低限報(bào)警等,則子程序GETWD的編寫(xiě)就要復(fù)雜一些,限于篇幅,這一部分不再詳述,請(qǐng)參閱相關(guān)內(nèi)容。

我們已成功地將DS18B20于所開(kāi)發(fā)的“家用采暖洗浴器”控制系統(tǒng)中,其轉(zhuǎn)換速度快,轉(zhuǎn)換精度高,與微處理器的接口簡(jiǎn)單,給硬件設(shè)計(jì)工作帶來(lái)了極大的方便,能有效地降低成本,縮短開(kāi)發(fā)周期。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉