51单片机交通灯系统设计_第1页
51单片机交通灯系统设计_第2页
51单片机交通灯系统设计_第3页
51单片机交通灯系统设计_第4页
51单片机交通灯系统设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

---word.zl题目学院:信息科学与工程学院专业:自动化学号:学生:指导教师:日期:---word.zl单片机交通信号灯控制系统设计一、设计目的与意义1、通过用51单片机控制交通灯的课程设计,熟练51单片机的编程方法。2、通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计。3、通过本课程设计将理论用于实践,提高动手能力。二、设计容和要求交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯制止通行,绿灯允许通行。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。三、常见交通信号灯系统概述:交通信号灯是交通信号中的重要组成局部,是道路交通的根本语言。交通信号灯由红灯〔表示制止通行〕、绿灯〔表示允许通行〕、黄灯〔表示警示〕组成。绿灯信号是准许通行信号。按?交通平安法实施条例?规定:绿灯亮时,准许车辆、行人通行,但转弯的车辆不准阻碍被放行的直行车辆和行人通行。红灯信号是绝对制止通行信号。红灯亮时,制止车辆通行。右转弯车辆在不阻碍被放行的车辆和行人通行的情况下,可以通行。红灯信号是带有强制意义的禁行信号,遇此信号时,被禁行车辆须停在停顿线以外,被禁行的行人须在人行道边等候放行;机动车等候放行时,不准熄火,不准开车门,各种车辆驾驶员不准离开车辆;自行车左转弯不准推车从路口外边绕行,直行不准用右转弯方法绕行。黄灯亮时,已越过停顿线的车辆,可以继续通行。黄灯信号的含义介于绿灯信号和红灯信号之间,既有不准通行的一面,又有准许通行的一面。黄灯亮时,警告驾驶人和行人通行时间已经完毕,马上就要转换为红灯,应将车停在停顿线后面,行人也不要进入人行横道。但车辆如因距离过近不便停车而越过停顿线时,可以继续通行。已在人行横道的行人要视来车情况,或尽快通过,或原地不动,或退回原处。本设计为了简便起见,将黄灯取消,使用红灯的闪烁代替。四、系统硬件设计方案主控芯片选择intel的8051单片机,此单片机有32个I/O口,2个定时器,5个中断源,4KB的片上ROM,128Bytes的片上RAM。使用4对红绿LED灯作为4个方向的信号灯,每个LED接一个1k的限流电阻,共阳极接法。通过单片机的P0口控制LED的状态。使用4对8位的数码管作为时间显示设备,每个方向一对,可以显示0~99s的倒计时时间。使用单片机的P1口作为数码管的段码输出端,P2口作为数码管的位选端。整个数码管使用动态显示技术驱动。为了实现时间的可控,使用拨码开关作为外部输入设备,调节时间,将拨码开关接到单片机的P3口,由于是8位,故可以选择2^8=256个状态,等待时间的围为0~99s,故使用拨码开关的调节围足够。整个系统的电源使用线性电源LM7805,其驱动电流可达1A,为了减少电源输出的高频信号,可在其输出端并联几个电容。五、原理图设计硬件设计框图:最小系统原理图:51单片机的最小系统包括时钟电路和复位电路,如图:电源电路:在LM7805的输出端并联10uf、0.1uf两个电容,大电容用来储能,小电容用来滤波。交通灯电路图:每个方向有红灯、绿灯两个信号灯,信号灯为共阳极接法,每个灯接一个限流电阻,如图:倒计时显示电路:每个方向有两个8位数码管,显示0~99s的计时时间,使能端使用单片机的单个IO口控制,如图:拨码开关电路:将拨码开关的一端接到P3口,另一端接地,假设拨码开关翻开,会将单片机的IO口拉低,单片时机检测到这个状态。整个系统的电路图:六、软件设计方案为了使倒计时更为准确,使用定时器作为倒计时的基准时间,系统使用12M的晶振,定时器设置为5ms中断一次。设置开机初始化状态,信号灯全部为红灯,等待2秒后,东西方向绿灯,南北方向红灯,然后开场正常工作。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。软件设计流程图:七、程序及注释#include<reg51.h>//头文件#defineTUBE_DATAP0//端口定义段码输出端#defineLEDP1//LED控制端#defineTUBE_ENABLEP2//位码输出端#defineBOMAP3//拨码输入端#defineALL_OFF0xff//运算定义#defineRED1_ON0xfe#defineRED2_ON0xfd#defineRED3_ON0xfb#defineRED4_ON0xf7#defineGREEN1_ON0xef#defineGREEN2_ON0xdf#defineGREEN3_ON0xbf#defineGREEN4_ON0x7fcharset_time=0;//设定时间charrun_time=0;//实际运行倒计时时间bitLED_choose=0;//信号灯选择0为南北向1为东西向inttime_base=0;//时间基准计数器codeunsignedcharLED_num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码//---------------------------------------voidsys_init(void)//系统初始化函数{TUBE_DATA=0xff;//端口初始化TUBE_ENABLE=0xff;LED=0xff;BOMA=0xff;TMOD=0x11;//定时器初始化TH0=0x3c;//定时5msTL0=0xb0;TR0=1;//定时器运行ET0=1;EA=1;//开中断LED=ALL_OFF&RED1_ON&RED2_ON&RED3_ON&RED4_ON;//信号灯初始状态while(time_base<400);//等待2s,time_base一个单位代表5mstime_base=0;LED_choose=1;//信号灯选择LED=ALL_OFF&RED1_ON&RED3_ON&GREEN2_ON&GREEN4_ON;//东西向亮绿灯,南北向亮红灯}//---------------------------------------voidboma_scan(void)//拨码设定时间{set_time=BOMA;//拨码设定时间if(set_time>99)set_time=99;//设定上下限elseif(set_time<10)set_time=10;}//---------------------------------------voidtube_display(void)//显示时间{staticbitchoose=0;//个位十位选择标志位if(choose)//显示个位{TUBE_DATA=LED_num[run_time%10];TUBE_ENABLE=0xaa;}else//显示十位DATA=LED_num[run_time/10];{TUBE_DATA=LED_num[run_time/10];TUBE_ENABLE=0x55;}choose=~choose;}//---------------------------------------voidmain(void)//主函数{sys_init();//系统初始化while(1){boma_scan();//拨码扫描}}//---------------------------------------voidPIT0(void)interrupt1//定时器0,信号灯控制、刷新时间{TH0=0x3c;//赋初值TL0=0xb0;time_base++;if(time_base%200==0)//1s{run_time--;//倒计时减1sif(time_base==1000)time_base=0;}if(LED_choose)//信号灯显示LED=ALL_OFF&RED1_ON&RED3_ON&GREEN2_ON&GREEN4_ON;elseLED=ALL_OFF&RED2_ON&RED4_ON&GREEN1_ON&GREEN3_ON;break;if(run_time<3)//红灯闪烁{switch(run_time){case2:if(LED_choose)LED=ALL_OFF&GREEN2_ON&GREEN4_ON;elseLED=ALL_OFF&GREEN1_ON&GREEN3_ON;break;case1:if(LED_choose)LED=ALL_OFF&RED1_ON&RED3_ON&GREEN2_ON&GREEN4_ON;elseLED=ALL_OFF&RED2_ON&RED4_ON&GREEN1_ON&GREEN3_ON;break;case0:if(LED_choose)LED=ALL_OFF&GREEN2_ON&GREEN4_ON;elseLED=ALL_OFF&GREEN1_ON&GREEN3_ON;run_time=set_time;//倒计时完毕,重新赋值LED_c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论