《计算机控制技术课程设计基于单片机的交通灯控制.doc》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计基于单片机的交通灯控制.doc(20页珍藏版)》请在三一办公上搜索。
1、计算机控制技术课 程 设 计成绩评定表设计课题 : 基于单片机的交通灯控制 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 王 黎 设计地点 : 中原路校区2号楼402 设计时间 : 2011.6.272011.7.3 指导教师意见:成绩: 签名: 年 月 日 计算机控制技术课 程 设 计 课程设计名称: 基于单片机的交通灯控制 专 业 班 级 : 自动F0805 学 生 姓 名 : 学 号 : 指 导 教 师 : 设 计 地 点 : 中02 课程设计时间: 2011.6.272011.7.3 计算机控制技术 课程设计任务书学生姓名专业班级自动F0805学号题
2、 目基于单片机的交通灯控制课题性质工程设计课题来源自拟课题指导教师王黎主要内容利用单片机完成交通信号灯控制器的设计, 该交通信号灯控制器由一条主干道和 一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。任务要求第1天:熟悉课程设计任务及要求,针对课题查阅技术资料。第2天:确定设计方案。要求对设计方案进行分析、比较、论证,画出方框图,并简述工作原理。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5天:撰写课程设计报告。要求内容完整、图表
3、清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于5000字。主要参考资料1.楼然苗.单片机课程设计指导 2 熊静琪计算机控制技术北京:电子工业出版社,20033 高金源计算机控制技术北京:北京航空航天大学出版社,20014徐维祥.单片微型机原理及应用 大连理工大学出版社,2006.125 张晋格计算机控制原理与应用北京:电子工业出版社,1995审查意见系(教研室)主任签字: 年 月 日目录1 引言 .12总体方案设计.2 2.1系统设计要求.2 2.2系统整体结构.2 2.3方案论证及其选择.33硬件电路设计.4 3.1数码管显示电路.4 3.2复位电路设计.53.3晶振电路设计.73
4、.4电源电路设计.7 3.5时钟电路设计.83.6单片机最小硬件电路设计.83.7最小硬件系统电路图设计.93.8红、绿、黄灯控制电路设计.104程序设计.11 4.1程序总体设计.11 4.2主程序设计.124.3显示子程序设计.124.4交通控制时间处理子程序设计.135心得体会.156参考文献.167 附录.171 引言现在的每个城市中,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但是这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师
5、纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿色两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察
6、觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。本文主要采用的是用数码管
7、与点阵 LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与 LED 灯分别显示时间与提示信息。2总体方案设计2.1系统设计要求(1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时, 支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2)干道均有车时,两者交替允许通行,主干道每次放行 30 秒,支干道每次放 行 30秒,设立30 秒计时、显示电路。 (3)绿灯亮到红灯亮的转换过程中,要亮 5 秒黄灯作为过渡。黄灯亮时,原红 灯按 1Hz 的频率闪烁。 (4)支干道通行时间及黄灯亮的时间均可在 099 秒内任意设置。2.2系
8、统整体结构本文中用通用的LED数码管作为时间显示器件,二极管作为交通控制的指示灯。共需要8个数码管、12个二极管(红、黄、绿各4个)。其系统的整体结构如下图2.2所示,图2.2 系统结构框图整个系统中单片机可选用 AT89S51, 它与 8051 系列单片机全兼容, 但其内部带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采 用 2 个数码管计时, 同时需要对该方向的指示灯的点亮时间进行倒计时。 键盘系统可以根据 系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的 I/O 口不够 用时,可以考虑扩展 8255 或
9、8155 满足系统的要求。2.3方案论证及其选择2.3.1电源方案的选择 为使模块稳定工作,须有可靠电源,通常AT89S51单片机的工作电压范围:4.0V5.5V, 所以我们在本设计中选用5V的直流外界电源即可。但是所提供的这个电源必须是稳定且可靠的。2.3.2输入方案的选择 方案一: 采用 AT89S51 扩展 I/O 口及键盘,显示等。该方案的优点是: 使用灵活可编程,并且有 RAM,及计数器。若用该方案,可提供较多 I/O 口,但操作起来稍显复杂。 方案二: 直接在 I/O 口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,由于该系统对于交通灯及数码管的控制,只用
10、单片机本身的 I/O 口就可实现,且本身的计数器及 RAM 已经够用,故选择方案二。2.3.3显示界面方案的选择方案一: 完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。方案二: 完全采用LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字、图形等。 方案三: 采用数码管与LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED 灯分别显示时间与提示信息。 这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一 二方案的优缺,我们决定采
11、用方案三以实现系统的显示功能。2.3.4交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿 三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮 允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、 南北两干道的公共停车时间。 指示灯燃亮的方案如下表2.3.5所示。表2.3.525S5S25S5S东西道红灯亮红灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮红灯亮表 2.3.5的说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间 为30秒。 (2)黄灯 5 秒,警示车辆和行人红、绿灯的
12、状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南 北道车辆禁止通过,行人通行。时间为 30秒。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样 行人和车辆就能安全畅通的通行。3硬件电路设计3.1数码管显示电路设计采用共阳型数码管, P2口作为数码管的输入,0.4、 P0.5、 P0.6、 P0分别作数码管为东西南北四路数码管的位选端。数码管显示电路的设计电路图如下图3.1所示,图3.1数码管显示电路3.2复位电路设计复位电路产生复位信号,使单片机从固定的起始状态开始工作,完成单片机的“启机”过程。AT89S51单片机复位信号是高电平有效,通过RST/VPD(9脚
13、)输入。复位电路连接方式有两种。即硬件复位和软件复位。在本设计中我们采用的是硬件的复位方式,一共有以下三种。 1)上电复位单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。其硬件电路图如下图所示。2)手动复位 手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。其硬件电路图如下图所示。3)混合复位电路 将上电复位电路和手动复位电路结合到一起构成,通常使用的都是这种混合复位电路,其硬件电路图如下图所示。3.3晶振电路晶振电路原理图如下图 3.3所示, 图3.3 晶振模块原理图选取原则:传统做法,但
14、能够实现所需,即最简单也最是实用。 电容选取 30pF,晶振为 2MHz。3.4电源电路设计 AT89S51单片机的工作电压范围:4.0V5.5V, 所以通常给单片机外接5V直流电源。连接方式如下图所示,3.5时钟电路设计时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。 AT89S51单片机时钟频率范围:0 33MHz。时钟电路设计图如下所示,3.5时钟电路连接方式3.6单片机最小硬件电路设计单片机最小硬件电路组成简述:要使单片机工作起来,最基本的电路的构成为本系统采用AT89S51单片机,程序量不大,使用内部的存储器。电源电路:向单片机供电。时钟电路:单片机工
15、作的时间基准,决定单片机工作速度。复位电路: 确定单片机工作的起始状态,完成单片机的启动过程。其单片机的最小硬件电路如下图3.6所示,图3.6单片机最小硬件电路3.7最小硬件系统电路图设计(1)AT89S51芯片简介EA/VP(31脚)接+5V。单片机的P0、P1、P2、P3四个端口用于输入/输出数字电信号。1)电源引脚:连接电源Vcc(40脚):电源正极 Vss(20脚):电源负极2)时钟引脚:连接时钟电路XTAL1(19脚):输入引脚 XTAL2(18脚):输出引脚3)复位引脚:连接复位电路RST/VPD(9脚):复位引脚4)控制引脚:辅助控制作用 PSEN(29脚)ALE/PROG(30
16、脚) EA / VPP(31脚):接高电平图3.7最小硬件系统电路图5)I/O端口引脚:用来连接单片机和外部设备,实现数据的输入/输出。 P0.0P0.7(39脚32脚):P0端口P1.0P1.7(1脚 8脚):P1端口P2.0P2.7(21脚28脚):P2端口 P3.0P3.7(10脚17脚):P3端口最小硬件电路图设计如上图3.7所示。3.8红、绿、黄灯控制电路设计十字路口红绿黄灯的硬件接线图如下图3.8所示,黄灯用P3口输出,绿灯用P1口的高四位输出,红灯用P1口的低四位输出,其控制电路设计如下图3.8所示,图3.8红、绿、黄灯的接线图4软件设计4.1程序总体设计程序模块包括:主程序(系
17、统初始化、显示程序)、外中断服务程序、定时器服务程序(倒计时处理)等。主程序的框图如下图5.1所示。图5.1主程序结构框图主程序包括对定时/计数器、外部中断的初始化,读出系统运行参数,将交通灯时间参数送对应的显示缓冲区,然后反复调用显示子程序。并在现实过程中等待见哦按中断处理功能,等待定时器中断改变数码管显示指挥交通。系统用两个定时器,一个用交通灯的计时处理,一个用来控制数码管的闪烁显示,结合显示程序进行综合设计。其他与实践有关的处理程序也用该定时器实现,进行多延时程序设计。4.2主程序设计定时器设置,交通灯控制需要产生秒信号,定时器一半不能直接产生,如系统晶振才约6MHz,系统的机器中期是2
18、um,最大定时约131ms,可以将定时器设置为反复定时125ms,数中断的次数,每8次就是1s。闪烁显示定时的时间也可设置为125ms,1s亮灭几次可以看出闪烁效果。两个定时器都设置为方式1定时,初值为:216-125*1000/2=0BDCH4.3显示子程序设计数码管显示控制的原理:在显示程序中判断该数码管的亮灭标志决定是否跳过位开通指令,从而达到控制数码管亮和灭的控制,在定时器程序中判断该位的闪烁标志,决定是否对该数码管亮灭标志位的求反操作,实现数码管的闪烁控制。以后只要对闪烁标志设置就可控制数码管的闪烁。控制的方法是判断闪烁标志位,通过对显示缓冲区内容的改变(该位亮或灭信息),达到闪烁的
19、效果。4.4交通控制时间处理子程序设计1)软件设计基础思想:由定时器产生0.05s定时,软件计数得到秒信号,设30s计数器,30s计数器计满,绿灯灭、黄灯闪烁5次,黄灯灭、红灯亮;同时,另两路口红灯灭、绿灯亮。2)定时器T0工作方式1,产生0.05s定时。P0口及P2口的低4位输出控制信号。30s计数器的地址为40H。控制引脚与灯的关系如下表4.4(a)所示,表4.4(a)控制引脚与灯的对应关系位置灯颜色控制引脚北口 红PA0(BRD)黄PA1(BYD)绿PA2(BLD)南口红PB1(NRD)黄PB2(NYD)绿PB3(NLD)东口红PA0(DRD)黄PA1(DYD)绿PA2(DLD)西口红P
20、A6(XRD)黄PA7(XYD)绿PB0(XLD)交通控制时间处理子程序的流程图如图4.4(b)所示。开始灯全灭南北绿灯亮东西红灯亮30s计数器清零30s时间到南北红灯亮东西绿灯亮30s计数器清零30s时间到5s闪亮东西黄灯闪亮图5.4(b)控制时间子程序流程图心得体会 在这次课程设计中收获颇多,在查阅相关资料的同时,增长了不少知识, 学到了一些书本以外的应用性的东西。设计过程中,也出现了很多的问题,如画图时在元件库里没有的,就得自己画,这样也不错,又一次的加深了protel的学习,虽然单片机我们还没有学习,但是在校工厂里开的开放性试验我已经学过,所以再加上这次的不断学习,对单片机的功能也没有
21、什么难处,总之,通过这次的自己动手,巩固了以前学过的protel以及单片机的内容,对以后的实践性课程打下了一定的基础。参考文献1张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社 1998 2 赵建领51单片机开发与应用技术详解北京:电子工业出版社,20093余锡存 曹国华.单片机原理及接口技术M.陕西:西安电子科技大学出版 社,2000.7 4雷丽文 等.微机原理与接口技术M.北京:电子工业出版社,1997.2 5 高金源计算机控制技术北京:北京航空航天大学出版社,20016.蔡朝洋.单片机控制实习与专题制作7.楼然苗.单片机课程设计指导 8 熊静琪计算机控制技术北京:电子工业出版社,20039 张晋格计算机控制原理与应用北京:电子工业出版社,199510 徐维祥.单片微型机原理及应用 大连理工大学出版社,2006.1211 胡汉才.单片机原理与接口技术M.北京: 清华大学大学出版社,2004.1-505. 附录 系统总原理图如下