|
它和LED的原理是一样,在要亮的输出口供电。把输出口的位接到七段显示器的相对应接位。但七段显示器就需要注意供电给每一个位后,可否做到你想做的字或符号。 利用七段显示器来显示计数器从00数到16 ;port 1 connect to 7 segment ;.,a,b,c,d,e,f,g ;port 3.0 and 3.1 connect to 2 npn transitor ;delay=1s
.ORG 0000H START: MOV R1, #(OK-TABLE)/2 MOV DPTR, #TABLE REPEAT: MOV R2, #250 SCAN: ACALL SCAN1 DJNZ R2, SCAN INC DPTR INC DPTR DJNZ R1, REPEAT AJMP START ;=========== ;= SCAN1 = ;=========== SCAN1: MOV R5, #11111101B MOV R4, #02 MOV R0, #00H LOOP: MOV A, R0 MOVC A, @A+DPTR MOV P1, A INC R0 MOV P3, R5 ACALL DELAY ORL P3, #11111111B MOV A, R5 RR A MOV R5, A DJNZ R4, LOOP RET ;=========== ;= DELAY = ;=========== DELAY: MOV R6, #5 DL1: MOV R7, #197 DL2: DJNZ R7, DL2 DJNZ R6, DL1 RET TABLE: .DB 01000000B, 01000000B .DB 01000000B, 01111001B .DB 01000000B, 00100100B .DB 01000000B, 00110000B .DB 01000000B, 00011001B .DB 01000000B, 00010010B .DB 01000000B, 00000010B .DB 01000000B, 01111000B .DB 01000000B, 00000000B .DB 01000000B, 00010000B .DB 01111001B, 01000000B .DB 01111001B, 01111001B .DB 01111001B, 00100100B .DB 01111001B, 00110000B .DB 01111001B, 00011001B .DB 01111001B, 00010010B .DB 01111001B, 00000010B OK: .END |