河南工程学院毕业设计1前言19世纪初,在英国中部的约克城,红绿装分别代表女性的不同身份。其中着红妆的女人代表我已经结婚了,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车扎人的事故,于是人们受到红绿装的启发,1868年12月10日,信号灯家族的第一个成员就在英国伦敦议会大厦的广场上诞生了,由当时英国机械师师德.哈特设计,制造的灯柱高7米,身上挂着一盏红绿两色的提灯—煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长杆的警察随心所欲的牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面试23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。从此,城市的交通灯被取缔了。知道1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红黄绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生使城市交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电气公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一声冷汗。回到宿舍,他反复琢磨,终于想到了在红绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红黄绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。中国最早的马路红绿灯,是于1928年出现在上海英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算控制到现代化的电子定时监控,交通信号灯在科学化,自动化上不断地更新,发展和完善。河南工程学院毕业设计2第一章绪论随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。目前,有一种“自动控制”控制交通灯的方法。利用事先编制好的程序输入单片机,再利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”。河南工程学院毕业设计3第二章设计方案第一节设计要求(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯此道车辆通过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒。东西方向车流大通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。第二节设计方案优选方案一PLC控制交通灯PLC主要应用于强电方面的工业控制,或者整条流水线的控制。虽然比较稳定,但是功耗要大。方案二单片机控制交通灯单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器计数器、中断系统资源丰富,可对交通灯进行精确的控制,有应用价值。第三节系统总框图1系统总框图如下河南工程学院毕业设计4图12系统工作原理(1)开关键盘输入交通灯初始时间,通过80C51单片机P1输入到系统。(2)由80C51单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PA口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。(3)80C51通过设置各个信号等的燃亮时间、通过80C51设置,绿、红时间分别为60秒、80秒循环由80C51的P0口向8255的数据口输出。(4)通过80C51单片机的P3.0位来控制系统是工作或设置初值,当牌位0就对系统进行初始化,为1系统就开始工作。(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。(6)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。(7)绿灯时间倒计时完毕,重新循环。3交通灯控制器系统框图河南工程学院毕业设计5图2交通灯控制器系统框图河南工程学院毕业设计6第三章硬件设计第一节80C51芯片(一)、80C51的引脚说明:下图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3图3p0口:双向8位三态态I/O口,访问外存时,作为低8位地址线,8位双向数据线。可分时复用,工作最繁忙。P1口:8位双向I/O口。P2口:8位双向I/O口,扩展电路高8位地址总线。P3口:8位双向I/O口,及第二功能。(二)、80C51的复位80C51的复位方式可以是上电复位,也可以是上电与按键均有效的复位,见下图4。河南工程学院毕业设计7图4(1)Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。(2)Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。(3)Pin31:EA/Vpp程序存储器的内外部选通线,80C51和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。(三)、80C51的时钟产生方式图5河南工程学院毕业设计8(1)内部时钟电路。在80C51内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体,就构成了自激震荡器并在单片机内部产生时钟脉冲信号。上图中电容C1和C2的作用是稳定频率和快速起振,电容值在5-30pF。(2)外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片80C51单片机同时工作,以便于个单片机的同步.一般要求外部信号高电平的持续时间大于20ns,并为频率低于12MHz的方波。第二节8255芯片8255可编程并行接口芯片简介:8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。图6河南工程学院毕业设计9(1)A口、B口和C口。均为8位I/O数据口,但结构上略有差别。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。(2)A、B组控制电路。这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。(3)数据缓冲器。这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。(4)读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255的读/写。(5)数据线(8条):D0~D7为数据总线,用于传送CPU和8255之间的数据、命令和状态字。(6)控制线和寻址线(6条)RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。WR和RD:读/写信号线,输入,低电平有效。当为0时(必为1),所选的8255处于读状态,8255送出信息到CPU。反之亦然。(7)CS:片选线,输入,低电平有效。(8)A0、A1:地址输入线。当为0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。(9)I/O口线(24条):PA0~PA7、PB0~PB7、PC0~PC7为24条双向三态I/O总线,分别与A、B、C口相对应,用于8255和外设之间传送数据。(10)电源线(2条):VCC为+5V,GND为地线。第三节74LS373芯片74LS373是一种带三态门的8D锁存器,其管脚示意图7如下示:其中:1D-8D为8个输入端。1Q-8Q为8个输出端。河南工程学院毕业设计10图7LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态;当LE由“1”变“0”时,数据打入锁存器OE为输出允许端:当OE=0时,三态门打开;当OE=1时,三态门关闭,输出高阻。第四节时间及信号灯的显示180C51并行口的扩展80C51有4个8位I/O端口,P0接口和P2接口用来作为外部ROM,RAM和扩展I/O接口的地址线,而不能作为I/O接口,只有P1接口和P3的某些位线可直接用作I/O线。因此,单片机提供给用户的I/O接口线并不多,对于复杂一些的应用系统都需要进行I/O的扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/O端口,显然80C51的端口是不够,需要扩展。2显示原理:当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。38255PA口输出信号接信号灯:由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。河南工程学院毕业设计1148255输出信号与数码管的连接:LED灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如SP,g,f,e,d,c,b,a管角上加上7FH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8采用共阴级连接:其中PC0\PB0-a,PC1\PB1-b,PC2\PB2-c,PC3\PB3-d,PC4\PB4-e,PC5\PB5-f,PC6\PB6-gPC7\PB7-SP接地表3驱动代码表显示数值dopgfedcba驱动代码(16进制)0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011006DH6011111007DH70000011107H8011111117FH58255与80C51的连接:用80C51的P0口的p0.7连接8255的片选信号cs我们用80C51的地址采用全译码方河南工程学院毕业设计12式,当p0.7=0时片选有效,其他无效,p0.1p0.1用于选择8255端口P0.7p0.6p0.5p0.4p0.3p0.2P0.1P0.0A7A6A5A4A3A2A1A01XXXXX0000H为8255的PA口1XXXXX0101H为8255的PB口1XXXXX1002H为8255的PC口1XXXXX1103