//制作:小軍
# include & ltreg52.h & gt
#在1上定義
#定義關閉0
無符號int t,t _ Light
無符號字符標誌;
sbit sn_green=p1^0;
sbit sn_yellow=p1^1;
sbit sn_red=p1^2;
sbit ew_green=p1^3;
sbit ew_yellow=p1^4;
sbit ew_red=p1^5;
void初始化(void)
{
TMOD = 0x 01;
EA = 1;
ET0 = 1;
TR0 = 1;
TH0 =(65536-50000)/256;
TL0 =(65536-50000)% 256;
}
無效總管(無效)
{
init();
while(1)
{
開關(標誌)
{
案例1:
SN _ Green = ON
SN _ Yellow = OFF
SN _ Red = OFF
EW _ Green = OFF
EW _ Yellow = OFF
EW _ Red =開;
打破;
案例二:
SN _ Green = OFF
SN _ Yellow =開;
SN _ Red = OFF
EW _ Green = OFF
EW _ Yellow =開;
EW _ Red = OFF
打破;
案例三:
SN _ Green = OFF
SN _ Yellow = OFF
SN _ Red = ON
EW _ Green =開;
EW _ Yellow = OFF
EW _ Red = OFF
打破;
}
}
}
無效定時器(void)中斷1使用0
{
TH0 =(65536-50000)/256;
TL0 =(65536-50000)% 256;
t++;
如果(t==18)
{
t = 0;
t _ light++;
if(t _ Light & lt;=30)
{
flag = 1;
}
else if(t _ Light & lt;=34)
{
flag = 2;
}
else if(t _ Light & lt;88)
{
flag = 3;
if(t _ Light = = 88)t _ Light = 0;
}
}
}