INC_COUNTER: MOV A,COUNTER+1 ADD A,#01 DA A MOV COUNTER+1,A CJNE A,#01H,REPPA1 AJMP DCV2 REPPA1: CJNE A,#02H,REPPA2 AJMP DCV2 REPPA2: CJNE A,#03H,REPPA3 AJMP DCV2 REPPA3: CJNE A,#04H,REPPA4 AJMP DCV2 REPPA4: CJNE A,#05H,REPPA AJMP DCV2 REPPA: MOV COUNTER,#00H MOV COUNTER+1,#01H MOV R1,#COUNTER MOV R4,#0EH MOV R6,#2 CALL STORE_EEPROM CALL DELAY AJMP DVB1 DCV2: MOV R1,#COUNTER MOV R4,#0EH MOV R6,#2 CALL STORE_EEPROM CALL DELAY RET DVB1: MOV A,READING+1 ADD A,#01H DA A MOV READING+1,A JNC DCS1 MOV A,READING ADD A,#01 DA A MOV READING,A DCS1: MOV R1,#READING MOV R4,#05H MOV R6,#2 CALL STORE_EEPROM CALL DELAY MOV A,AMOUNT+2 TOTAL0: CLR C SUBB A,PRICE+1 CALL BCD_CONV MOV AMOUNT+2,A MOV A,AMOUNT+1 TOTAL1: SUBB A,PRICE CALL BCD_CONV MOV AMOUNT+1,A MOV A,AMOUNT TOTAL2: SUBB A,#00H CALL BCD_CONV MOV AMOUNT,A MOV R1,#AMOUNT MOV R4,#0AH MOV R6,#3 CALL STORE_EEPROM CALL DELAY MOV A,AMOUNT+1 CJNE A,#40H,FCX1 MOV BUZZ_COUNT,#02H SETB BUZZER FCX1: CJNE A,#38H,FAX1 MOV BUZZ_COUNT,#02H SETB BUZZER FAX1: CJNE A,#41H,FAAX1 MOV BUZZ_COUNT,#02H SETB BUZZER FAAX1: CJNE A,#20H,FCX2 MOV BUZZ_COUNT,#03H SETB BUZZER FCX2: CJNE A,#19H,FAX2 MOV BUZZ_COUNT,#03H SETB BUZZER FAX2: CJNE A,#21H,FAAX2 MOV BUZZ_COUNT,#03H SETB BUZZER FAAX2: CJNE A,#10H,FCX3 MOV BUZZ_COUNT,#04H SETB BUZZER FCX3: CJNE A,#11H,FCX4 MOV BUZZ_COUNT,#04H SETB BUZZER FCX4: CJNE A,#09H,FAX4 MOV BUZZ_COUNT,#04H SETB BUZZER FAX4: MOV A,AMOUNT+2
CLR C SUBB A,PRICE+1 CALL BCD_CONV MOV A,AMOUNT+1
SUBB A,PRICE MOV A,AMOUNT CLR TBIT JNC POP1 SETB TBIT POP1: CJNE A,#00H,BACK JNB TBIT,BACK MOV BALANCE,#00H MOV R1,BALANCE MOV R4,#15H MOV R6,#1 CALL STORE_EEPROM CALL DELAY CLR RELAY SETB BUZZER BACK: RET BCD_CONV: CLR BCDCARRY CLR CARRY JNC LOP2 SETB CARRY LOP2: JNB AC,LOP1 SETB BCDCARRY CLR C SUBB A,#06H LOP1: JNB CARRY,LOP3 CLR C SUBB A,#60H LOP3: CLR C JNB CARRY,LOP4 SETB C LOP4: RET READ_BALANCE: MOV R1,#BALANCE
MOV R4,#15H
MOV R6,#1 CALL READ_EEPROM RET READ_COUNTER: MOV R1,#COUNTER
MOV R4,#0EH
MOV R6,#2 CALL READ_EEPROM RET READ_PRICE: MOV R1,#PRICE
MOV R4,#10H
MOV R6,#2 CALL READ_EEPROM RET