您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于AT89S51单片机的十字路口交通灯设计
11引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。22单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。2.1单片机的发展单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机的发展分为4个阶段:第一阶段(1974—76年):单片机初级阶段。因为受工艺限制,单片机采用单片的形式而且功能比较简单。例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口。第二阶段(1976—78年):低性能单片机阶段。以Intel公司生产的MCS—48系列单片机为代表,该系列单片机片内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB。第三阶段(1978—83)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32位单片机推出阶段。此阶段的主要特征是:一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向3发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。2.2单片机的应用单片机的应用很广,分别在工业自动化、仪器仪表、终端及外部设备控制、通信方面、武器装备、消费类电子产品等领域中得到了广泛的应用。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。3芯片简介3.1AT89S51AT89S51芯片是80C51系列的典型例子,包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。3.1.189S51组成1.中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2.数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3.程序存储器(ROM):89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4.定时/计数器:48051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5.并行输入输出(I/O)口:89S51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。6.全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。7.中断系统:89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。8.时钟电路:89S51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89S51单片机需外置振荡电容。3.1.2主要引脚功能AT89S51引脚图如图3-1所示图3-1AT89S51引脚1、VCC:电源电压2、GND:地53、P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。4、RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。5、EA——/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。6、XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。7、XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。3.274LS16474LS164是8位串入并出移位寄存器。A、B为串行输入端,QA与QH为串行输出端,CLK为串行时钟输入端,CLR为串行输出QB0和QH0代表在稳态输入条件建立之前QA、QB和QH的输出状态;QAn、QBn和QHn代表在最近的时钟上升沿转换之前QA、QB和QH的输出状态;H/L、Qan和QBn代表在最近的时钟上升沿转换之后QA、QB和QH的输出状态。清零端,VCC为电源输入端,GND为接地端。依据电路原理框图,将74LS164的A、B端与RXD相接,CLK与TXD相接,CLR接高电平Vcc,在满足条件时数据就传送到74LS164并寄存,管脚将自动置成相应的电平。674LS164引脚图如图3-2所示:图3-274LS164引脚图4系统硬件设计4.1硬件材料规格及原理图面包板1块、40脚基座1个、14脚基座1个、双色LED灯4个、470欧姆电阻8个、10UF电容1个、20PF电容2个、12MHZ石英晶振1个、八段数码管1个、74LS164一个。图4-1电路原理图74.2交通管理的方案论证目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计,有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车。十字路口是东西南北走向,初始状态为状态S1(南北绿灯、东西红灯),延时8秒后转状态S2(南北绿灯闪烁2次变黄灯,东西红灯),延时4秒后转状态S3(东西绿灯,南北红灯),延时8秒后转状态S4(东西绿灯闪烁2次变黄灯,南北红灯),延时4秒后跳转到状态S1循环。并且利用串行口以工作方式0在LED上显示时间。此处双色LED灯有3只引脚,工作时中间引脚接地,另外两只引脚单独接高电平,一种亮红灯,一种亮绿灯(最短引脚),两只引脚同时接高电平时,亮黄灯。我们采用LED的动态显示接口方式,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应地并联在一起,由一个8位的I/O口控制,各位的位选线(共阴极或共阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规矩循环,即可使各位数码管显示需要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔时间足够短就可以给人以同时显示的感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间对于交通灯这样对显示亮度要求非常高的系统,我们选择第一种方案实现系统的显示功能。84.3系统硬件设计4.3.1设计思路利用AT89S51的P0口来控制四只双色LED等,来模拟十字路口的交通灯,再利用AT98S51的RXD和TXD端口发送显示数据,通过78LS164串行输入并行输出到一个LED数码管以显示时间,同时利用AT89S51的定时器进行定时。4.3.2控制电路1、时钟电路为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个20PF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。图4-2时钟电路图2、复位电路单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,电容采用电容值为10μ的电解电容。图4-3复位电路图93、LED动态显示由于南北的绿灯、红灯与黄灯时间不相同,可用一个共阳极数码管显示相应的时间,同理东西的绿灯,黄灯,红灯时间也可用这个共阳极数码管显示。单片机的驱动电流非常小,采用AT89S51同相三态缓冲器器作驱动电路。为了减少硬件开支采用动态显示电路。P0口输出字型码。图4-4LED动态显示器电路图5系统软件设计5.1原理分析交通灯变化规律:十字路口是东西南北走向,初始状态为状态S1(南北绿灯、东西红灯),延时8秒后转状态S2(南北绿灯闪烁2次变黄灯,东西红灯),延时4秒后转状态S3(东西绿灯,南北红灯),延时8秒后转状态S4(东西绿灯闪烁2次变黄灯,南北红灯),延时4秒后跳转到状态S1循环。并且利用串行口以工作方式0在LED上显示时间。其状态表入下表所示:10表5-1状态转换表东西南北S1红灯红灯绿灯绿灯S2红灯红灯绿灯闪烁2次变黄灯绿灯闪烁2次变黄灯S3绿灯绿灯红灯红灯S4绿灯闪烁2次变黄灯绿灯闪烁2次变黄灯红灯红灯5.2计算说明P0到P7控制东西南北方向红绿灯的灭与亮的状态,高电
本文标题:基于AT89S51单片机的十字路口交通灯设计
链接地址:https://www.777doc.com/doc-3265507 .html