Red de conocimiento informático - Computadora portátil - Cómo programar luces de marcha en lenguaje ensamblador en el microcontrolador 51

Cómo programar luces de marcha en lenguaje ensamblador en el microcontrolador 51

La lámpara de agua corriente es un método de control en el que el microcontrolador 51 controla las luces LED para que se enciendan en secuencia. El procedimiento específico es el siguiente:

ORG 0000H;Reset start

AJMP START;

ORG 001BH;T1 interrupción

AJMP T1INT ;

p>

;Definir variables========================

YSJSEQU 30H;Contador de retardo

LEDEQU 31H;Buffer de control LED

;Programa principal===========================

START:MOV LED,#0FEH;Datos de inicialización

MOV YSJS,#0;

MOV TMOD,#10H;El temporizador 1 funciona en modo 1, 16- temporizador de bits

MOV TL1,#0B0H; establecer valor de temporización inicial

MOV TH1,#3CH; tiempo de temporización = 50 mS

SETB ET1;

SETB TR1; Iniciar temporizador 1

SETB EA; Activar interrupción total

MOV P1, LED Inicializar luz de marcha

LOOP :JMP LOOP; Bucle esperando interrupción

T1INT:PUSH PSW; programa de interrupción del temporizador 1

PUSH ACC; Tiempo de sincronización=50mS

MOV TL1,#0B0H;

INC YSJS;

PUSH ACC;Proteger ACC

MOV A,YSJI

CJNE A,#2,QT1;50mS*2=100mS

MOV P1,LED;

MOV A,LED;

RL A; el valor del acumulador A se gira 1 bit a la izquierda

MOV LED,A;

MOV YSJS,#0;

QT1: POP ACC ;Restaurar escena

POP PSW;

RETI;Volver al programa principal

END;Fin del programa de montaje

Información ampliada :

Tres métodos para implementar luces de circulación:

El primero es el método del bus para implementar luces de circulación. Este es un método relativamente estúpido pero el más fácil de entender. Utiliza una estructura de programa secuencial, utiliza instrucciones de bits para controlar los niveles alto y bajo de cada bit del puerto P1 y agrega una función de retardo para controlar el encendido y apagado de cada uno. Luz LED.

En segundo lugar, el método de cambio se utiliza para implementar la programación de la lámpara de agua corriente utilizando una estructura de programa de bucle. Primero, envíe un nivel bajo al puerto P1.0 al comienzo del programa y otros bits están altos. Luego espere un período de tiempo y luego deje que el nivel bajo pase al nivel alto, logrando así el efecto de "flujo".

El tercer tipo es la función de biblioteca para implementar la lámpara de agua corriente. Utilice la función de desplazamiento a la izquierda.