ORG 0000H
OUT EQU P3.2
AJMP MAIN
ORG 0030H
MAIN:
LCALL INIT
LCALL READ1838
MOV 30H,A
LCALL READ1838
MOV 31H,A
LCALL READ1838
MOV 32H,A
LCALL READ1838
MOV 33H,A
MOV P0,30H
MOV A,30H
CJNE A,#92H,LI
SETB P1.7
AJMP MAIN
LI:CLR P1.7
AJMP MAIN
INIT: mov r4,#10
po: JB OUT,$
lcall delay4;0.9MS
JB OUT,INIT
djnz r4,po
JNB OUT,$
LCALL DELAY1;4.5毫秒
RET
READ1838:MOV R2,#08
PP: JB OUT,$
JNB OUT,$
LCALL DELAY2;0.6毫秒毫秒
JB OUT,ONE
CLR C
RRC A
AJMP S
ONE:SETB C
RRC A ;低位在前
S:DJNZ R2,PP
RET
DELAY4: ;誤差 -1.041666666667us 0.9MS
MOV R6,#0A5H
DL40:
MOV R5,#01H
DJNZ R5,$
DJNZ R6,DL40
RET
DELAY1: ;誤差 0us ;4.5毫秒
MOV R6,#65H
DL10:
MOV R5,#13H
DJNZ R5,$
DJNZ R6,DL10
RET
DELAY2: ;誤差 -0.347835623697us 0.78
MOV R6,#8FH
DL20:
MOV R5,#01H
DJNZ R5,$
DJNZ R6,DL20
RET
END
|