;port 1 is output connect to 7 segment display ;port 2.0 is puls connect to button ;port 2.1 is minor connect to button ;.,a,b,c,d,e,f,g ;delay=0.005s ORG 0000H START: MOV R0, #00H MOV DPTR, #DATA MOV A, R0 MOVC A, @A+DPTR MOV P1, A MOV P2, #0FFH KEY: JNB P2.0, LOOP JNB P2.1, LOOP1 AJMP KEY ;========== ;= PLUS = ;========== LOOP: ACALL DELAY CJNE R0, #OK-DATA, RUN MOV R0, #0 AJMP OUTPUT RUN: INC R0 OUTPUT: MOV A, R0 MOVC A, @A+DPTR MOV P1,A TEST2: JNB P2.0, TEST2 ACALL DELAY AJMP KEY ;=========== ;= MINUS = ;=========== LOOP1: ACALL DELAY CJNE R0, #0, RUN1 MOV R0, #OK-DATA+1 RUN1: DEC R0 MOV A, R0 MOVC A, @A+DPTR MOV P1,A TEST3: JNB P2.1, TEST3 ACALL DELAY AJMP KEY ;================ ;= DELAY = ;================ DELAY: MOV R6, #21 DL1: MOV R7, #118 DL2: DJNZ R7, DL2 DJNZ R6, DL1 RET ;================ ;= DATA = ;================ DATA: DB 00000001B ;0 DB 01001111B DB 00010010B DB 01001100B DB 00010010B DB 00100000B DB 00001111B DB 00000000B OK: DB 00000100B ;9 END