Buscamos urgentemente diseño de microcontrolador "control de semáforo con prioridad de vehículos de emergencia"
/*No se utilizan interrupciones. El hardware incluye un microcontrolador, fuente de alimentación, oscilador de cristal, circuito de reinicio, seis luces LED y un interruptor. El microcontrolador utiliza un oscilador de cristal 11.0592M*/
#includelt;reg51.hgt;
#define?uchar?unsigned?char
#define?uint? unsigned? int
sbit?sw=P3^3; //Simular cambio de ambulancia
uint?x;
void?delay10ms()
{ uint?i; for(i=120;igt;0;i--)?// Cambie el valor inicial de i para cambiar el intervalo entre cada transición de estado. Cuando se use, cámbielo a 1200 {?; ?;?}
}
void?retrasos()
{ uint?z; for(z=2000;zgt;0;z--) delay10ms();
}
void?amb(uchar?dat, uchar?tc)
{ x=tc*100; ) { if( sw==0) {
P1=0xf6;
retrasos();
P1=dat } retraso10ms(); -;? }
}
/*La luz verde no parpadea y la luz amarilla se enciende directamente. P1^0 a P1^5 conectan el rojo, el amarillo y el. luces verdes en dirección norte-sur y las luces roja y este-oeste en secuencia Luz amarilla, verde (led). */
void?main()
{ P1=0xf6; retrasos(); mientras(1) { P1=0xf3; amb(0xf3, 20); amb(0xf5, 4); P1=0xde; amb(0xde, 20); P1=0xee; amb(0xee, 4); Proteus, no lo he usado antes y el software de dibujo generó un error, así que no lo haré. Amigo mío, también te estás especializando en electricidad, por lo que deberías poder hacerlo. Probé este programa en el tablero de prueba del microcontrolador y no hay ningún problema. Una vez que pasa la ambulancia simulada, cada luz vuelve al estado en el que llegó la ambulancia. Excepto que la luz verde no parpadea y la hora no es muy precisa, generalmente cumple con los requisitos.