51單片機(jī)實(shí)驗(yàn)板DS18B20測溫程序
/***********************************************
** 實(shí)驗(yàn)名:51單片機(jī)實(shí)驗(yàn)板溫度測量(DS18B20)
** 創(chuàng)建人: 謝軍洋
** 描 述:P3.7口輸入,輸出數(shù)據(jù)。
**------------------------------------------------------------------
** CPU:MCS-51
** 語言:匯編
** Fosc=12M
此次試驗(yàn)的仿真圖
***************************************************/
GE_BIT EQU 30H
SHI_BIT EQU 31H
BAI_BIT EQU 32H
DI_8BIT EQU 33H
GAO_8BIT EQU 34H
DQ EQU P3.7
ORG 0000H
LJMP START
ORG 0020H
START:
MOV SP,#60H
LCALL ZHUANHUAN ;調(diào)用讀溫度子程序
LCALL CHULI
LCALL DISPLAY ;調(diào)用數(shù)碼管顯示子程序
LJMP START
;-------------------------------------------------
;這是DS18B20復(fù)位初始化子程序
INIT_1820:
SETB DQ
NOP
CLR DQ ;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖
MOV R1,#3
DU_1:
MOV R0,#107
DJNZ R0,$
DJNZ R1,DU_1
SETB DQ ;然后拉高數(shù)據(jù)線
NOP
NOP
NOP
MOV R0,#25H
DU_2:JNB DQ,DU_3 ;等待DS18B20回應(yīng)
DJNZ R0,DU_2
LJMP DU_4 ;延時(shí)
DU_3:SETB F0 ;置標(biāo)志位,表示DS1820存在
LJMP DU_5
DU_4:CLR F0 ;清標(biāo)志位,表示DS1820不存在
LJMP DU_7
DU_5:MOV R0,#117
DU_6:DJNZ R0,DU_6 ;時(shí)序要求延時(shí)一段時(shí)間
DU_7:SETB DQ
RET
51單片機(jī)相關(guān)文章:51單片機(jī)教程
評論