Por favor, deme un programa para marquesina LED diseñado en lenguaje ensamblador utilizando 51 microcontroladores.
Darle una referencia
************
/* Propósito del experimento: comprensión preliminar del principio de funcionamiento del puerto de E/S del microcontrolador y dominar aún más 51 instrucciones de ensamblaje del microcontrolador.
* Contenido del experimento: Utilice las instrucciones de montaje para programar el puerto de E/S del microcontrolador para controlar el flujo de encendido y apagado de 8 diodos emisores de luz.
*/
/* Introducción detallada de las funciones del programa:
*Para mover una sola lámpara hacia la izquierda y hacia la derecha, ocho diodos emisores de luz L0-L7 están conectados respectivamente en la interfaz P0.0-P0.7 del microcontrolador,
*Cuando se emite "0", el diodo emisor de luz se enciende Al principio, P0.0→P0. .1→P0.2→P0.3→┅→ P0.7→P0.6→┅→P0.0 se enciende repitiendo el ciclo.
*/
ORG 0000H
INICIO LJMP
ORG 0030H
INICIO:
MOV R2, #8; Número de desplazamientos hacia la izquierda
MOV A, #0FEH El valor inicial de A, es decir, L0 de P0.0 está encendido
SETB C;
BUCLE: MOV P0, A
LCALL DELAY
RLC A; mueva la luz de marcha hacia la izquierda (desplazamiento a la izquierda con acarreo), es decir, el el punto brillante se mueve a la posición alta del puerto P0
DJNZ R2, LOOP
MOV R2, #8; número de movimientos hacia la derecha
LOOP1: RRC A ; movimiento hacia la derecha de la luz de marcha
MOV P0, A
LCALL DELAY
DJNZ R2, LOOP1
LJMP START
RETARDO: MOV R5, #10; subprograma de retardo, cambie los valores de R5, R6, R7, puede cambiar el tiempo de retardo, cambiando así la velocidad de movimiento de la lámpara de agua corriente p>
D1: MOV R6, #20
D2: MOV R7, #248
DJNZ R7, $
DJNZ R6, D2 p>
DJNZ R5, D1
RET
FIN