Solicite el programa y el circuito de visualización del tubo digital de cuatro dígitos del control del botón del microcontrolador. Cuando se presionan 7 botones, el tubo digital de cuatro dígitos muestra cuatro 1111~7777 en secuencia.
K1 BIT P1.1
K2 BIT P1.2
K3 BIT P1.3
K4 BIT P1.4 p>
K5 BIT P1.5
K6 BIT P1.6
K7 BIT P1.7 ?
ORG 0000H
?LJMP 0100H
MAIN: MOV ?SP,#70H?
MOV 60H,#0; ¿Enviar el valor inicial de visualización al búfer de visualización? >
?MOV 61H,#0
?MOV 62H,#0 ?
?MOV 63H,#0 LY: ? LCALL ?DISP ? 0000 LL1: JB K1,? LL2
LCALL YS1MS; rebote
JB K1,? p>?MOV 61H,?#1
?MOV 62H,?#1
?MOV 63H,?#1?
LCALL?DISP? ¿Llamar a la subrutina de visualización? Pantalla 1111
LL2: JB K1,?
LCALL YS1MS
JB K1,? ?MOV 60H,?#2
?MOV 61H,?#2
?MOV 62H,?
LCALL ?DISP ? ¿Llamar a la subrutina de visualización? Display 2222
LL3: JB K1,? p>
JB K1,? LL4
?MOV 60H,? >
?MOV 63H,? #3
LCALL ?DISP ? ¿Llamar a la subrutina de visualización 3333
LL4: JB K1,? LCALL YS1MS; rebote
JB K1,? LL5
?MOV 60H,? > ?MOV 62H,? #4
?MOV 63H,? #4
LCALL ?DISP ? Llamar a la subrutina de visualización 4444
LL5: K1,? LL6
LCALL YS1MS; rebote
JB K1,? LL6
?MOV 60H,? 61H,? #5
?MOV 62H,? #5
?MOV 63H,? #5 ?
LCALL ?DISP ?; ?Pantalla 5555
LL6: JB K1,? LL7
LCALL YS1MS; rebote
JB K1,? ,? #6
?MOV 61H,? #6
?MOV 62H,?
LCALL ?DISP ? ¿Llamar a la subrutina de visualización? Pantalla 6666
LL7: JB K1,?
?LLL
?MOV 60H,? #7
?MOV 61H,? > ?MOV 63H,? #7
LCALL ?DISP ? Llamar a la subrutina de visualización 7777
LLL: ?SJMP ? ,#60H ? ;El puntero apunta al búfer de visualización
?MOV R7,#4 ;¿Establecer el número de visualización de ciclos?
?CLR ?C
?MOV R6,#00000001B; ¿Comenzar a mostrar desde p2.0? Es decir, mostrar 1 primero
LL: MOV DPTR,#TAB?; dirección de la expresión de codificación de visualización
?MOV A,@R0
?MOVC? A? > ?MOV ?P0,A ?; Enviar visualización del puerto P0
?MOV ?A,R6
?MOV ?P2,A Bit de visualización de control
?RLC ? A ?; Modificar bit de visualización
p>?MOV ?R6,A
?INC R0 ?; > ?LCALL YS1MS; Tiempo de visualización del retraso
?DJNZ ? R7,LL ?
TAB: ?DB 0C0H,0F9H,0A4H,0B0H, 99H; Código de visualización
?DB 92H,82H,0F8H,80H,98H
YS1MS: MOV R5,#45; Subrutina de retardo
YSLL: MOV R4,#200 YYLL: ? DJNZ R4,YYLL
?DJNZ R5,YSLL
?RET
Jaja? ¿No lo olvides? Dame puntos extra Ah