收藏 分销(赏)

51单片机交通灯系统设计.doc

上传人:二*** 文档编号:4749998 上传时间:2024-10-11 格式:DOC 页数:16 大小:267KB
下载 相关 举报
51单片机交通灯系统设计.doc_第1页
第1页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、- -计算机控制系统课程设计题目:单片机交通信号灯控制系统设计学 院:信息科学与工程学院专 业:自动化学 号:学生:指导教师:日 期:- word.zl- -单片机交通信号灯控制系统设计一、设计目的与意义1、通过用51单片机控制交通灯的课程设计,熟练51单片机的编程方法。2、通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计。3、通过本课程设计将理论用于实践,提高动手能力。二、设计容和要求交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯制止通行,绿灯允许通行。每个方向的通行时

2、间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。三、常见交通信号灯系统概述:交通信号灯是交通信号中的重要组成局部,是道路交通的根本语言。交通信号灯由红灯表示制止通行、绿灯表示允许通行、黄灯表示警示组成。绿灯信号是准许通行信号。按?交通平安法实施条例?规定:绿灯亮时,准许车辆、行人通行,但转弯的车辆不准阻碍被放行的直行车辆和行人通行。红灯信号是绝对制止通行信号。红灯亮时,制止车辆通行。右转弯车辆在不阻碍被放行的

3、车辆和行人通行的情况下,可以通行。红灯信号是带有强制意义的禁行信号,遇此信号时,被禁行车辆须停在停顿线以外,被禁行的行人须在人行道边等候放行;机动车等候放行时,不准熄火,不准开车门,各种车辆驾驶员不准离开车辆;自行车左转弯不准推车从路口外边绕行,直行不准用右转弯方法绕行。黄灯亮时,已越过停顿线的车辆,可以继续通行。黄灯信号的含义介于绿灯信号和红灯信号之间,既有不准通行的一面,又有准许通行的一面。黄灯亮时,警告驾驶人和行人通行时间已经完毕,马上就要转换为红灯,应将车停在停顿线后面,行人也不要进入人行横道。但车辆如因距离过近不便停车而越过停顿线时,可以继续通行。已在人行横道的行人要视来车情况,或尽

4、快通过,或原地不动,或退回原处。本设计为了简便起见,将黄灯取消,使用红灯的闪烁代替。四、系统硬件设计方案主控芯片选择intel的8051单片机,此单片机有32个I/O口,2个定时器,5个中断源,4 KB 的片上ROM,128 Bytes 的片上 RAM。使用4对红绿LED灯作为4个方向的信号灯,每个LED接一个1k的限流电阻,共阳极接法。通过单片机的P0口控制LED的状态。使用4对8位的数码管作为时间显示设备,每个方向一对,可以显示099s的倒计时时间。使用单片机的P1口作为数码管的段码输出端,P2口作为数码管的位选端。整个数码管使用动态显示技术驱动。为了实现时间的可控,使用拨码开关作为外部输

5、入设备,调节时间,将拨码开关接到单片机的P3口,由于是8位,故可以选择28=256个状态,等待时间的围为099s,故使用拨码开关的调节围足够。整个系统的电源使用线性电源LM7805,其驱动电流可达1A,为了减少电源输出的高频信号,可在其输出端并联几个电容。五、原理图设计1、 硬件设计框图:2、 最小系统原理图:51单片机的最小系统包括时钟电路和复位电路,如图:3、 电源电路:在LM7805的输出端并联10uf、0.1uf两个电容,大电容用来储能,小电容用来滤波。4、 交通灯电路图:每个方向有红灯、绿灯两个信号灯,信号灯为共阳极接法,每个灯接一个限流电阻,如图:5、 倒计时显示电路:每个方向有两

6、个8位数码管,显示099s的计时时间,使能端使用单片机的单个IO口控制,如图:6、 拨码开关电路:将拨码开关的一端接到P3口,另一端接地,假设拨码开关翻开,会将单片机的IO口拉低,单片时机检测到这个状态。7、 整个系统的电路图:六、软件设计方案1、 为了使倒计时更为准确,使用定时器作为倒计时的基准时间,系统使用12M的晶振,定时器设置为5ms中断一次。2、 设置开机初始化状态,信号灯全部为红灯,等待2秒后,东西方向绿灯,南北方向红灯,然后开场正常工作。3、 每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。4、 软件设计流程

7、图:七、程序及注释#include/头文件#define TUBE_DATA P0/端口定义 段码输出端#define LED P1/LED控制端#define TUBE_ENABLE P2/位码输出端#define BOMA P3/拨码输入端#define ALL_OFF 0xff/运算定义#define RED1_ON 0xfe#define RED2_ON 0xfd#define RED3_ON 0xfb#define RED4_ON 0xf7#define GREEN1_ON 0xef#define GREEN2_ON 0xdf#define GREEN3_ON 0xbf#define

8、 GREEN4_ON 0x7fchar set_time=0; /设定时间char run_time=0;/实际运行倒计时时间bit LED_choose=0; /信号灯选择 0为南北向 1为东西向int time_base=0;/时间基准计数器code unsigned char LED_num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/段码/-void sys_init(void) /系统初始化函数 TUBE_DATA=0xff; /端口初始化 TUBE_ENABLE=0xff; LED=0xff; BOMA=0xff; TMOD

9、=0x11; /定时器初始化 TH0=0x3c; /定时5ms TL0=0xb0; TR0=1; /定时器运行 ET0=1; EA=1; /开中断LED=ALL_OFF & RED1_ON & RED2_ON & RED3_ON & RED4_ON;/信号灯初始状态 while(time_base99) set_time=99; /设定上下限 else if(set_time10) set_time=10;/-void tube_display(void) /显示时间 static bit choose=0; /个位十位选择标志位 if(choose) /显示个位 TUBE_DATA=LED_

10、numrun_time%10; TUBE_ENABLE=0xaa; else/显示十位 DATA=LED_numrun_time/10; TUBE_DATA=LED_numrun_time/10; TUBE_ENABLE=0x55; choose=choose;/-void main(void) /主函数 sys_init();/系统初始化 while(1) boma_scan();/拨码扫描 /-void PIT0(void) interrupt 1 /定时器0,信号灯控制、刷新时间 TH0=0x3c; /赋初值 TL0=0xb0; time_base+; if(time_base%200=

11、0) /1s run_time-;/倒计时减1s if(time_base=1000) time_base=0; if(LED_choose) /信号灯显示 LED=ALL_OFF & RED1_ON & RED3_ON & GREEN2_ON & GREEN4_ON; else LED=ALL_OFF & RED2_ON & RED4_ON & GREEN1_ON & GREEN3_ON; break; if(run_time3) /红灯闪烁 switch(run_time) case 2: if(LED_choose) LED=ALL_OFF & GREEN2_ON & GREEN4_ON

12、; else LED=ALL_OFF & GREEN1_ON & GREEN3_ON; break; case 1: if(LED_choose) LED=ALL_OFF & RED1_ON & RED3_ON & GREEN2_ON & GREEN4_ON; else LED=ALL_OFF & RED2_ON & RED4_ON & GREEN1_ON & GREEN3_ON; break; case 0: if(LED_choose) LED=ALL_OFF & GREEN2_ON & GREEN4_ON; else LED=ALL_OFF & GREEN1_ON & GREEN3_ON; run_time=set_time; /倒计时完毕,重新赋值 LED_choose=LED_choose; /信号灯切换 break; tube_display();/刷新时间显示八、设计心得 通过本次课程设计,让我加深了对课本知识的理解和掌握,也让我对单片机与外部器件的接口技术有了更深的了解,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。对于各种相关软件如DXP、KEIL的使用更加熟练,C语言的编程风格也有所改善。但是,这些也都仅仅是一个开端,在以后的日子里,我将争取继续努力学好这一实用的技能,为以后的工作打下坚实根底!- word.zl

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服