目录1 交通信号灯控制系统设计任务和性能指标 (1)设计任务 (1)性能指标 (1)2 交通信号灯控制系统设计方案 (1)设计思路 (1)设计思路 (1)功能设计 (2)总体设计 (2)通行方案设计 (2)}硬件设计方案 (4)软件设计方案 (4)3 交通信号灯控制系统硬件设计 (5)系统硬件框图 (5)单元电路设计 (5)单片机最小系统 (5)信号灯显示电路 (7)倒计时显示电路 (8)按键操作电路 (8)4 交通信号灯控制系统程序设计 (8)-理论基础知识 (8)定时器原理 (8)软件延时原理 (9)中断原理 (9)主程序框图 (9)5 调试分析及所用器件 (10)调试环境 (10)所用芯片 (11)6 心得体会 (11)7 参考文献 (12)|8 附录 (13)附件1 程序清单 (13)附件2 系统仿真图 (16)摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。
本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。
系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。
\软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。
经过整机调试,实现了对十字路口交通灯的模拟。
关键字:AT89C52 交通灯PROTUES 中断程序1 交通信号灯控制系统设计任务和性能指标设计任务利用单片机设计一个十字路口交通信号灯控制系统,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,并有倒计时系统显示信号灯转换时间。
用红、绿、黄发光二极管作信号灯,两位八段数码管显示时间来控制交通信号灯的变化。
模拟框图如图1所示。
图1 交通信号灯模拟图性能指标-(1)东西和南北方向的车辆交替通行,任意时刻只有一个方向通行,以黄灯闪烁来转换。
(2)系统开始运行时设置每次放行10秒,其中有2秒是黄灯闪烁提醒行人和车辆禁止通行。
(3)通行时间可在0~99秒内任意设置。
(4)有紧急情况处理功能,比如:有急救车辆通行时,暂时禁止其他车辆通行。
2 交通信号灯控制系统设计方案设计思路设计思路(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。
(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特殊功能。
(3)选择器件,大体分配各个器件及模块的基本功能要求,设计主控电路、显示电路,信号灯状态电路,按键电路等。
:(4)进行软件系统的设计,对于本系统,本人采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,在深入了解了定时器,中断以及延时原理后,完成了软件的编写。
功能设计本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急情况处理等功能。
(1)基本功能采用红绿黄三种颜色的LED灯的亮灭来模拟信号灯,从而达到控制车辆的通行。
(2)倒计时显示功能采用两位八段数码管来显示时间,来告知行人和车辆通行时间和要等待的时间。
(3)时间可调功能通过键盘对时间进行手动设置,增加了人为的可控性,避免车少长等和减缓车多交通堵塞的麻烦。
(4)紧急处理<交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,由此在交通控制中增设禁停按键。
总体设计单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
本系统在此基础上,加入了紧急情况处理与时间调整功能。
通行方案设计十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如图2所示。
说明:黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始。
S1 东西通行S2 东西禁行过渡状态S3 南北通行S4 南北禁行过渡状态图2 交通信号灯状态@通过对具体的十字路口交通信号灯状态的演示分析,可以把这四个状态归纳如下:状态S1:东西方向绿灯亮,允许通行,南北方向红灯亮,禁止通行;状态S2:东西方向绿灯转黄灯闪烁,允许通行,南北方向红灯亮,禁止通行;状态S3:东西方向红灯亮,禁止通行,南北方向绿灯亮,允许通行;状态S4:东西方向红灯亮,禁止通行,南北方向绿灯转黄灯闪烁,允许通行;依据上述分析,东西的通行时间为状态S1和状态S2的时间之和,南北的通行时间为状态S3和状态S4的时间之和,因此可以列出各个路口灯的状态转换如表1所示(其中逻辑值“1”代表执行通行,逻辑值“0”代表禁止通行,逻辑值“L”代表绿灯转黄灯):表1 交通灯状态转换表状态时间东西,南北硬件设计方案本系统选用Atmel 公司的AT 系列单片机AT89C51为中心器件设计交通信号灯控制器,实现了红绿灯循环点亮,绿灯变红灯中间为黄灯闪烁警示的功能。
每个方向采用红绿黄三色的LED 灯的亮灭来模拟信号灯,采用两位八段共阳数码管,显示十字路口通行或禁止的剩余时间,通过键盘对时间进行手动设置,增加了人为的可控性,避免车少长等和减缓车多交通堵塞的麻烦,同时增设了紧急情况处理按键,因为交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻。
所设计的系统硬件框图如图3所示。
图3 系统硬件框图软件设计方案-STC80C51单片机最小系统 } LED 数码管显示 数码管显示 按键控制电路设计要求为:首先南北方向红灯、东西方向绿灯亮,南北方向红灯10秒、东西方向绿灯8秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间2秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。
南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为8秒,东西方向有黄灯跳转为红灯,时间为10秒。
当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。
进入开始的状态,循环执行。
此外还利用单片机的中断设计了紧急情况处理和时间调整的功能。
根据设计要求,程序框图如图4所示。
软件采用KEIL C语言完成。
软件设计可以分为以下几个功能模块:图4 程序结构框图3 交通信号灯控制系统硬件设计系统硬件框图根据设计的要求,单片机选用AT89C52,其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
四个方向各采用三个不同色的LED 灯和1个两位的数码管显示,来实现该方向的指示灯的点亮时间倒计时。
按键可以根据系统的需要进行操作。
*图5 系统硬件框图单元电路设计单片机最小系统?对51系列单片机来说,单片机要正常工作,必须具有五个基本电路,也称五个工作条件:1、电源电路,2、时钟电路,3、复位电路,4、程序存储器选择电路,5、外围电路。
因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路等,如下面的框图所示:图6单片机最小系统框图(1)电源电路设计单片机芯片的第40脚为正电源引脚VCC,一般外接+5V电压。
第20脚为接地引脚GND,常见电源电路设计如下图7所示:图7 电源设计(2)时钟电路设计单片机是一种时序电路,必须要有时钟信号才能正常工作。
单片机芯片的18脚(XTAL2)、19脚(XTAL1)分别为片内反向放大器的输出端和输入端,只要在18脚(XTAL2)和19脚(XTAL1)之间接上一个晶振,再加上2个20PF的瓷片电容即可构成单片机所需的时钟电路,本设计就采用图8所示时钟电路。
图8 时钟电路%此外,当采用外部时钟时,19脚(XTAL1)接地,18脚(XTAL2)接外部时钟信号。
(3)复位电路设计单片机芯片的第9脚RST(Reset)是复位信号输入端。
单片机系统在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。
复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
AT89C52单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周期,单片机就能正常复位。
常见的复位电路有上电复位电路和按键复位电路二种,如图9所示。
本设计采用手动复位电路。
A.上电复位B.手动复位图9 复位电路(4)程序存储器选择电路单片机芯片的第31脚(EA)为内部与外部程序存储器选择输入端。
当EA引脚接高电平时,CPU先访问片内8KB的程序存储器,执行内部程序存储器中的指令,当程序计数器超过0FFFH时,将自动转向片外程序存储器,既是从1000H地址单元开始执行指令;当EA引脚接低电平时,不管片内是否有程序存储器,CPU只访问片外程序存储器。
AT89S52内部有8KB的程序存储器,所以根据该脚的引脚功能,只要将该脚接上高电平,才能先从片内程序存储器开始取指令。
常见的程序存储器选择电路就是将第31脚直接接到正电源上。
(5)外围电路的设计外围电路的设计主要依据项目要实现的功能,本项目要实现的功能是用单片机控制交通信号灯。
-交通信号灯显示电路本系统采用LED作为信号灯来使用,单片机的I/O口直接与LED连接。
在十字路口的四组红、黄、绿三色交通灯中,东西方向的同色灯连接在一起,南北方向的同色灯也彼此连接,受单片机AT89C52的—控制。
12个LED指示灯采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,输出高电平时,LED熄灭。