版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目学院:信息科学与工程学院专业:自动化学号:学生姓名:指导教师:日期:单片机交通信号灯控制系统设计一、设计目的与意义1、通过用51单片机控制交通灯的课程设计,熟练51单片机的编程方法。2、通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计.3、通过本课程设计将理论用于实践,提高动手能力。二、设计内容和要求交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯禁止通行,绿灯允许通行.每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁.系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。三、常见交通信号灯系统概述:交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言.交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。绿灯信号是准许通行信号.按《交通安全法实施条例》规定:绿灯亮时,准许车辆、行人通行,但转弯的车辆不准妨碍被放行的直行车辆和行人通行。红灯信号是绝对禁止通行信号.红灯亮时,禁止车辆通行。右转弯车辆在不妨碍被放行的车辆和行人通行的情况下,可以通行.红灯信号是带有强制意义的禁行信号,遇此信号时,被禁行车辆须停在停止线以外,被禁行的行人须在人行道边等候放行;机动车等候放行时,不准熄火,不准开车门,各种车辆驾驶员不准离开车辆;自行车左转弯不准推车从路口外边绕行,直行不准用右转弯方法绕行。黄灯亮时,已越过停止线的车辆,可以继续通行.黄灯信号的含义介于绿灯信号和红灯信号之间,既有不准通行的一面,又有准许通行的一面。黄灯亮时,警告驾驶人和行人通行时间已经结束,马上就要转换为红灯,应将车停在停止线后面,行人也不要进入人行横道。但车辆如因距离过近不便停车而越过停止线时,可以继续通行.已在人行横道内的行人要视来车情况,或尽快通过,或原地不动,或退回原处.本设计为了简便起见,将黄灯取消,使用红灯的闪烁代替。四、系统硬件设计方案1、主控芯片选择intel的8051单片机,此单片机的配置为32个I/O口,2个定时器,5个中断源,4KB的片上ROM,128Bytes的片上RAM。作为信号灯的控制器,其资源已经足够。其资源分配如下:2、使用4对红绿LED灯作为4个方向的信号灯,每个LED接一个1k的限流电阻,共阳极接法。通过单片机的P0口控制LED的状态。由于南北方向(东西方向)的两组显示灯信号状态相同,所以将其并联。3、使用4对8位的数码管作为时间显示设备,每个方向一对,可以显示0~99s的倒计时时间。使用单片机的P2口作为数码管的段码输出端,P1口作为数码管的位选端。整个数码管使用动态显示技术驱动。由于南北方向(东西方向)的两组数码管信号状态相同,所以将其并联.4、为了实现时间的可控,使用两个按键作为输入设备,一个为时间加1秒,另一个为时间减1秒。使用机械开关时,容易产生抖动,这个可以在软件上消除,但是为了减轻编程的复杂度,可在其两端并联一个0。1uf的电容进行硬件消抖.按键的输入端为P3口。5、整个系统的电源使用线性电源AMS1117-5.0,其驱动电流可达1A,为了使电源的输出更为稳定,可在其输出端并联几个电容.五、原理图设计最小系统原理图:51单片机的最小系统包括时钟电路和复位电路,51单片机为高电平复位,若不需要复位电路,可以将复位端直接接地.单片机晶振需要接两个20pf左右的电容到地,电容过大会导致单片机晶振不起振。如图:交通灯电路图:每个方向有红灯、绿灯两个信号灯,信号灯为共阳极接法,每个灯接一个1k的限流电阻,如图:倒计时显示电路:每个方向有两个8位数码管,显示时间范围为0~99s,段码使用P2口输出,使能端使用P1口输出,如图:按键电路:将按键的一端接到P3口,另一端接地,若按键按下,会将单片机的IO口拉低,单片机会检测到这个状态,从而实现对时间的调节。电源电路:为了保证AMS1117-5。0的稳压效果,要使输入电压在6。5V以上。为了减小输入电压波动对芯片的干扰,可在在AMS1117-5。0的输入及输出端并联10uf、0.1uf两个电容,大电容用来储能,小电容用来滤波。整个系统的电路图:六、软件设计方案为了使倒计时更为准确,使用定时器作为倒计时的基准时间,系统使用12M的晶振,定时器设置为5ms中断一次。设置开机初始化状态,信号灯全部为红灯,等待2秒后,东西方向绿灯,南北方向红灯,然后开始正常工作。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。倒计时的时间需要在一个合理的范围内,故使用软件限幅,将时间限制在10~99s之间。按键的灵敏度可以通过延时的长短来调节,可将延时时间设置为150~500ms。数码管使用动态扫描方式,为了实现视觉上的连续性,将其扫描周期设置为5ms,在中断中实现。七、程序及注释#include〈reg52.h>//头文件bitDirect=0;//信号灯选择0为南北向1为东西向intms_5=0; //5ms时间计数器charset_time=0;//设定时间charrun_time=0; //实际运行倒计时时间codeunsignedcharduanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码voiddeley(inti)//粗略延时{ unsignedcharj=0; for(j=0;j<200;j++) for(;i〉0;i——);}voidINIT_system(void)//系统初始化{P0=0xff;//端口初始化P1=0xff;P2=0xff;P3=0xff;TMOD=0x11;//定时器初始化TH0=0x3c;//定时5msTL0=0xb0;TR0=1;//定时器运行ET0=1;EA=1;//开中断P0=0xc0;//初始状态while(ms_5<400);//等待2sms_5=0;//归零Direct=1;//信号灯选择P0=0x60;//东西向亮绿灯,南北向亮红灯}voidkey_set(void)//按键设定倒计时时间{if(KEY1==0) set_time++;if(KEY2==0) set_time——;if(set_time〉99)set_time=99;//设定上下限elseif(set_time〈10)set_time=10;}voidshow_time(void)//显示时间{staticbitchoose=0;//个位十位选择标志位if(choose)//显示个位{P2=duanma[run_time%10];P1=0xaa;}else//显示十位{P2=duanma[run_time/10];P1=0x55;}choose=~choose;}voidmain(void)//主函数{INIT_system();//系统初始化while(1){key_set();//按键扫描 delay(200);//延时约200ms}}voidtimer(void)interrupt1//定时器0{TH0=0x3c;//5msTL0=0xb0;ms_5++;//每个单位代表5msif(ms_5%200==0)//1s{run_time—-;//倒计时减1sif(ms_5==1000)//归零,防止溢出ms_5=0;}if(Direct)//信号灯显示P0=0x60;elseP0=0x90;break;if(run_time<3)//红灯闪烁{switch(run_time){case2:if(Direct)P0=0x20;elseP0=0x10;break;case1:if(Direct)P0=0x60;elseP0=0x90;break;case0:if(Direct)P0=0x20;elseP0=0x10;run_time=set_time;//倒计时完毕,重新赋值Direct=~Direct;//信号灯切换break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论