欢迎来到天天文库
浏览记录
ID:56099358
大小:55.00 KB
页数:8页
时间:2020-06-19
《一个十字路口的交通灯控制系统设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一个十字路口的交通灯控制系统一、设计内容和要求:利用AT89C51单片机设计一十字路口交通灯控制系统。1:系统主要由单片机、数码管、交通灯组成。2:具有人行道和基本的交通灯的功能。3:具有数码管倒计时功能。4:要求东西和南北车道的车辆交替运行,每次通行为25秒。5:要求黄灯先亮3秒,才能变换车道,黄灯亮时要求闪亮。6:有紧急情况的处理办法(如急救车来时)。二、总体方案设计本设计研究的是基于AT89C51单片机的交通灯智能控制系统。根据交通控制系统的设计原理,阐述了硬件和软件方面开发的整个过程。主控系统采用AT89C51单片机作为控制器,控制通行倒计时及直行、
2、行人的通行。并设计了有紧急情况(如急救车到来)时的处理办法。三、系统的硬件设计(1)本系统选用通过P0到P3口用做输出显示控制口。P0口用作输出南北方向LED数码管字符编码,P2口用作输出东西方向LED数码管字符编码。P1.1—P1.4口用于位选及输出南北方向发光二极管。P1.5和P1.6用作南北方向人行道的控制灯。P1.7和P3.7用作东西方向人行道的控制灯。P3.0—P3.6口用于位选及输出东西方向发光二极管。P3.2和P3.3用作外部中断。(2)LED数码管采用动态显示方式实现倒计时读秒,并且本系统采用的是LED的共阳极接法。(3)LED动态显示,在多
3、位LED显示时,为了简化电路,降低成本,将段选位并联在一起,由一个八位的I/O口控制,而位选由另一个口控制,段选码、位选码每次送入后演示1ms,而人的视觉暂留时间为0.1s,所以在人看来数码管一直亮着,从而在应用中通过动态扫描的方法显示。四、设计原理分析人行道人行道人行道人行道(1)从十字路口交通灯示意图分析可知:东西、南北方向信号灯控制是中心对称的,即无论是主干道还是支干道两侧系统对同方向的信号灯控制是同步的。(2)从示意图分析可知,人行道各个方向,系统对两侧的信号灯的控制也是同步的。(3)人行道和信号灯的显示不是一致的,人应该和车一起走,但应该比车先停下
4、来。五、原理图(部分引脚未画)VCCP1.0P0.0。。。。。。。。P1.7P0.7P3.0P1.0P3.1P1.1P3.4P2.4P3.5P2.3P3.6P2.2P3.2P3.3P3.7P2.5P2.7P2.6GND六、流程分析图假设交通灯交换的周期为60秒,则各个方向交通灯在时间轴上的交换情况如下表所示。时间轴控制对象0s4s31s34s61s64s南北方向车辆初始化,四个方向全亮红灯,人行通道也亮红灯,数码管显示88绿灯亮数码管显示30黄灯闪烁此时数码管显示为3红灯亮数码管显示30红灯亮此时数码管显示为3绿灯亮数码管显示30南北方向人行通道绿灯亮红灯亮
5、红灯亮红灯亮绿灯亮东西方向车辆红灯亮数码管显示30红灯亮此时数码管显示为3绿灯亮数码管显示30黄灯闪烁此时数码管显示为3红灯亮数码管显示30东西方向人行通道红灯亮红灯亮绿灯亮红灯亮红灯亮七、流程图开始初始化,四个方向全亮红灯,人行通道也亮红灯,数码管显示88,并延时4s南北绿灯亮27s,数码管显示30,南北人行道绿灯亮25s;东西红灯亮30s,数码管显示30,东西人行道红灯亮30s在31s时,南北黄灯闪烁3s,南北人行通道亮红灯并延时33s;东西的车辆和人行通道任然是红灯在34s时,南北亮红灯并延时30s,数码管显示30,南北人行道红灯亮30s;东西绿灯亮2
6、7s,数码管显示30,东西人行道绿灯亮25s在61s时,南北的车辆和人行道任然是红灯;东西黄灯闪烁3s,东西人行道亮红灯并延时33s正常情况下交通灯的控制流程图开始初始化,四个方向全亮红灯,人行通道也亮红灯,数码管显示88,并延时4s东西是否有急救车?东西绿灯亮,南北红灯亮并延时25s南北绿灯亮,东西红灯亮并延时25s特殊情况下交通灯的控制流程图八、实验程序#include"reg51.h"#defineucharunsignedchar#defineuintunsignedintucharcodeb[10]={0xc0,0xf9,0xa4,0xb0,0x9
7、9,0x92,0x82,0xf8,0x80,0x90};uinta;sbitP30=P3.0;sbitP31=P3.1;sbitP10=P1.0;sbitP11=P1.1;voidmain(){uinti;P30=1;P31=1;P10=1;P11=1;P0=b[8];P2=b[8];P1=OX2B;P3=0XA3;voiddelay(void){unsignedchare,f,g;for(g=252;g>0;g--)for(f=230;f>0;f--)for(e=33;e>0;e--);nop;//初始化,数码管显示88并延时4swhile(1){for(
8、i=250;i>0;i--){calc();}JS(
此文档下载收益归作者所有