
完整的设计资料下载:
http://www.51hei.com/bbs/dpj-76749-1.html
目录 一、绪 论 1.1交通信号灯的发展及研究意义 1.2现在城市路口交通灯控制技术现状 1.3方案的设计与论证 1.3.1电源提供方案 1.3.2显示界面方案 二、系统硬件设计 2.1总体设计 2.2 单片机的基本结构 2.3单片机外围电路设计 2.3.1复位电路设计 2.3.2外部晶振时钟电路设计 2.3.3 显示模块电路设计 三、交通信号灯控制系统的设计 3.1 十字路口交通信号灯具体的控制要求 四、交通信号灯控制系统程序编制 4.1 软件设计应用环境 4.2 软件设计流程 五、结论 参考文献 附件一:总体原理图 附件二:源程序代码
摘要 随着社会主义的建设,城市的规模在不断扩大,城市的交通也在不断的提高和改进,交通的顺畅已经成为制约社会主义建设的一个重要因素。目前,伴随着机动车辆的不断增加,尤其是十字路口的交通建设颇为关键,严重的影响到城市交通安全。社会主义建设以来,有许许多多的设计工作者投身于十字路口交通建设的研究之中,创造和设计出了很多新型的方案,把我国交通建设推向了更高的发展阶段。 当前,十字路口都采用了信号灯来控制车辆和人的通行,不仅便于维护管理,而且有较强的自动化。大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者关系的协调,多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们的关注。它的出现使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。 本系统采用单片机AT89S52来设计交通灯控制器,实现了能根据实际车流量通过AT89C51芯片的P0口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时绿灯闪烁警示,剩2秒时黄灯亮起。本系统实用性强、操作简单、扩展功能强。 关键词: AT89C51单片机;交通灯;倒计时;时间显示 一、绪 论1.1交通信号灯的发展及研究意义当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术已经有相当长的发展历史了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 又经过前人的设计和改造,交通信号灯终于普及整个城市的十字路口。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果,更改变了交警轮流指挥和疏散交通拥挤的现状,实现了人,车,路三者的同步协调。现阶段,许多设计工作者又设计出许多智能化,自动化,数字化等更先进的交通灯控制方案,这更方便于维护管理,给人们提供了更加便利的交通环境。 目前,城市规模还在不断的扩大,人们对交通信号灯的控制也越来越高,我们需要更高层次的去了解交通信号灯,结合城市十字路口交通的需要,不断地去创新,才能达到发展的需求,所以研究交通信号灯的极为重要。 1.2现在城市路口交通灯控制技术现状 随着城市机动车量的不断增加,许多大城市出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高澎路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路藕合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道车流量繁忙的交通拥堵状况,越来越成为交通运输管理和城市规划部门待解决的主要问题。 1.3方案的设计与论证本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图所示。 交通灯控制的框图如下图1.1所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。 图1.1 交通灯控制框图 1.3.1电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案: 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。 综上所述,选择第二种方案。 1.3.2显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。 方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。 1.3.3输入方案 这里同样讨论了两种方案: 方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。 由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 二、系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。 2.1总体设计 本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。 单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。 系统采用双数码管倒计时计数功能,最大显示数字99。 2.2 单片机的基本结构 AT89S51单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C51是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[1]。 AT89S51具有以下主要性能: 1.8KB可改编程序FLASH存储器; 2.全表态工作 :0~24HZ; 3.256X8字节内部RAM; 4.32个外部双向输入,输出(I、O)口; 引脚说明如图2.1。 图2.1 AT89C5单片机 引脚功能说明如下[2]: VCC:电源电压。 GND:地。 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。 在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。 P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或16位地址的外部数据储存器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-1。 P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。 即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。 EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。 FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端 2.3单片机外围电路设计2.3.1复位电路设计 MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则MCS-51循环复位,只有单RET由高电平变成低电平以后,MCS-51才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路如图2.2。 图2.2复位电路 2.3.2外部晶振时钟电路设计MCS-51的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式,本论文根据实际需要和简便,采用内部振荡方式,如图2.3,MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成了一个自激振荡器。 MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。 图2.3 晶振电路 2.3.3 显示模块电路设计该模块由共阳LED数码管组成,利用数码管的动态扫描原理,由三极管进行锁存,当控制数码管的IO口P20和P21为低电平时(及三极管基极为低电平),则三极管导通,VCC通三极管给数码管供电,则数码管被点亮,利用数码管点亮的余辉和人眼的视觉暂留原理,则看起来数码管是同时被点亮的。 从设计完成的任务与要求来看,显示通行时间必须用二位数码管,从节省硬件资源的角度考虑,可采用扫描的方式来处理,对于7段数码管,占用7个单片机的I/O口,另外设置2个电子开关对2位显示进行配合,占用2个I/O端口,十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用12个端口进行控制,加上两个方向的紧急通行按钮,占2个I/O端口和一个蜂鸣器端口,因此实际占用的单片机I/O口为24个,为此,我们可以选用51系列单片机中的ATAT89S51来作为中央处理器。这款单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O口就可以直接驱动,能简化硬件电路的设计。 三、交通信号灯控制系统的设计 交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。因此必须合理的设计路口主干道的系统。 3.1 十字路口交通信号灯具体的控制要求 (1) 交通信号灯分布于东南西北,每个路口均有三个。南北方向绿灯和东西方向的绿灯不能同时亮;如果同时亮,则应自动立即关闭信号灯系统,并立即发出报警信号。系统工作后,首先南北红灯亮并维持30s;与此同时,东西绿灯亮,并维持25s时间,到25s时,东西绿灯熄灭。在东西绿灯熄灭时,东西绿灯闪烁并维持3s,然后东西黄灯熄灭,东西红灯亮,同时南北红灯熄灭,南北绿灯亮;东西红灯亮并维持30s;与此同时,南北绿灯亮并维持15s;然后,南北绿灯熄灭南北绿灯熄灭时,南北黄灯亮维持2s后熄灭;同时南北红灯亮,东西绿灯亮。至此,结束一个工作循环,如下交通信号灯变化表如图3.1: 图3.1 交通变化表 (2)在交通信号灯亮和闪烁的同时,路口设有两位七段码的显示器倒数计时,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。以便于司机和行人能够在有限的时间内准确的通行。
四、交通信号灯控制系统程序编制 4.1 软件设计应用环境本设计软件的设计是在Keil C51的环境下编译的。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C语言有以下特点: 1、语言简洁、紧凑、使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。 2、运算符丰富。C的运算符包含的范围很广泛,共有34种运算符,使得C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。 3、数据结构丰富,具有现代化语言的各种数据结构,能用来实现各种复杂的数据结构的运算。 4、具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化。 5、语法限制不太严格,程序设计自由度大。 6、C语言能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。 7、生成目标代码质量高,程序执行效率高。 8、用C语言写的程序可移植性好。基本上不用修改就能用于各种型号的计算机和各种操作系统。 对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C语言明显地优势于其他高级语言,有的大型应用软件也用C语言来编写。 4.2 软件设计流程软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。
4.3交通灯定时器模块 AT89C52单片机内部有3个定时器T0,T1和T2,本次设计中使用T0工作在方式1,即16位定时器,定时50ms,20次中断产生秒信号,从而控制红绿灯的点亮时间。 工作方式寄存器TMOD用来设置T0、T1的工作方式。这次实习中设置TMOD=0x01,即T0工作于方式0(16位定时器)。 内部定时器/计数器用作定时器时,是对机器周期计数,每个机器周期的长度是12个振荡周期。定时常数的设置可用一下方式计算: 机器周期=12/12MHz=1us (65536-定时常数)*1.0us=50ms 所以定时常数是50000。
五、结论本论文介绍了一种基于AT89C51单片机的交通灯的设计方法,本论文完成了系统的硬件设计与制作,详细介绍了系统硬件设计的过程,并结合软件系统完成了整个系统的软、硬件联调,系统工作良好,实现了基本功能。完成了东西南北红绿灯的指示,同时我们增添了东西南北等待时间具有时间差的功能,更好的仿真,模拟了实际情况中的交通指示灯。 由于时间紧张,这次课设也有许多不足的地方,比如倒计时时间调整复杂,人机交互性较差,错按按键会使系统崩溃等等,这些问题都是我们没有解决的,希望以后有时间可以更加完善我们的课题。 参考文献 [1]刘鲲,孙春亮.单片机C语言入门.人民邮电出版社,2008年4月第一版 [2]王守中.51单片机开发入门与典型实例.人民邮电出版社,2007年8月第一版 [3]楼然苗,李光飞.北京航空航天大学出版社.2012年2月第二版 [4]肖婧.单片机入门与趣味实验设计.北京航空航天大学出版社,2008年4月第一版 [5]陈忠平.基于Proteus的51系列单片机设计与仿真.中国工信出版社,电子工业出版社,2005年9月第一版 [6]许维蓥,郑荣焕.Proteus电子电路设计及仿真.电子工业出版,2014年2月第二版 [7]万良生.单片机在城市智能交通灯控制中的应用.研究与讨论,2014年9月 [8] 孙晓燕.基于8051单片机的交通灯控制系统设计与模拟[J].南宁职业技术学院学报,2007年03期. [9] 陈毅,许飞,王学飞.基于单片机的交通灯智能控制系统[J].中国高新技术企业,2009年第15期. [10]YX.Single microcomputer principle application and interface technology[M].Beijing:National DE——fence Industry Press,1993 [11]XIYB.GUJ.The summarization for technology of dis-tributed networked measurement JI.Chinese Journal of Scientific Instrument,2002(S3):212--216 附件一:总体原理图
|