Red de conocimiento informático - Conocimiento de la instalación - Por favor, deme un programa para marquesina LED diseñado en lenguaje ensamblador utilizando 51 microcontroladores.

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

D1: MOV R6, #20

D2: MOV R7, #248

DJNZ R7, $

DJNZ R6, D2

DJNZ R5, D1

RET

FIN