標(biāo)題: 51交通燈和 仿真 [打印本頁(yè)]
作者: 青色 時(shí)間: 2020-6-16 22:22
標(biāo)題: 51交通燈和 仿真
void main()
{
P1=0x21; //剛開(kāi)始南北的紅燈亮,東西的綠燈亮
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256; //初值
EA=1; //打開(kāi)總中斷
ET0=1; //定時(shí)器0允許中斷
TR0=1; //定時(shí)器0開(kāi)始計(jì)時(shí)
EX0=1; //外部中斷0允許位
IT0=1; //外部中斷0觸發(fā)方式(下降沿)
while(1)
{
if(flag)
{
if(!p)
{
shi1=time1/10; //南北十位
ge1=time1%10; //南北個(gè)位
shi2=time2/10; //東西十位
ge2=time2%10; //東西個(gè)位
display(ge1,shi1,ge2,shi2); //顯示函數(shù)
}
if(p)
dis(); //不顯示函數(shù)
if(key==3) //夜間模式
{
P0=0xff;
q=!q;
if(q!=0)
P1=0x12;
else
P1=0;
delay(200);
}
}
}
void ext0() interrupt 0
{
flag=1;
status=P2;
}
void timer() interrupt1 //定時(shí)中斷程序
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256; //重新賦初值
temp++;
if(temp==20) //說(shuō)明過(guò)去了1秒
{
temp=0; //清零,重新加到20
//東西方向南北方向時(shí)間自減
time1--;
time2--;
if(time1>time2) //南北大于東西
{
time1=time2+3;
P1=0x21; //南北紅燈亮起,東西綠燈亮起
if(time2==0&&time1==3)
{
time2=3; //重新賦南北和東西的差值,與南北方向一起倒計(jì)時(shí)
P1=0x11; //東西黃燈亮起,東西綠燈關(guān)閉
tab=0; //標(biāo)志位
}
}
if(time1<time2) //南北小于東西
{
time2=time1+3;
P1=0x0c; //南北綠燈亮起,東西紅燈亮起
if(time1==0&&time2==3)
{
time1=3; //重新賦南北和東西的差值,與東西方向一起倒計(jì)時(shí)
P1=0x0a; //南北黃燈亮起,南北綠燈關(guān)閉
tab=1; //標(biāo)志位
}
}
if(!tab) //黃燈閃爍三秒
{
if(time1==2&&time2==2)
P1=0x01;
if(time1==1&&time2==1)
P1=0x11;
}
if(tab)
{
if(time1==2&&time2==2)
P1=0x08;
if(time1==1&&time2==1)
P1=0x0a;
}
if(time1==0&&time2==0&&tab==0) //東西倒計(jì)時(shí)結(jié)束
{
time1=t1;
time2=t1+3;
P1=0x0c; //東西紅燈,南北綠燈
}
if(time1==0&&time2==0&&tab==1) //南北倒計(jì)時(shí)結(jié)束
{
time1=t2+3;
time2=t2;
P1=0x21; //南北紅燈,東西綠燈
}
}
}
-
-
交通燈-1.zip
2020-6-16 22:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
11.04 MB, 下載次數(shù): 40, 下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |