DS18B20数字温度计的设计(一)(第7页)
本文共计10691个字,预计阅读时长36分钟。【 字体:大 中 小 】
微信号已复制到剪贴板
MOV TEMPHC , #0BH
SJMP TEMC11
TEMPC1: MOV TEMPHC , #0AH
TEMPC11: MOV A , TEMPHC
SWAP A
MOV TEMPHC , A
MOV A , TEMPL
ANL A , #0FH
MOV DPTR , #TEMPDOTTAB
MOVC A , @A+DPTR
MOV TEMPLC , A
MOV A , TEMPL
ANL A , #0F0H
SWAP A
MOV TEMPL , A
MOV A , TEMPH
ANL A , #0FH
SWAP A
ORL A , TEMPL
LCALL HEX2BCD1
MOV TEMPL , A
ANL A , #0F0H
SWAP A
ORL A , TEMPHC
MOV TEMPHC , A
MOV A , TEMPL
ANL A , #0FH
SWAP A
ORL A , TEMPLC
MOV TEMPLC , A
MOV A , R7
JZ TEMPC12
ANL A , #0FH
SWAP A
MOV A , TEMPHC
ANL A , #0FH
ORL A , R7
TEMPC12: RET
TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H, 04H, 04H, 05H, 06H,
BCD1:MOV B , #064H
DIV AB
MOV R7 , A
MOV A , #0AH
XCH A , B
DIV AB
SWAP A
ORL A , B
RET
CRC8CAL: PUSH ACC
MOV R7 , #08H
CRC8LOOP1: XRL A , B
RRC A
MOV A , B
JNC CRC8LOOP2
XRL A , #18H
CRC8LOOP2: RRC A
MOV B , A
POP ACC
RR A
PUSH ACC
DJNZ R7 , CRC8LOOP1
POP ACC
RET
END
