单片机交通灯控制智能交通灯控制系统.doc
《单片机交通灯控制智能交通灯控制系统.doc》由会员分享,可在线阅读,更多相关《单片机交通灯控制智能交通灯控制系统.doc(29页珍藏版)》请在沃文网上搜索。
1、目 录1 前言12 交通等系统总体设计思路23 硬件设计33.1 硬件设计概述33.2 主要芯片简介43.2.1 核心芯片AT89C51单片机的说明43.2.2 锁存器74LS373的简介53.2.3 8255A的简介63.2.4 七段数码管的简介64 交通灯的软件设计94.1 主程序的设计94.2 显示程序的设定94.3 延时程序的设计114.4 中断服务程序的设计115 调试与仿真145.1 Keil C51软件与PROTEUS软件的简介145.1.1 Keil C51软件的简介145.1.2 PROTEUS软件的简介145.2 调试与仿真的过程155.2.1 程序调试过程155.2.2
2、程序仿真过程及结果176 总结22参考文献23附录24智能交通灯控制系统1 前言于我们所生活的此年代交通便利尤其重要,随着生活水平提高及社会的发展,道路越修越宽、越建越多,车的数量也急剧增加,道路堵塞也伴随而来。因此,一个好的交通灯控制系统,可以使道路拥挤、违章控制、突发事件、故障处理等方面的问题给予技术革新。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,计算机智能控制设备有了很大的发展,而且在生活各个方面的运用越来越广泛,且运用技术及手法越来越成熟。本文介绍了一个智能交通灯系统的设计。该智能交通灯控制系统可以实现的功能有:能控制东西南北四个路口的红黄绿灯正常
3、工作,并且在正常模式下可以在各种状态之间自动转换。东西和南北方向分时准行和禁行;两垂直方向的准行时间均为60s或120s,可以进行控制转换;准行方向亮绿灯与禁行方向亮绿灯55s后,四个路口同时加亮一黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变;四个道口均用数码管显示准行或禁行的剩余时间;在交通情况特殊情况下可以通过K1、K2、K3按键对交通灯进行控制。当有紧急情况发生时按下K1四个路口同时加亮黄灯进行闪灯(闪灯时间为5s)且倒计时显示关闭。黄灯闪烁完毕后四路口全变红灯禁行,处理紧急情况。有某方向上车辆过多 ,可以使用K2、K3键控制东西或南北方向通行,另一方向禁行。按下控制键后先
4、在四个路口加5s的黄灯闪烁。在本次设计中,运用所学的单片机知识自发设计一个交通灯控制器,同时通过Keil C51软件编辑和调试,通过PROTEUS软件进行仿真。整个过程中,不仅进一步巩固了所学的单片机知识,而且掌握了Keil C51软件以及PROTEUS软件的用法。并且掌握了初步设一个器件的基本流程。2 交通灯系统总体设计思路根据设计要求,该系统具有交通灯按要求正常显示功能、应对紧急情况功能及60.秒及120秒的转换功能。在设计中用AT89C51和其他功能芯片实现了简单的最小系统。实现了既定的基本功能。该系统由四大部分组成,显示模块和中断模块、时钟模块以及复位模块。在显示模块中,进行红黄绿灯的
5、三个状态的转换及数码管倒计时显示。在中断模块中,能进行紧急情况的处理,当处理完毕后能够进行复位。显示模块中分为数码显示和红黄绿三个灯的显示。由12个数码管和12个灯组成,通过8255A对数码管进行控制,通过P1口进行灯的控制。中断模块中有四个按键,分别通过外部中断0和1及定时器0和1进行控制。其中外部中断0控制着紧急情况的处理,定时器0和1控制着当车辆过多时的紧急情况,通过外部中断1进行定时时间120秒和60秒两个状态之间转换。时钟模块由2个电容及1个晶振构成了内部时钟方式的电路。复位模块通过1个电容、2个电阻和1个按钮构成了复位电路,把它接到89C51的复位端上,当按下按钮后电路回到初始状态
6、运行。在设计中,以AT89C51为中心控制的功能部件,以8255A作为扩展端口功能的芯片,扩展了三个并行口。以数码管和发光二级管为外部输出设备,其中数码管显示为静态显示 。通过译码器74LS373作为译码选择Q7作为8255A的片选段端。Q1,Q2作为8255A端口的选择端。并且只用P0口就进行数据和地址的传送。3 硬件设计3.1 硬件设计概述在进行硬件设计时,用到的主要器件有AT89C51、74LS373、8255A、数码管等。其中由于数码管太多,而设计中用静态显示,所以需要进行I/O口的扩展,8255A便是应用于此功能。在硬件电路中,8255A的D0-D7端与P0口直接相连。因P0口能进行
7、地址与数据的分时复用,因此当它用作地址输出口时,需要一个地址锁存器。8255A的A1和A0接到锁存器的Q0和Q1上,而它的片选端接到锁存器的Q7上,这样就确定了8255A的地址。而8255A的PA口接到低位数码管的a-g端,PB口接到中间位数码管的a-g端,PC口接到最高位数码管的a-g端。因数码管是同时亮、灭的,因此将它们的位选端并联接到P1.4上,通过P1.4输出高低电平对数码管的亮灭进行控制。P1口的另外几个引脚,用来控制两个路口的灯。因两个路口各有两组灯且这两组灯的状态应该相同,为了节省端口,将东西方向的红灯并联,接到P1.7上,东西方向的绿灯并联接到P1.6上,南北方向的红灯并联接到
8、P1.3上,南北方向的绿灯并联接到P1.2上,由于两个路口的黄灯是同时闪烁的,因此将这四个黄灯并联接到P1.5上。应用P3口的第二功能和四个按键,实现紧急情况的处理及倒计时时间转换。将P3.2、P3.3、P3.4、P3.5分别接到四个按键上。复位电路接到AT89C51的复位端。时钟电路接到AT89C51的XTAL1和XTAL2端。应用PROTEUS软件画出的电路图如图3-1所示。图3-1 交通灯的硬件电路图3.2 主要芯片简介3.2.1 核心芯片AT89C51单片机的说明 AT89C51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 AT89C51单片机包含中央处理
9、器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明。中央处理器:央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运
10、算的中间结果或用户定义的字型表。 程序存储器(ROM):AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器:AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:AT89C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同
11、的控制要求,并具有2级的优先级别选择。时钟电路:AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。3.2.2 锁存器74LS373的简介74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74LS373芯片,其引脚图如下图3-2所示。图3-2 74LS373的引脚图当74LS373用作地址锁存器时,应使数据输出允许端为低电平,此时锁存使能端 LE为高电平时,输出Q0Q7 状态与输入端D1D7状态相同;当LE发生负的跳变时,输入端D0D7 数据锁入Q0
12、Q7。51单片机的ALE信号可以直接与74LS373的LE连接。在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用。其中输入端D0D7接至单片机的P0口,输出端提供的是低8位地址,LE端接至单片机的地址锁存允许信号ALE。输出允许端接地,表示输出三态门一直打开。锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。 当三态门使能信号为低电平时,三态门导通,允许Q0Q7输出,当三态门为高电平时,输出悬空。3.2.3 8255A的简介8255A可编程并行接口芯片的简介:8255A可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7-PA0,PB
13、7-PB0,PC7-PC0。其内部还有一个控制寄存器,即控制口。其中C口可作为两个独立的四位接口。外设数据口和单片机进行数据的通信,各个数据口的通信方式和传送方向是通过用户对控制口写控制字控制的。各口地址有A1和A0决定。当A1A0分别为00、01、10、11时,对应选择A口、B口、C口和控制口。8255A外部引脚图如图3-3所示。 图3-3 8255A的外部引脚图3.2.4 七段数码管的简介显示器是最常用的输出设备。特别是发光二极管(LED)和液晶显示器(LCD)由于结构简单、价格便宜、接口容易,得到广泛的应用,尤其在单片机系统中大量使用。现在简单介绍七段数码管的工作原理。图3-4为七段数码
14、管的内部电路图。图3-4 七段数码管的内部电路7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。 LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。上图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED
15、的电流通常较小,一般均需在回路中接上限流电阻。假如我们将“b”和“c”段接上正电源,其它端接地或悬空,那么“b”和“c”段发光,此时,数码管显示将显示数字“1”。而将“a”、“b”、“d”、“e”和“g”段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它数字以此类推。本设计中,所用到的数码管因为显示的内容为三位数,总有四个数码管显示同一个数,所以,将显示相同数数码管的段选段连一起;而将表示一个三位数的三个数码管的位选端连一起。这样整个数码显示系统只有3根位选接线。节省了接口,也方便了位选和片选。12个数码管连接图如3-5图3-5 12个数码管的连线图4 交通灯的软件设计4.1 主程序的
16、设计本实验的主控程序分成了两个状态,分别是60s显示程序和120s显示程序,由20h.0作为标志位进行判断,当20h.0为高电平时,定时时间为120s的倒计时显示,当20h.0为低电平时为60s的倒计时显示。图4-1为交通灯主控程序设计的流程图。开始初始化程序20h.0是否为1?60s显示程序120s显示程序结束NY图4-1 交通灯设计的流程图4.2 显示程序的设定在显示程序中通过对8255A的三个口送不同的段码,使数码管实现静态显示。分成了四个状态,分别是东西红灯南北绿灯,黄灯闪烁,东西绿灯南北红灯,黄灯闪烁,接下来就是重复以上状态。下面以60s的显示程序为例进行说明,图4-2为60s显示程
17、序的流程图。由流程图可以看出,初态为东西道口红灯亮,南北道口绿灯亮,计数初值为60s,并判断标志位20h.0是否为1,如果不为1,则进行减一倒计时,如果为1,则使东西道口绿灯亮,南北道口红灯亮,计数初值为60s,在倒计时过程中,不断判断是否减到5s,如果减到5s时,则执行黄灯闪烁的程序,在黄灯闪烁程序中,判断是否减为1s,当减为1s时,转换为下一个状态,即东西道口绿灯亮,南北道口红灯亮,在执行这段程序时同样判断是否减为5s,减为5s时,黄灯闪烁,减为1s时,转换为东西道口红灯亮,南北道口绿灯亮的状态,如此循环下去。显示程序开始东西道口红灯亮,南北道口绿灯亮倒计时初值为60s最高位清020h.0
18、是否为1?减1倒计时倒计时是否到5s?黄灯闪烁5s倒计时是否到1s?显示程序结束东西道口红灯亮,南北道口绿灯亮倒计时初值为120sYNNYNY图4-2 60s或120s显示程序流程图4.3 延时程序的设计在程序设计中用了1s的延时程序。延时程序中,运用DJNE指令及三个循环实现了1s的软件延时。延时程序的流程图如图4-3所示。r4初值为10延时子程序开始r5初值为200r6初值为126r6减1是否为0?r5减1是否为0?r4减1是否为0?延时子程序返回YYYNNN图4-3 延时子程序的流程图4.4 中断服务程序的设计该设计中共使用了四个中断,即外部中断0、1和利用定时器的计数方式扩展的中断。在
19、主程序中首先开中断,定时器设置在计数方式,工作在方式1下,在主程序中要进行初值的设定,在中断服务程序中要进行初值的重装(因为是方式1所以为自动重装),然后进行中断服务程序的处理。外部中断0实现紧急情况的处理,当触发一次外部中断0时,便进入中断0的服务程序中,在中断服务程序中首先将数码管的位选端置1,然后通过延时程序和标志位控制黄灯闪烁5s,然后给控制东西路口红灯的引脚和控制南北路口的绿灯的引脚送高电平使它们都点亮,这样就实现了南北方向车多时南北方向为绿灯东西方向为红灯的功能。外部中断0的流程图如图4-4所示。外部中断0程序开始数码管位选端置1调用黄灯闪烁子程序南北道口绿灯亮,东西道口红灯亮动态
20、停止/等待复位图4-4 外部中断0的流程图外部中断1实现倒计时时间为120s和60s之间的转换,在主程序中设置一个标志位,在中断服务程序中对标志位取反,从而实现了倒计时时间的转换。图4-5为外部中断1的流程图。外部中断1程序开始对20h.0取反外部中断1返回图4-5 外部中断1的流程图两个定时器中断是对外部中断的扩展,实现另外两种紧急情况的处理,其中定时器T1实现当南北方向车少而东西方向车多时,显示黄灯闪烁5s然后使南北方向红灯亮,东西方向绿灯亮的功能,通过复位返回到初始状态。而定时器T0实现的是,当有故障发生时,先使黄灯闪5s,然后两个路口的红灯点亮,以处理故障,当故障处理完毕后,通过复位键
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 控制 智能 控制系统