交通燈信號(hào)控制器方案設(shè)計(jì)
SN_red=0 ;//南北方向紅燈
break;
}
}
if (cnt_ew!=0) //東西方向計(jì)時(shí)
{ cnt_ew--; }
else
{ state_val_ew++;
if (state_val_ew>2) state_val_ew=0;
cnt_ew=init_ew[state_val_ew];
switch (state_val_ew) //根據(jù)狀態(tài)值,刷新各信號(hào)燈的狀態(tài)
{ case 0: EW_green=1 ;//東西方向綠燈
EW_yellow=1;//東西方向黃燈
EW_red=0 ;//東西方向紅燈
break;
case 1: EW_green=0 ;//東西方向綠燈
EW_yellow=1 ;//東西方向黃燈
EW_red=1 ;//東西方向紅燈
break;
case 2: EW_green=1 ;//東西方向綠燈
EW_yellow=0 ;//東西方向黃燈
EW_red=1 ;//東西方向紅燈
break;
}
}
}
}
//-------------------------
main()
{//初始化各變量
cnt_sn=init_sn[0];
cnt_ew=init_ew[0];
T1_cnt=0;
state_val_sn=0; //啟動(dòng)后,默認(rèn)工作在序號(hào)為1的狀態(tài)
state_val_ew=0;
//初始化各燈的狀態(tài)
SN_green=0 ;//南北方向綠燈亮
SN_yellow=1 ;//南北方向黃燈滅
SN_red=1 ;//南北方向紅燈滅
EW_green=1 ;//東西方向綠燈滅
EW_yellow=1;//東西方向黃燈滅
EW_red=0 ;//東西方向紅燈亮
//初始化51的寄存器
TMOD=0x20;//用T1計(jì)時(shí) 8位自動(dòng)裝載定時(shí)模式
TH1=0x19;//0x4b; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x= 230.4
TL1=0x19;
EA=1; //開(kāi)中斷
ET1=1;
TR1=1; //開(kāi)定時(shí)器T1
while(1)
{ led_show(cnt_sn,cnt_ew);}}
//主程序結(jié)束本文引用地址:http://butianyuan.cn/article/170864.htm
評(píng)論