<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ò ) 收藏

*
程序效果:通過(guò)值,對應的溫度值
程序重在理解時(shí)序,及延時(shí)時(shí)間
*/

DS18DQ EQU P1.3 //P1.3與DS18DQ等同,便于理解
SPEAKER EQU P2.0 //驅動(dòng)蜂鳴器
TEMPH EQU 29H //保存讀出溫度的低8位
TEMPL EQU 28H //保存讀出溫度的高8位
DS18FLAG EQU 40H //設置標志
ORG 0000H
LJMP START
ORG 0030H
START: MOV 30H,#00 //設置初始值
MOV 31H,#00
MOV 32H,#00
START1: LCALL DS18_GF //設置的工作方式
LCALL CONVERT_TEMPERATURE //輸出轉換溫度命令
LCALL DELAY750MS //延時(shí)750ms
LCALL GET_TEMPERATURE //獲?溫度數據
LCALL CAL_TEMPERATURE //計算溫度數值
LCALL DISPLAY //調用,防止掉顯
LJMP START1 //無(wú)限循環(huán)
//初始化子程序
DS18_START:
PUSH 07H //保存R7的值,防止改變R7的數值
SETB DS18DQ //將數據線(xiàn)拉高
NOP //延時(shí)1us
CLR DS18DQ //將數據線(xiàn)拉低
MOV R7,#0 //延時(shí)大約512us
DJNZ R7,$
SETB DS18DQ //將數據線(xiàn)拉高
MOV R7,#40
DS18_START1: //延時(shí)大約160us
JNB DS18DQ,DS18_START2 //檢查是否工作正常
DJNZ R7,DS18_START1
SETB DS18FLAG //工作不正常
CLR SPEAKER //驅動(dòng)蜂鳴器,報警
DS18_START2:
CLR DS18FLAG
MOV R7,#100 //延時(shí)月200us
DJNZ R7,$
POP 07H //恢復R7的值
RET
//設置DS18B20工作方式
DS18_GF:CLR DS18FLAG //清除標志
LCALL DS18_START //調用初始化子程序
MOV A,#0CCH //跳躍ROM指令
LCALL DS18_SEND //
MOV A,#4EH //向RAM寫(xiě)數據
LCALL DS18_SEND
MOV A,#75
LCALL DS18_SEND
MOV A,#0
LCALL DS18_SEND
MOV A,#7FH //設置工作方式
LCALL DS18_SEND
CLR DS18DQ //釋放總線(xiàn)
LCALL DELAY500US //延時(shí)500us
LOOP: LCALL CONVERT_TEMPERATURE //調用轉子程序
MOV R5,#80
LOOP1: LCALL DISPLAY //調用防止掉顯,同時(shí)等待轉換完成
DJNZ R5,LOOP1
LCALL GET_TEMPERATURE //獲?轉換值
LCALL CAL_TEMPERATURE //計算溫度值
LJMP LOOP
RET

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

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

評論


相關(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>