<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DS18B20讀取溫度并顯示-匯編程序

DS18B20讀取溫度并顯示-匯編程序

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

//輸出轉換溫度命令
CONVERT_TEMPERATURE:
LCALL DS18_START //調用初始化子程序
MOV A,#0CCH //跳躍ROM指令
LCALL DS18_SEND
MOV A,#44H //溫度轉換
LCALL DS18_SEND
RET
//讀?溫度數據
GET_TEMPERATURE:
LCALL DS18_START //調用初始化子程序
MOV A,#0CCH //跳躍ROM指令
LCALL DS18_SEND
MOV A,#0BEH //從RAM中的數據
LCALL DS18_SEND
LCALL DELAY60US
LCALL DS18_READ
MOV TEMPL,A //將獲得數據的低八位存到TEMPL
LCALL DS18_READ
MOV TEMPH,A //將獲得數據的高八位存到TEMPH
CLR DS18DQ //即復位。否則會(huì )一直讀到
LCALL DELAY501US //暫存第九字節
RET
//計算獲得溫度值,便于現實(shí)
CAL_TEMPERATURE:
PUSH 07H //暫存,防止改變R7的數據
CLR C //進(jìn)位標志清零
MOV R7,#04H //循環(huán)次數

EX2: MOV A,TEMPH // 這些語(yǔ)句的作用是:
RRC A // 整數位在:TEMPL中
MOV TEMPH,A //?數位在:TEMPH中的高半
MOV A,TEMPL
RRC A
MOV TEMPL,A
DJNZ R7,EX2 //

MOV A,TEMPH //
RLC A //這些語(yǔ)句的作用是:
RLC A //把TEMPH得高半移到低四位中
RLC A
RLC A //
ANL A,#0FH //屏蔽高四位,保留低四位
MOV DPTR,#TAB_TEMP //賦帶?數點(diǎn)的數值表的表首地址
MOVC A,@A+DPTR
MOV 30H,A //暫存該值,用于
MOV A,TEMPL
CLR C
MOV B,#0AH
DIV AB //分離整數位的高低四位
MOV 32H,A //暫存十位
MOV A,B
ADD A,#10H
MOV 31H,A //暫存個(gè)位
POP 07H //恢復R7的值
RET
//寫(xiě)數據子程序
DS18_SEND:
PUSH 06H //保護Rn的值
PUSH 07H
//以下語(yǔ)句是"寫(xiě) 筆斃虻腦?
SETB DS18DQ //寫(xiě)時(shí)序是有DS18DQ的下降沿決定
NOP //延時(shí)1us
MOV R6,#08H //循環(huán)次數,一個(gè)字節
DS18_SEND1:
CLR DS18DQ //拉低,產(chǎn)生下降沿
MOV R7,#07 //延時(shí)大約15us
DJNZ R7,$
RRC A //把要寫(xiě)入得數據的高位移到C中
MOV DS18DQ,C //再把C的值賦給DS18DQ
MOV R7,#30 //延時(shí)時(shí)間約為60us,只要大約45us即可
DJNZ R7,$
SETB DS18DQ //拉高準備,下次產(chǎn)生下降沿
DJNZ R6,DS18_SEND1 //判斷循環(huán)次數夠了沒(méi)
POP 07H //恢復Rn的數據
POP 06H
RET
篇幅太大完整程序請從這里下載:http://www.51hei.com/ziliao/file/ds182051hei.asm

本程序已經(jīng)測試成功。

蜂鳴器相關(guān)文章:蜂鳴器原理

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

關(guān)鍵詞: DS18B20 讀取溫度 顯示 匯編程序

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>