电话IC卡减一角的钱程序
RST EQU P1.6 ;C2
CLK EQU P1.5 ;C3
DIO EQU P1.1 ;C7
LCALL DECMONEY
LJMP $
;========================
DECMONEY:
MOV R5,#0CH
DLOP1: MOV A,R5
LCALL POINT
JNZ NOZ
DEC R5
CJNE R5,#7,DLOP1
RET
NOZ: MOV R4,A
MOV A,R5
DEC A
LCALL POINT
MOV A,R4
DLOP2: RLC A
JC DNEXT
LCALL CLOCK
SJMP DLOP2
DNEXT: MOV A,R5
XRL A,#0CH
JZ TS
LCALL TS
LCALL TS
INC R5
SJMP DLOP1
TS: SETB RST
LCALL DELAY
CLR RST
LCALL DELAY
SETB CLK
MOV R6,#10
DJNZ R7,$
DJNZ R6,$-2
CLR CLK
LCALL DELAY
RET
;========================
POINT: CLR RST
CLR CLK
LCALL DELAY
SETB RST
LCALL DELAY
LCALL CLOCK
CLR RST
LCALL DELAY
ADD A,ACC
ADD A,ACC
ADD A,ACC
LCALL CLOCK
DJNZ ACC,$-3
SETB DIO
MOV R6,#8
R8BIT: MOV C,DIO
RLC A
LCALL CLOCK
DJNZ R6,R8BIT
RET
CLOCK: SETB CLK
LCALL DELAY
CLR CLK
DELAY: MOV R7,#4
DJNZ R7,$
RET
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。