/*初始状态为南北通行:南北绿灯、东西红灯保持25秒;
后转为过渡状态:南北黄灯、东西红灯保持5秒;再转为东西通行:
东西绿灯、南北红灯保持25秒;
最后转为过渡状态:东西黄灯、南北红灯保持5秒。
南北红黄绿接P2。0~2,东西接P2.3~5,分别在12MHZ,6MHZ下怎么改*/
#include<reg51.h>
unsigned char
time1;//定时参数
unsigned char sco1;
void main(void)
{
TMOD=0x01;
TR0=1;
ET0=1;
EA=1;
TH0=(65536-46483)/256;
TL0=(65536-46483)%256;
time1=0;
sco1=0;
while(1)
{;}
}
void hlddl(void) interrupt 1 using 1
{
time1++;
if(time1==20)
{ time1=0;
sco1++;
}
if(sco1<30)
{
if(sco1<25)
P2=0xf3;
else
P2=0xf5;
}
else
{
if(sco1<55)
P2=0xde;
else
P2=0xee;
}
if(sco1==60)
{ sco1=0;
}
TH0=(65536-46483)/256;
TL0=(65536-46483)%256;
}
仿真效果你要看下面 如果看电脑时间,肯定不行的啊
一周热门 更多>