18b20程序及應用
;---------------------------------------------------------------------------------------------------------------------------------
;數(shù)據(jù)整合子程序
;溫度源數(shù)據(jù)的整合,讀出數(shù)據(jù)的高字節(jié)的低四位決定溫度的整數(shù)部分
;低字節(jié)的低四位決定小數(shù)部分
;-----------------------------------------------------------------------------------------------------------------------------
ZHENGHE:MOV A,#0FH
ANL A,WENDU_L ;低字節(jié)的低四位就是小數(shù)部分
MOV XIAOSHU,A ;獲得小數(shù)部分
MOV A,WENDU_L ;將高字節(jié)的低四位移入低字節(jié)的高4位,
MOV C,40H ;獲得的新字節(jié)就是整數(shù)部分的數(shù)據(jù)
RRC A
MOV C,41H
RRC A
MOV C,42H
RRC A
MOV C,43H
RRC A
MOV ZHENGSHU,A
RET
;-----------------------------------------------------------------------------------------------------------------------------------------
;顯示數(shù)據(jù)拆解程序、顯示程序、延時程序
;----------------------------------------------------------------------------------------------------------------------------------------
;數(shù)據(jù)拆解程序
BCD:MOV A,ZHENGSHU
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
MOV A,XIAOSHU
MOV R0,#52H
MOV R2,#4
D0:MOV B,#10
MUL AB
MOV B,#16
DIV AB
MOV @R0,A
INC R0
MOV A,B
DJNZ R2,D0
RET
;-----------------------------------
;顯示程序
;----------------------------------
DISP:ACALL TIME
MOV R7,#6
MOV DPTR,#TAB
MOV R0,#55H
LP1:MOV A ,@R0;
MOVC A,@A+DPTR
CJNE R7,#2,NE1
ANL A,#07FH
NE1:MOV SBUF,A
JNB TI ,$
CLR TI
DEC R0
DJNZ R7,LP1
RET
;----------------------------------------
;延時程序
;----------------------------------------
TIME1:MOV R6,#4
LOOP2:MOV R5,#250
LOOP1:ACALL D1MS
DJNZ R5,LOOP1
DJNZ R6,LOOP2
RET
TIME:MOV R6,#200
LOOP3:ACALL D1MS
DJNZ R6,LOOP3
RET
D1MS:MOV R7,#250
LOOP0:NOP
NOP
NOP本文引用地址:http://butianyuan.cn/article/150417.htm
評論