Red de Respuestas Legales - Consulta de marcas - Programa en lenguaje C para el diseño de sistemas de control de semáforos.

Programa en lenguaje C para el diseño de sistemas de control de semáforos.

//¿Ves si puedo usar AT89s52?

//Producido por: Xiaojun

# include & ltreg52.h & gt

#Definición en 1

#Definición cerrada 0

Unsigned int, t_Light

Indicador de carácter sin firmar

sbit sn_green=p1^0

sbit sn_amarillo=p1^1; ;

sbit sn_red=p1^2;

sbit ew_green=p1^3;

sbit ew_amarillo=p1^4;

p>

sbit ew_red=p1^5;

inicialización nula (void)

{

TMOD = 0x 01;

EA = 1;

ET0 = 1;

TR0 = 1;

TH0 =(65536-50000)/256;

TL0 = (65536-50000)% 256;

}

Administrador no válido (no válido)

{

init();

while(1)

{

Cambiar (bandera)

{

Caso 1: p>

SN _ Verde = ON

SN _ Amarillo = OFF

SN _ Rojo = OFF

EW _ Verde = OFF

EW _ Amarillo = APAGADO

EW _ Rojo = Encendido;

Pausa;

Caso 2:

SN _ Verde = APAGADO

SN _ Amarillo = encendido;

SN _ Rojo = APAGADO

EW _ Verde = APAGADO

EW _ Amarillo = Abierto;

EW _ Rojo = APAGADO

Pausa;

Caso 3:

SN _ Verde = APAGADO

SN _ Amarillo = APAGADO

SN _ Rojo = ENCENDIDO

EW _ Verde = Encendido;

EW _ Amarillo = APAGADO

EW _ Rojo = APAGADO

Pausa;

}

}

}

Temporizador no válido ( void) La interrupción 1 usa 0

{

TH0 = (65536-50000)/256

TL0 = (65536-50000)% 256; /p> p>

t++;

si (t==18)

{

t = 0;

t_light++ ;

if(t_Light & lt;=30)

{

bandera = 1;

}

else if(t _ Light & lt;=34)

{

bandera = 2;

}

else if(t_Light<88)

{

bandera = 3;

if(t_Light = = 88)t_Light = 0 ;

}

}

}