Un pequeño ejemplo de modificación de claves escritas en lenguaje ensamblador, se necesita con urgencia~
Modificar los datos en la unidad de almacenamiento del microcontrolador mediante claves (ejemplo
Ejemplo de modificación de los datos en la unidad de memoria del microcontrolador mediante botones (el ejemplo anterior es un diagrama de circuito como referencia)
Supongamos que la unidad de memoria de datos en el chip 50H de el microcontrolador es una unidad de búfer de pantalla de siete segmentos. Presione el botón Agregar 1 y la pantalla de siete segmentos aumentará el valor del contenido de la unidad de búfer en 1 (0-1-2-3-...-9-0). ciclo)
(1) Aumentar 1 subrutina de procesamiento de claves: INC1: PUSH ACC ?Stack Protection
?PUSH PSW
?SETB P2.1
LLN: ?JB ?P2.1 , LLE ;No se presiona ninguna tecla de incremento 1, luego gire LLE para salir de la subrutina de escaneo para la tecla de incremento 1?
?LCALL ?YS ;Antirrebote al presionar la tecla retardo
?JB ?P2.1, ?LLE?; Sin presionar la tecla de incremento 1, luego gire LLE para salir de la subrutina de escaneo de la tecla de incremento 1
LLC: ? MOV ?A, 50H
?CJNE A, #09H, LLA ?
?CJNE A, #09H, LLA ?SJMP LLB
LLA: ?SJMP LLB
LLA: ?A; ¿El contenido de la unidad de búfer de visualización no es 9?A
?LCALL ?YS; SETB P2.1
?JNB ?P2.1, LLC; si aún se presiona la tecla de aumento 1, el LLC dedicado continuará aumentando el contenido de la unidad de búfer de visualización en 1
LLE: ?POP ?De lo contrario? Salir
?POP ?ACC
?RET
YS: MOV R7, #200; subrutina de retardo
YYY: MOV R6, #200
SS: NOP
?NOP
?DJNZ R6, SS
?DJNZ R7, YY
?RET
(2) Nota: ?Si el programa de visualización se llama en la subrutina de escaneo de teclas, puede observar el efecto de cambiar el valor del búfer de visualización incrementando la clave en 1. El código específico no se proporcionará aquí (debe escribir el resto usted mismo)
¿Está satisfecho con los valores de referencia?