Red de conocimiento informático - Conocimiento sistemático - ¿Cómo utilizar el microcontrolador en lenguaje ensamblador 51 para usar la TECLA 1 para controlar el número mostrado en el tubo digital para aumentar en 1 y la TECLA 2 para controlar el número mostrado en el tubo digital para disminuir en 1?

¿Cómo utilizar el microcontrolador en lenguaje ensamblador 51 para usar la TECLA 1 para controlar el número mostrado en el tubo digital para aumentar en 1 y la TECLA 2 para controlar el número mostrado en el tubo digital para disminuir en 1?

La clave1 original es P3.4, agregue una clave clave2 y es P3.5;

1. De acuerdo con la lógica de su programa de visualización, modifique la TAB de la siguiente manera:

TAB:DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H

Es decir, los datos El principio y el final son 0 (esto es solo una marca), y el medio son los datos de visualización del código de siete segmentos 0--F;

2. para presionar y soltar los teclados CK1 y CK2 han sido modificados;

p>

3 El programa de visualización también ha sido modificado, pero no es necesario modificar el programa de retardo;

El código es el siguiente:

PRINCIPAL: MOV DPTR,#TAB? MOV R4, #00H? MOV R5,#01H? LCALL DISPLAY

BUCLE: ? LCALL KEYDOWN LCALL DISPLAY? SJMP LOOP

KEYDOWN: JB P3.4,CK11; la tecla 1 no está presionada. Luego, vaya a la tecla 2 LCALL DS1MS=0 significa que la tecla 1 presiona JB P3.4, CK11. ; la tecla 1 no puede liberar MOV R5, #01H INC R4?; presione la tecla 1 para agregar RET

CK11: JB P3.5, KEYDOWN; si no se presiona la tecla 1, vaya a la tecla 1 LCALL P3.5= 0 significa que la tecla 2 está presionada JB P3.4, KEYDOWN; la tecla 2 aún no se puede soltar MOV R5, #10H DEC R4; presione la tecla 2 para restar RET

D1:: MOV R4,R5

PANTALLA: ¿MOV A,R4? MOVC A,@A+DPTR? JZ D1 //Acumulador (A)=0 a MOV P0,A? SETB P2.6? .7? CLR P2.7? LCALL DS1MS; retardo LCALL KEYUP RET

KEYUP: JNB P3.4,KEYUP ;P3.4=0 a JNB P3.5,KEYUP ;Esperando soltar el botón LCALL DS1MS? JNB P3.4, TECLA JNB P3.5, TECLA RET?

TAB:DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H, 7CH,39H,5EH,79H,71H,00H

FIN