基于单片机的交通灯控制系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ET0=1;//开定时中断
EX0=1;//开外部INTO中断
TR0=1;//启动定时
while(1)
{
Flag_EW_Yellow=0;//EW关黄灯显示信号
Time_EW=EW;
Time_SN=SN;
WhiIe(Time_SN>=5)
{P仁S[0]; /∕SN通行,EW红灯
DiSPIay();}
P仁0x00;
SN_Red=1;〃EW黄灯亮,等待左拐信号,SN红灯
DiSPIay();}
Flag_EW_Yellow=0;//EW关黄灯显示信号
Time_EW=EWL;
WhiIe(Time_EW>=5)
{P仁S[6];//EW左拐绿灯亮,SN红灯
DiSPIay();}
P仁0X00;
WhiIe(Time_EW>=0)
Flag_SN_Yellow=0; //SN关黄灯显示信号
Time_EW=SN;
Time_SN=EW;
While(Time_EW>=5)
{P仁S[4]; //EW通行,SN红灯
DiSPIay();}
P仁0X00;
WhiIe(Time_EW>=0)
{Flag_EW_Yellow=1;〃EW开黄灯信号位
三、实验内容及程序
主程序:
void main (VOid)
Busy_LED=O;
SPeCiaLLED=O;
ITO=1; //INTO负跳变触发
TMOD=OxOI;//定时器工作于方式1
TH0=(65536-50000)∕256;//定时器赋初值TL0=(65536-50000)%256;
EA=1; //CPU开中断总允许
基于单片机的交通灯控制系统
一、
1、了解交通灯的控制方法
2、掌握8051单片机基本操作
3、掌握keil和PrOteuS软件的使用
二、
通过对十字路口的观察,发现红绿灯的控制原理:首先南北方向右转加直行 的绿灯亮起。此时,东西方向为红灯;当右转加直行绿灯倒计时进入最后5秒,
绿灯切换为黄灯并开始闪烁,东西方向红灯不变;接着南北方向切换为左转灯, 东西方向依然是红灯;同样当倒计时进入最后5秒时,黄灯开始闪烁。东西方向 为红灯。然后东西方向的右转加直行绿灯亮起,以此类推。
DiSPIay();}
P仁0x00;
WhiIe(Time_SN>=0) {Flag_SN_YeIIow=1;
EW_Red=1;/∕SN
//sn开黄灯信号位
黄灯亮,等待停止信号,EW红灯
DiSPIay();}
*********
**********/
EW=EW1;
SN=SN1; EWL=EWLI; SNL=SNLI;
定时器中断开始
Cou nt==20计时Is
黄灯标志位
为1
黄灯标志位
为1
黄灯的值进行反转
东西,南北方向时间减1
重装初值
黄灯的值进行反转
WhiIe(Time_SN>=0) {Flag_SN_Yellow=1;
EW_Red=1; /∕SN
//sn开黄灯信号位
黄灯亮,等待左拐信号,EW红灯
DiSPIay();
}
Flag_SN_Yellow=0; /∕SN关黄灯显示信号
Time_SN=SNL;
WhiIe(Time_SN>=5)
{P仁S[2];//SN左拐绿灯亮,EW红灯
{Flag_EW_YeIIow=1; //EN开黄灯信号位
SN_Red=1;//EW黄灯亮,等待停止信号,SN红灯
DiSPIay();}
}
程序框图:
/**wk.baidu.com********
EW=EW1; SN=SN1;
EWL=EWL1; SNL=SNL1;
}
赋值
*********
*/
主程序:
定时器TO:
CoUn t==10计时0.5s
EX0=1;//开外部INTO中断
TR0=1;//启动定时
while(1)
{
Flag_EW_Yellow=0;//EW关黄灯显示信号
Time_EW=EW;
Time_SN=SN;
WhiIe(Time_SN>=5)
{P仁S[0]; /∕SN通行,EW红灯
DiSPIay();}
P仁0x00;
SN_Red=1;〃EW黄灯亮,等待左拐信号,SN红灯
DiSPIay();}
Flag_EW_Yellow=0;//EW关黄灯显示信号
Time_EW=EWL;
WhiIe(Time_EW>=5)
{P仁S[6];//EW左拐绿灯亮,SN红灯
DiSPIay();}
P仁0X00;
WhiIe(Time_EW>=0)
Flag_SN_Yellow=0; //SN关黄灯显示信号
Time_EW=SN;
Time_SN=EW;
While(Time_EW>=5)
{P仁S[4]; //EW通行,SN红灯
DiSPIay();}
P仁0X00;
WhiIe(Time_EW>=0)
{Flag_EW_Yellow=1;〃EW开黄灯信号位
三、实验内容及程序
主程序:
void main (VOid)
Busy_LED=O;
SPeCiaLLED=O;
ITO=1; //INTO负跳变触发
TMOD=OxOI;//定时器工作于方式1
TH0=(65536-50000)∕256;//定时器赋初值TL0=(65536-50000)%256;
EA=1; //CPU开中断总允许
基于单片机的交通灯控制系统
一、
1、了解交通灯的控制方法
2、掌握8051单片机基本操作
3、掌握keil和PrOteuS软件的使用
二、
通过对十字路口的观察,发现红绿灯的控制原理:首先南北方向右转加直行 的绿灯亮起。此时,东西方向为红灯;当右转加直行绿灯倒计时进入最后5秒,
绿灯切换为黄灯并开始闪烁,东西方向红灯不变;接着南北方向切换为左转灯, 东西方向依然是红灯;同样当倒计时进入最后5秒时,黄灯开始闪烁。东西方向 为红灯。然后东西方向的右转加直行绿灯亮起,以此类推。
DiSPIay();}
P仁0x00;
WhiIe(Time_SN>=0) {Flag_SN_YeIIow=1;
EW_Red=1;/∕SN
//sn开黄灯信号位
黄灯亮,等待停止信号,EW红灯
DiSPIay();}
*********
**********/
EW=EW1;
SN=SN1; EWL=EWLI; SNL=SNLI;
定时器中断开始
Cou nt==20计时Is
黄灯标志位
为1
黄灯标志位
为1
黄灯的值进行反转
东西,南北方向时间减1
重装初值
黄灯的值进行反转
WhiIe(Time_SN>=0) {Flag_SN_Yellow=1;
EW_Red=1; /∕SN
//sn开黄灯信号位
黄灯亮,等待左拐信号,EW红灯
DiSPIay();
}
Flag_SN_Yellow=0; /∕SN关黄灯显示信号
Time_SN=SNL;
WhiIe(Time_SN>=5)
{P仁S[2];//SN左拐绿灯亮,EW红灯
{Flag_EW_YeIIow=1; //EN开黄灯信号位
SN_Red=1;//EW黄灯亮,等待停止信号,SN红灯
DiSPIay();}
}
程序框图:
/**wk.baidu.com********
EW=EW1; SN=SN1;
EWL=EWL1; SNL=SNL1;
}
赋值
*********
*/
主程序:
定时器TO:
CoUn t==10计时0.5s