ORL A,#1FH CPL A JZ GG5
LCALL CHANGESTATE GG5:LJMP REC
SIN1:NOP
MOV DPTR,#TABSIN SIN: JNB TF1,G1 CLR TF1 INC R1 MOV A,R1
MOVC A,@A+DPTR MOV P1,A
LCALL DISPLAY G1: MOV A,P3 ORL A,#1FH CPL A JZ G2
LCALL DELAY MOV A,P3 ORL A,#1FH CPL A JZ G2
LCALL CHANGESTATE G2: LJMP SIN
CHANGESTATE:
JB P3.7,GOTO1 INC R0
CJNE R0,#03H,GOTO1 MOV R0,#00H GOTO1: JB P3.6,GOTO2 INC R6
GOTO2: JB P3.5,GOTO3 DEC R6 GOTO3: MOV A,P3 CPL A
JNZ GOTO3 LJMP REMAIN
JM:MOV DPTR,#TABNUM MOV A,R6 MOV B,#100
19
DIV AB
MOVC A,@A+DPTR MOV 14H,A MOV A,B MOV B,#10 DIV AB
MOVC A,@A+DPTR MOV 15H,A MOV A,B
MOVC A,@A+DPTR MOV 16H,A
MOV DPTR,#TABWM MOV A,R0 MOV B,#03H MUL AB MOV 10H,A
MOVC A,@A+DPTR MOV 11H,A INC DPTR MOV A,10H
MOVC A,@A+DPTR MOV 12H,A MOV A,10H INC DPTR
MOVC A,@A+DPTR MOV 13H,A RET
DISPLAY: SETB P2.6 MOV P0,11H CLR P2.6
MOV P0,#0FFH SETB P2.7
MOV P0,#0FEH CLR P2.7
MOV P0,#0FFH LCALL DELAY
SETB P2.6 MOV P0,12H CLR P2.6
20
MOV P0,#0FFH SETB P2.7
MOV P0,#0FDH CLR P2.7
MOV P0,#0FFH LCALL DELAY
SETB P2.6 MOV P0,13H CLR P2.6
MOV P0,#0FFH SETB P2.7
MOV P0,#0FBH CLR P2.7
MOV P0,#0FFH LCALL DELAY
SETB P2.6 MOV P0,14H CLR P2.6
MOV P0,#0FFH SETB P2.7
MOV P0,#0F7H CLR P2.7
MOV P0,#0FFH LCALL DELAY
SETB P2.6 MOV P0,15H CLR P2.6
MOV P0,#0FFH SETB P2.7
MOV P0,#0EFH CLR P2.7
MOV P0,#0FFH LCALL DELAY
SETB P2.6 MOV P0,16H CLR P2.6
MOV P0,#0FFH SETB P2.7
MOV P0,#0DFH CLR P2.7
21
MOV P0,#0FFH LCALL DELAY RET
DELAY:MOV R2,#0FFH MOV R3,#1 LOOP:
DJNZ R3,LOOP MOV R3,#2 DJNZ R2,LOOP RET
TABNUM: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH TABWM: DB 6DH,06H,37H,07H,77H DB 30H,77H,79H,39H TABSIN:
DB 80H,83H,86H,89H,8DH,90H,93H,96H
DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H DB 96H,93H,90H,8DH,89H,86H,83H,80H DB 80H,7CH,79H,78H,72H,6FH,6CH,69H DB 66H,63H,60H,5DH,5AH,57H,55H,51H DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH DB 38H,35H,33H,30H,2EH,2BH,29H,27H DB 25H,22H,20H,1EH,1CH,1AH,18H,16H DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH DB 09H,08H,07H,06H,05H,04H,03H,02H DB 02H,01H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,01H,02H DB 02H,03H,04H,05H,06H,07H,08H,09H DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
22
DB 27H,29H,2BH,2EH,30H,33H,35H,38H DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH DB 51H,55H,57H,5AH,5DH,60H,63H,66H DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
END
23
24