¿Cómo programar un sistema de control de semáforo con microcontrolador? Abreviar
Usando AT89C51, la luz roja es de 20 segundos, la luz amarilla es de 3 segundos y la luz verde es de 17 segundos. La hora se puede cambiar. El programa es el más simple. Puedes memorizar el código directamente en el puerto P1, o puedes hacer que la luz verde parpadee unas cuantas veces sobre la luz amarilla
#includelt;reg51.hgt;
.#define?uchar ?unsigned?char
#define?uint?unsigned? int
//======1 Definición de luz de grupo===== =
sbit?red_1=P1^0;
sbit?amarillo_1=P1^1;
sbit?green_1=P1^2;
/=== ===2 Definición de luz de grupo======<
sbit?red_2=P1^3;
sbit?amarillo_2=P1^4 ;
sbit?green_2=P1^5;
delay1ms(uint?x)
{ uchar?a; while(x--) { p>
for( a=0; alt; 125; a }
}
main()
{P1=0xff; (1) {/1 grupo Rojo brillante, 2 juegos de verde brillante. Retraso 17 segundos
amarillo_1=1 ?
rojo_2=1;
verde_1=1;
rojo_1=0; p>
red_2=1; p>
green_2=0;
delay1ms(17000);
//El grupo 2 se ilumina en amarillo. Retraso 3 segundos
Verde_2=1;
Amarillo_2=0;?
retraso1ms(3000);
/ /Se enciende el grupo 1 está en verde, el grupo 2 se ilumina en rojo. Retraso 17 segundos
amarillo_2=1;?
rojo_1=1;
verde_2=1;
rojo_2=0; p>
red_1=1; p>
green_1=0;
delay1ms(17000);
//El grupo 1 es amarillo brillante. Retraso 3 segundos
Verde_1=1;
Amarillo_1=0;?
retraso1ms(3000);
}
}