在网上搜索了很久,18B20的CRC校验只有C51的,没有发现A51汇编子程序,只好自己动手。入口:8字节数据在40H——47H,出口:CRC校验结果在B中。子程序如下:(有更精简的朋友请留言)
calibration:
MOV B,#0
MOV R0,#40H
calib_0:
MOV R6,#8
MOV A,@R0
calib_1:
RRC A
PUSH ACC
MOV A,B
RR A
MOV B.7,C
XRL B,A
MOV C,B.7
MOV ACC.7,C
MOV B.3,C
MOV B.2,C
XRL B,A
MOV C,B.3
MOV ACC.3,C
MOV C,B.2
MOV ACC.2,C
MOV B,A
POP ACC
DJNZ R6,calib_1
INC R0
CJNE R0,#48H,calib_0
RET
用户1406868 2012-1-18 22:29