|
, 電話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
|