可实现东西、南北两个方向的红、黄、绿灯按设定的时间亮灭,用以指引交通通行,以倒计时方向显示时间。红、黄、绿交通灯的变化规律为:
1)南北方向的绿灯、东西方向的红灯同时亮40秒。
2)南北方向的绿灯灭、黄灯亮5秒,同时东西方向的红灯继续亮。
3)南北方向的黄灯灭、左转绿灯亮,持续20秒,同时东西方向的红灯继续亮。
4)南北方向的左转绿灯灭、黄灯亮5秒,同时东西方向的红灯继续亮。
5)南北方向的黄灯灭、红灯亮,同时东西方向的绿灯亮。
6)南北方向绿灯和左转绿灯亮时,人行道也绿灯亮 ,东西方向红灯亮,南北方向红灯亮时,人行道也红灯亮 ,东西方向绿灯亮。
7)东西方向的绿灯、南北方向的红灯同时亮40秒。
8)东西方向的绿灯灭、黄灯亮5秒,同时南北方向的红灯继续亮。
9)东西方向的黄灯灭、左转绿灯亮,持续20秒,同时南北方向的红灯继续亮。
10)东西方向的左转绿灯灭、黄灯亮5秒,同时南北方向的红灯继续亮。
11)东西方向的黄灯灭、红灯亮,同时南北方向的绿灯亮。
12)东西方向绿灯和左转绿灯亮时,人行道也绿灯亮 ,南北方向红灯亮,东西方向红灯亮时,人行道也红灯亮 ,南北方向绿灯亮。
13)转1)重复。
直行
等待左拐信号
?
左拐
EW_ManGreen=0; //EW人行道禁止
SN_ManGreen=1; //SN人行道通行
Flag_EW_Yellow=0; //EW关黄灯显示信号
Time_EW=EW;
Time_SN=SN;
while(Time_SN>=5)
{
P1=S[0]; //SN通行,EW红灯
EW_Red=1;
Display();
}
P1=0x00;
while(Time_SN>=0)
{
P1=S[1];
Flag_SN_Yellow=1; //SN开黄灯信号位
EW_Red=1; //SN黄灯亮,等待左拐信号,EW红灯
Display();
}
Flag_SN_Yellow=0; //SN关黄灯显示信号
Time_SN=SNL;
while(Time_SN>=5)
{
P1=0x18; //SN左拐绿灯亮,EW红灯
EW_Red=1;
Display();
}
P1=0x00;
while(Time_SN>=0)
{
P1=S[3];
Flag_SN_Yellow=1; //SN开黄灯信号位
EW_Red=1; //SN黄灯亮,等待停止信号,EW红灯
Display();
}
通过这次课程设计,使我掌握了交通灯控制的基本思想与原理,学习到了一些有用的专 业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用 系统开发过程,电路图的绘制以及在常用编程设计思路技巧的掌握方面都向前迈了一大步。 而且本次课程设计是分三人小组设计模式,增强了我的团队意识,以及团队之间共同商量问题,解决问题的能力。本次课程设计的过程是艰辛的,不过收获却是很大的。