模拟交通灯的设计_第1页
模拟交通灯的设计_第2页
模拟交通灯的设计_第3页
模拟交通灯的设计_第4页
模拟交通灯的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1目录第1章单片机的发展及应用.41.1单片机的发展.41.2单片机的应用.41.389C51单片机的介绍.4第2章总体方案设计.62.1方案设计与论证.62.2电源提供方案.62.3显示界面方案.62.4输入方案.7第3章系统硬件设计.73.1总体设计.73.2各功能模块硬件设计及实现.83.2.1交通灯四种通行模式及行车方向指示.83.2.2键盘与状态显示及其实现.113.2.3数码管显示电路.113.2.4交通灯系统硬件电路图.12第4章系统软件设计.134.1软件总体流程图.134.2软件主要程序流程.144.2.1每秒钟的设定.144.2.2按键中断程序.154.2.3数码管显示程序.164.3程序源代码.16第5章系统调试与测试结果.225.1软件调试.225.2硬件调试.225.3软硬联调.235.4参考文献.232摘要:交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用STC89c51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标,开发途径及其系统结构与功能和数据地理编码、建库,同时,论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。关键词:AT89C51单片机;交通灯;自动控制;时间显示器;3第1章单片机的发展及应用1.1单片机的发展自单片机出现至今,单片机技术已走过近20年的发展路程。纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器技术及超大规模集成电路技术的发展为先导,已广泛的应用领域为拉动力,其发展趋势主要表现在以下几个方面:(1)4位、8位、16位、32位单片机共同发展4位单片机在未来一段时间不会推出历史舞台,对于简单的电子小商品来说,4位单片机完全可以满足需求并且价格低廉;8位仍是单片机市场的主流产品;16位和32位随着技术发展和开发成本的下降,会在更多科技产品中大显身手。(2).单片机运行速度越来越快单片机速度越来越快不是以时钟频率越来越高为标志的,因为,为提高单片机抗干扰能力和降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。(3).单片机向低功耗与低工作电压方向发展(4).单片机采用高可靠性与低噪声技术1.2单片机的应用单片机的应用很广,分别在以下领域得到了广泛的应用。(1)在家用电器中的应用:现在的家用电器基本上都采用了单片机的控制,如电饭煲、洗衣机、电冰箱、空调、电子秤等等。(2)在智能仪器仪表上的应用:由于单片机具有体积小、功耗低、控制能力强、扩展灵活、微型化和使用方便等众多优点,广泛应用于仪器仪表中,如功率器、示波器,各种分析仪等。(3)在工业控制中的应用:利用单片机可以构成形式多样的控制系统和数据采集系统。例如工厂流水线的智能化管理、电梯智能化控制,各种报警系统等。(4)在计算机网络和通信领域的应用:如手机、无线电对讲机、小型程控交换机、列车无线通信,集群移动通信等。1.389C51单片机的介绍MCS-51单片机的逻辑结构及信号引脚4图1MCS-51单片机的结构框图MCS-51单片机的逻辑结构(1)中央处理器(CPU)中央处理器简称CPU,是单片机的核心,完成运算和控制操作。按其功能,中央处理器包括运算器和控制器两部分电路。(2)运算器电路功能:单片机的运算部件,用于实现算术和逻辑运算。(3)控制器电路功能:单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。(4)内部数据存储器组成:RAM(1288)和RAM地址寄存器等。功能:用于存放可读写的数据。(5)内部程序存储器组成:ROM(4K8))和程序地址寄存器等。功能:用于存放程序和原始数据。(6)定时器计数器80C51共有两个16位的定时器计数器。功能:实现定时或计数功能,并以其定时或计数结果对单片机进行控制,以满足控制应用的需要。(7)并行I/O口MCS-51共有4个8位的I/O口(P0、P1、P2、P3)功能:实现数据的并行输入输出。(8)串行口MCS-51单片机有一个全双工的串行口。功能;以实现单片机和其它数据设备之间的串行数据传送。(9)中断控制系统80C51共有5个中断源,即外中断2个,定时计数中断2个,串行中断1个。全部中断分为高级和低级共两个优先级别。(10)时钟电路MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。5功能:时钟电路为单片机产生时钟脉冲序列。典型的晶振频率:6MHz、11.0592MHz、12MHz。(11)位处理器位处理器称为布尔处理器。功能:以状态寄存器中的进位标志位C为累加位,可进行各种位操作。(12)总线总线:连接计算机各部件的一组公共信号线。分类:地址总线、数据总线和控制总线。作用:减少了单片机的连线和引脚,提高了集成度和可靠性。6第2章总体方案设计2.1方案设计与论证此交通灯方案实现了基本的交通工作原理,并且加入了禁左行车时间,有两种工作模式,白天的时候车流量比较大启动模式1,当到了晚上车流量相对少了启动模式2,这样就避免了晚上没车时候等候时间过长的因素。2.2电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。2.3显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式LED显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。2.4输入方案题目要求系统能手动设灯亮时间、夜间模式处理,我们讨论了两种方案:方案一:采用8155扩展I/O口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用两个按键,分别是K1、K27由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。8第3章系统硬件设计硬件设计是整个设计的基础,要考虑的方方面面很多,除了实现交通灯的基本功能外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性;软件编程的易实现性;系统其他功能及性能指标;因此硬件设计至关重要。先从各功能模块的实现之歌进行分析探讨。3.1总体设计本设计一单片机为控制核心,采用单MCU结构,模块化设计,共分为以下几个功能模块:单片机控制系统、键盘及状态显示、行车方向显示、和倒计时模块等。单片机作为整个硬件系统的核心,他既是谐调整机工作的控制器,又是数据处理器。它由单片机、时钟电路、复位电路等组成。行车方向指示灯采用三种颜色的LED发光管,分别为红、黄、绿,红和绿指示禁止与放行,形象直观。键盘采用按键。分别控制模式1和模式2。系统采用单数码管倒计时功能,最大显示数字为99。主单片基行车方向指示键盘与状态显示倒计时图8系统总体设计框图3.2各功能模块硬件设计及实现3.2.1交通灯四种通行模式及行车方向指示按交通灯控制规则,每个街口有左拐、直行、等待、三种指示灯。交道口模型图:94个LED灯按照设置的通行时间变化,LED显示南北、和东西方向的等待时间开始南北方向为60秒,而东西方向为40秒就行倒计时,共有四种通行方式,分别为图10a通行方式一图10b通行方式二10图10c通行方式三图10d通行方式四图11a模式一下的通行方式一图11b模式一下的通行方式二图11c模式一下的通行方式三图11d模式一下的通行方式四当处于模式1时:11通行方式一:倒计时时间为60秒(等待时间),红绿灯状态:只限东西方向左拐,所以南北方向为红,东西方向左拐LED灯亮,持续10秒钟。如图9b和图10b。通行方式二:倒计时时间为50秒(等待时间),红绿灯状态:东西方向直行,南北方向禁行,所以南北方向为红灯,东西方向直行LED灯亮,持续50秒。如图9a和10a。通行方式三:倒计时时间为40秒(等待时间),红绿灯状态:只限南北方向左拐,所以东西方向为红灯,南北方向左拐LED灯亮,持续10秒钟。如图9d和图10d。通行方式四:倒计时时间为30秒(等待时间),红绿灯状态:南北方限制性,东西方向禁行,所以东西方向为红灯,南北方向直行LED灯亮,持续30秒。如图9c和10c。通行方式二和四,在通行还剩五秒的时候,这是黄灯开始工作,绿灯在倒计时还剩5秒的时候灭,然后黄灯开始闪烁,提醒司机快红灯了。当处于模式2时:通行方式五:倒计时时间为40秒(等待时间),红绿灯状态:只限东西方向左拐,所以南北方向为红,东西方向左拐LED灯亮,持续10秒钟。如图9b。通行方式六:倒计时时间为30秒(等待时间),红绿灯状态:东西方向直行,南北方向禁行,所以南北方向为红灯,东西方向直行LED灯亮,持续50秒。如图9a。通行方式七:倒计时时间为20秒(等待时间),红绿灯状态:只限南北方向左拐,所以东西方向为红灯,南北方向左拐LED灯亮,持续10秒钟。如图9d。通行方式八:倒计时时间为10秒(等待时间),红绿灯状态:南北方限制性,东西方向禁行,所以东西方向为红灯,南北方向直行LED灯亮,持续30秒。如图9c。通行方式六和八,在通行还剩五秒的时候,这是黄灯开始工作,绿灯在倒计时还剩5秒的时候灭,然后黄灯开始闪烁,提醒司机快红灯了。3.2.2键盘与状态显示及其实现键盘在本设计中用于更换红绿灯工作模式的手动控制装置,以及复位时间,起到了不可或缺的重要作用。我们选用两个按钮来作为控制装置,分别为K1,K2,当按下K1启动模式1,当按下K2启动模式2。图12键盘123.2.3数码管显示电路数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。图13数码管显示电路图中的电阻为上拉电阻。LED显示器中的发光二极管共有两种连接方法:共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V。阴极端输入低电平的段发光二极管导通点亮,输入高电平的则不点亮。共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时会共阴极接地,阳极端输入高电平的段发光二极管导通点亮,输入低电平的则不点亮。13图14LED显示器用LED显示器显示十六进制数的字型代码如下表所示:显示数值dopgfedcba驱动代码(16进制)0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011006DH6011111007DH70000011107H8011111117FH图15数码管驱动代码表3.2.4交通灯系统硬件电路图14图16数码管显示电路15第4章系统软件设计由于变成多涉及到数值运算,比较复杂,这里我们选择移植性好、结构清晰、能进行复杂运算的C语言来实现编程。4.1软件总体流程图主程序比较简单,初始化完成后,调用按键子程序,取得键值,并根据当前系统状态调用相应的子程序。4.2软件主要程序流程4.2.1每秒钟的设定延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。我们采用的是软延迟的方法。voiddelay(uintz)开始初始化取键值判断当前状态工作模式LED颜色倒计时16uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);其中给定z=1000为时间1秒。流程图如下4.2.2按键中断程序它包含倒计时调整和模式切换两个状态。主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子程序处理。当检测到K1键按下的时候就自动返回到主程序,运行K1模式1,当检测刀K2按下时自动返回主程序,运行K2模式。K1模式子程序:if(h=1|aa=1)i=9;j=4;P2=table3;g1=0;r2=0;g2=1;r1=1;y1=1;17y2=1;h=1;if(h=1)i=9;j=6;P2=table5;g2=0;r1=0;r2=1;g1=1;y1=1;y2=1;h=1;K2模式子程序:if(h=0|aa=0)i=9;j=6;P2=table5;g1=0;r2=0;g2=1;r1=1;y1=1;y2=1;h=0;if(h=0)i=9;j=8;P2=table7;g2=0;r1=0;r2=1;g1=1;y1=1;y2=1;h=0;184.2.3数码管显示程序参照表2,数码管显示与16位进制时之间的关系建立数组table=0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f;采用循环,将数组中的值按每秒键1的方法显示在数码管上,这就是冲9-0的倒计时。循环显示程序:for(;j#include#defineuintunsignedint/宏定义#defineucharunsignedcharuchari,j,z,h,tt,ii,jj,aa,bb;ucharcodetable=0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f;sbitgg1=P00;sbitgg2=P01;sbity1=P12;sbitr1=P13;sbitg1=P14;sbity2=P17;sbitr2=P16;sbitg2=P15;sbitkey1=P10;sbitkey2=P11;voiddelay(uint);voiddelay(uintz)19uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);voidmain()gg1=1;gg2=1;aa=1;h=1;key1=1;key2=1;z=0;P3=0;P2=0;while(1)if(h=1|aa=1)i=9;j=4;P2=table3;g1=0;r2=0;g2=1;r1=1;y1=1;y2=1;h=1;if(h=0|aa=0)i=9;j=6;P2=table5;g1=0;20r2=0;g2=1;r1=1;y1=1;y2=1;h=0;for(;j=5)gg1=0;g1=1;if(h=0)if(P3=0x3f)&(j=7)gg1=0;g1=1;if(key1=0)aa=1;if(key1=0)aa=1;if(key2=0)aa=0;21if(key2=0)aa=0;if(P2=0x3f)&(i=4)g1=1;gg1=1;if(z=0)y1=0;if(z=1)y1=1;z+;P2=tablej;i=0;if(h=1)i=9;j=6;P2=table5;g2=0;r1=0;r2=1;g1=1;y1=1;y2=1;22h=1;if(h=0)i=9;j=8;P2=table7;g2=0;r1=0;r2=1;g1=1;y1=1;y2=1;h=0;for(;j=7)gg2=0;g2=1;if(h=0)if(P3=0x3f)&(j=9)gg2=0;g2=1;if(key1=0)aa=1;23if(key1=0)aa=1;if(key2=0)aa=0;if(key2=0)aa=0;if(P2=0x3f)&(i=4)g2=1;gg2=1;if(z=0)y2=0;if(z=1)y2=1;z+;P2=tablej;i=0;gg2=1;24第5章系统调试与测试结果因本设计本身要求稳定性高、免维

温馨提示

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

评论

0/150

提交评论