第一篇:微机原理交通信号灯控制系统设计报告
HEFEI UNIVERSITY
微机原理设计报告
题
目 交通信号灯的控制 系
别 电子信息与电气工程系
班 级 11级电子信息工程(2)班 姓
名 钟文俊
学 号 1105012012 指导 老师 丁健
完成 时间 2013年5月28日
交通信号灯控制系统
摘要:本文介绍了以8086微处理器为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制,主要是模拟十字路口的红绿灯,介绍了交通灯控制器的原理以及电路接线。在设计中所用到的编程语言是汇编语言,延时采用的是软件延时(即通过汇编指令)。关键词:8086微处理器;交通灯;8255A
一、课程设计任务
1.1 设计目标
利用ZY15MicInt12BB微机原理及接口实验箱上的8086微处理器模块、并行接口8255A模块,地址译码单元以及0—1LED灯显示等模块,根据所学的微机原理知识,按照实际交通情况设定一种交通灯规则,设计一个简单的交通信号灯控制系统。
1.2 设计要求
在一个十字路口,东西方向和南北方向各有两组交通指示灯,每组有红、黄绿三个灯。东西方向同色灯连在一起,南北方向同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。
两组组的交通灯工作过程为:
1.南北方向亮绿灯允许通行,东西方向亮红灯禁止通行 2.当延时25秒后,南北方向的黄灯同时变亮,且延时5秒。3.延时后,东西方向转为绿灯,南北方向转为红灯,且延时25秒。
4.25秒后,转为东西方向黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。5.当遇到道路障通,或紧急情况时,A、B道全为红灯。
二、原理说明与硬件设计
2.1原理说明 在本次课程设计当中,采用的是以8086微处理器为核心,以8255A芯片作为接口芯片,运用软件定时(即通过汇编指令)控制LDE灯(即交通灯)按照设定的交通规则显示。
2.2 8086简介
8086微处理器是Intel系列的第三代微处理器,拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器,其主频为5MHz/10MHz,地址总线宽度为20位,可寻址的内存空间打1MB。
8086微处理器的内部功能结构由两个独立的工作部件——执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)构成。其中,(1)BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。(2)EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。(3)在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入
队列中后,EU才继续执行指令。8086CPU的内部功能结构框图如图2-1所示。
图2-18086CPU的内部功能结构框图
8086微处理器采用40引脚的DIP封装,其引脚图如图2-2所示。8086 CPU到底可以工作在最大模式或最小模式两种工作模式下,这完全由硬件决定。处于不同工作模式时,其部分引脚的功能是不同的。
图2-2 8086的引脚
(1)两种工作方式下功能相同的引脚
MM/MX:最小/最大模式输入控制信号。引脚用来设置8086 CPU的工作模式。当为高电平(接+5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。AD15 ~AD0:地址/数据总线,双向,三态。这是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。
A19/S6~A16/S3:地址/状态信号,输出,三态。这是采用分时的方法传送地址或状态的复用引脚。
BHE(低)/S7:允许总线高8位数据传送/状态信号,输出,三态。为总线高8位数据允许信号,当低电平有效时,表明在高8位数据总线D15 ~D8上传送1个字节的数据。S7为设备的状态信号。
RD,WR:读信号和写信号,输出,三态,低电平有效。
READY:准备就绪信号,输入,高电平有效。READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。
TEST:等待测试控制信号,输入,低电平有效。信号用来支持构成多处理器系统,实现8086 CPU与协处理器之间同步协调的功能,只有当CPU执行WAIT指令时才使用。NMI:非屏蔽中断请求信号,输入,高电平有效。
当NMI引脚上有一个上升沿有效的触发信号时,表明CPU内部或I/O设备提出了非屏蔽的中断请求,CPU会在结束当前所执行的指令后,立即响应中断请求。
RESET:复位信号,输入,高电平有效。
CLK:时钟信号,输入。
VCC,GND:电源输入引脚和接地引脚。8086 CPU采用单一+5V电源供电。(2)CPU工作于最小模式时使用的引脚信号
当MM/MX引脚接高电平时,CPU工作于最小模式。此时,引脚信号24~31的含义及其功能如下。
M/IO:存储器、I/O端口选择控制信号。信号指明当前CPU是选择访问存储器还是访问I/O端口。为高电平时,访问存储器,表示当前要进行CPU与存储器之间的数据传送。为低电平时,访问I/O端口,表示当前要进行CPU与I/O端口之间的数据传送。
INTR:可屏蔽中断响应信号,输出,低电平有效。CPU通过信号对外设提出的可屏蔽中断请求做出响应。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。
ALE:地址锁存允许信号,输出,高电平有效。CPU利用ALE信号可以把AD15 ~AD0地址/数据、A19/S6~A16/S3地址/状态线上的地址信息锁存在地址锁存器中。DT/R:数据发送/接收信号,输出,三态。DT/信号用来控制数据传送的方向。DT/为高电平时,CPU发送数据到存储器或I/O端口;DT/为低电平时,CPU接收来自存储器或I/O端口的数据。
DEN:数据允许控制信号,输出,三态,低电平有效。信号用作总线收发器的选通控制信号。当为低电平时,表明CPU进行数据的读/写操作。
HOLD:总线保持请求信号,输入,高电平有效。
HLDA:总线保持响应信号,输出,高电平有效。
2.3 8255简介
本次设计灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图2-3所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-4所示。
图2-3 8255的内部结构及引脚
图2-4 8255工作方式控制字和C口按位置位/复位控制字格式
三、流程图及电路接线图
1、软件流程图如下:
图3-1软件流程图
2系统汇编源程序
系统采用汇编程序,利用延时子程序实现定时,具体程序如下:
PORT_A EQU
2A0H
;声明8255A口地址 PORT_B EQU
2A1H
;声明8255B口地址 PORT_C EQU
2A2H
;声明8255C口地址
CMD_PORT EQU
2A3H
;声明8255A控制字寄存器端口地址 PORT_CS EQU
2A3H CODE SEGMENT
ASSUME CS:CODE START:
MOV AL,10000001B
;方式控制字:B口为输出
MOV DX,2A3H
OUT DX,AL
;写方式控制字到8255A控制字寄存器端口 SHOW:
NLDH: MOV DX,PORT_B
MOV AL,00101000B
;状态1:南北方向亮绿灯东西方向亮红灯
OUT DX,AL
MOV BL,0
;BL清0 YS1:
CALL DELAY
INC BL
CMP BL,500
JNG YS1
NHDH : MOV DX,PORT_B
MOV AL,00011000B
OUT DX,AL;
MOV BL,0 YS2:
CALL DELAY
INC
BL
CMP BL,100
JNG YS2
NHDL:
MOV DX,PORT_B
MOV AL,01000100B
OUT DX,AL
MOV BL,0 YS3:
CALL DELAY
INC BL
CMP BL,500
JNG YS3
NHDH:
MOV DX,PORT_B
MOV AL,01000010B
OUT DX,AL
MOV BL,0 YS4:
CALL DELAY
INC BL
CMP BL,100
;延时25秒;(BL)++;比较
;(BL)<=500,转移到l1;状态2:南北方向亮黄灯东西方向亮红灯;延时5秒;状态3:南北方向亮红灯东西方向绿灯;延时25秒
;状态4:南北方向亮红灯东西方向黄灯;延时5秒
JNG YS4
JMP SHOW DELAY PROC
;50ms延时子程序
PUSH BX
;保护现场
PUSH CX
MOV BL,5
NEXT: MOV CX,2801
;内循环次数(实现延时10 ms)W10MS: LOOP W10MS
;
DEC BL
;修改外循环计数值
JNZ NEXT
;BX不等于0则进行外循环
POP CX
;恢复现场
POP BX
RET
;退出子程序,返回主程序 DELAY ENDP
;结束过程 CODE ENDS END START
四、总结
通过此次课程设计,结合所学的《微机原理与接口技术》这门课程的知识,对其应用之一——交通灯控制器进行设计与实现。总体感觉收获比较多,因为可以将书本上的知识应用到实践当中。刚开始的时候,翻阅了一些资料,还是没有什么头绪,后来在几个同学的帮助下,经过多次的上机练习和调试终于找到了入口点,接下来的事情就相对的容易一些了。首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255A的初始化及其端口的使用。此次课程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。希望老师能够引导学生应该如何去把握、分析课程设计的主题,找出突破点,让学生积极主动进行课程设计,以使学生更好地提高自学的能力。
参考文献:
[1] 洪永泉.微型计算机原理与接口技术[M].合肥:中科大出版社,2008 [2] 徐泽明.利用微机控制交通指示灯[J] .软件导刊,2007(5)[3] 项新建.微机交通灯控制系统[J].ASPT来源刊,1997(09)
第二篇:交通信号灯控制系统
交通信号灯控制系统(红绿灯系统)
1、概述
近年来,随着经济发展,营运车辆拥有量的增加使道路市场必须规范有序,交通安全管理必须上一新台阶。按照“高起点规划,高标准建设,高效能管理”的思路,坚持把城市化作为城市经济的一大战略来抓,积极建设城区交通基础设施工程,建立交通安全管理网络。严格抓好交通管理,以加强交通队伍建设和行业文明建设。
对****信号控制系统进行升级改造,在*****新建设一套信号控制系统
2、设计依据
《道路交通信号控制机》(GB25280-2010) 《道路交通信号灯》(GB14887-2011)
《道路交通信号灯设置与安装规范》(GB14886-2006) 《道路交通信号倒计时显示器》(GA/T508-2004)
《道路交通安全违法行为图像取证技术规范》(GA/T832-2009) 《交通信号机技术要求与测试方法》(GA/T47-93) 《道路交通信号机标准》(GA47-2002) 《道路交通信号灯安装规范》(GB14866-94)
3、设计原则
本期工程按“国内领先、国际先进”的原则设计方案,提供完整、最新而成熟的产品,并保证各项技术和设备的先进性、实用性和扩展性。提高交通道路口的车辆通行速度,保证道路畅通。因此该系统是建设畅通工程中的重要措施之一。
信号控制系统的设置应充分结合本路段的工程自身特点,在达到适时、适量地提供交通信息,确保行车安全目的的同时,尽可能与道路的整体效果相结合。
1)设计思路
以有效地管理道路交通,达到安全、经济、合理、美观为目的,严格按照国家有关规定设置信号灯等交通设施。交通拥挤情况主要发生在车流人流相对集中的主要繁华城区路口和路段,根据现有主要交通干道路面宽度划分车道,基本可以满足城区车辆通行的需要。
2)预期实现目标
完善城区交通安全设施布局,规范行车和行人秩序,减少交通事故,一定程度上改善城市形象。
4、交通信号控制系统功能
(1)图形与界面
系统界面中文化、图形化、菜单化。命令操作方式灵活多样,并对错误操作发出警告或禁止执行。
能多用户、多窗口显示,显示窗口可缩放、移动。
具有图形编辑工具,可以对图形的区域背景、路口背景等进行用户化编辑。背景地图可按管理区域和路口进行缩放和漫游显示。
能够实时显示路口设备、路口设备工作状态及信号控制模式等信息。系统可动态、实时地显示路口信号灯的运行状况,并可对某一路口的信号灯变化进行实时显示;还可以根据需要直接对信号机进行手动操作功能。
能够用图表显示交通流量、占有率等统计分析数据。(2)用户管理
系统能够支持至少50个用户的使用和管理,对用户的名称、密码和访问角色等相关内容进行设置。
能够设立访问角色,能够定义相应的访问权限,每个用户可以对应多个角色。组管理:每个组可以有多个用户,所有用户不能重名,不同的组可以管理不同的路口设备。
记录用户登录和退出系统的时间及用户使用过的操作命令,显示用户是否在线。
禁止多用户对同一对象同时进行控制操作,并给出提示信息。(3)日志管理
操作员记录:操作员登录/退出时间、部分重要操作命令记录。记录保存时间:系统至少保留最近12个月的综合日志记录。记录查询:可根据日期范围、时间范围、用户等各种限定,方便快捷地查询各类日志记录。(4)系统数据库
总体要求:支持Oracle数据库,具有系统参数设置、交通数据存储、数据管理功能。
参数设置:每个数据项均附有数据定义和有效值范围的在线说明;系统自动检测所有数据项输入数据的合理性,提示并拒绝不合理及非法的数据输入;易于数据修改和更新。
交通数据存储:能够对采集的交通实时数据和历史数据进行储存和管理,保证数据的快速存取、编辑和删除。
数据库管理:
禁止未授权使用者进入数据库操作界面。
多用户同时对不同数据对象的修改、删除无冲突,禁止同时修改同一数据对象并有冲突报警显示。
详细记录数据修改人员、修改内容和时间。支持多用户数据库查询、访问。(5)数据采集存储
中心计算机从现场设备实时(秒级)采集以下交通数据: 路口到达方向分流向(左、直、右)的车流量 路口到达方向分流向(左、直、右)的车辆占有率 路口到达方向分流向(左、直、右)的放行时间 路口到达方向分流向(左、直、右)的断流次数 路口到达方向分流向(左、直、右)的最大断流间隔 以上数据保存15日。
流量、占有率的实时统计数据随时向交通信号控制系统管理平台开放性提供。(6)数据统计分析
中心计算机对采集的交通数据进行各种统计分析,形成设定时间、区域范围的交通统计分析报告,内容包括:路口的交通流量、路口交通占有率; 中心计算机对采集的交通数据进行统计处理,分别形成15分钟和1小时时间段的交通统计数据,并按15分钟数据保存半年、1小时数据保存一年进行存储,并随时向交通信号控制系统管理平台开放性提供。(7)系统状态监视
中心计算机能够实时监视:
系统中心设备、传输设备及路口设备工作状态
路口信号控制模式、控制方案、信号状态等交通控制状态
交通信号状态信息在信号灯色变化时向交通信号控制系统管理平台实时开放性传送。(8)系统故障报警
中心计算机监视以下各类故障: 系统中心软/硬件故障 传输单元故障
信号控制器、车辆检测器等路口设备故障
上述故障均有详细的分类故障代码;故障发生时通过异常信息显示进行报警并生成故障记录;故障消除后或操作员确认后取消报警。(9)时钟校准功能
中心计算机具有如下时钟校准功能:
接受交通信号控制系统管理平台的时钟校准。
对路口信号控制器进行自动时钟校准,校时命令每天执行1次,校时时间可设置。
时钟格式为:年、月、周、日、时、分、秒,校时误差小于1秒。(10)时间表功能
系统具有时间表控制功能
设置时间包括年、月、周、日、时、分、秒。日时段划分不得低于16个,方案数不得少于32个。设置内容应包括事件、控制模式、控制方案等。
系统可分别设置工作日、周末、节日或特别指定日的时间表,系统根据日期自动改变执行时间表。(11)系统优化
根据路口检测的交通流信息自动进行交通控制参数的优化并执行优化配时方案,提高路口通行能力。(12)动态方案选择控制
根据实时交通流检测信息,从预设方案库中调用适宜方案。(13)线协调控制
按照系统时间表设置进行线协调控制。(14)感应式控制
系统能够响应冲突方向的车辆感应请求,进行半感应或全感应控制。(15)行人控制
路口行人过街控制应具有请求式控制方式和预案式控制方式。
系统能够在线协调或区域协调控制的条件下及时响应或等待响应路段行人过街请求,使行人利用交通流间隙过街通行。(16)紧急车辆优先控制
系统能够按预定时间和预定路线进行绿波信号推进,以满足各种重大活动、重大事件及特殊警务的通行需求。
系统对路口信号机强行控制,指定某一阶段放行、黄闪或者全红。能响应特殊情况下的警务、消防、救护、抢险等特种车辆的紧急请求,使车辆迅速通过沿线路口。
(17)方案模拟演示
设置好的配时方案,模拟演示路口信号灯的变化情况,查看运行效果以便于分析配时方案中存在的潜在影响。(18)强制控制
允许系统中心操作员直接控制系统内设置的相位组信号。(19)上下载功能
中心计算机能选择性地上载和动态存储路口信号控制器的基本配置、时间表以及各种控制方案。
中心计算机能选择性地下载基本配置、系统时间表和各种控制方案给路口信号控制器。
5、交通信号控制机
信号机
信号机符合行标《GA47-2002道路交通信号控制机》的标准、国标《GB-25280-2010集中协调式信号机》的标准,并兼容国标GB-T20999的通讯协议。本信号机采用多智能节点分布式架构,各节点以32位微处理器作为控制核心,通过CAN总线进行内部通讯。32路环型线圈车辆检测或视频车辆检测器(可选)本信号机具有独立硬黄闪功能,可以在不关灯的情况下进行现场维护,给现场维护带来方便。支持无线遥控、点动等现场人工控制功能;持GPS模块对本地进行校时;支持多达32组的独立灯组通道输出;支持视频和线圈车流辆检测;具有单灯组输出回路检测功能,对红绿冲突等各种严重故障有着完善的降级处理。本机有着多种人机交互接口,通过本地信号机内的液晶模块、设置终端、指挥中心都可以实现完整的方案设置和信号机运行状态监测。对于各用户的不同控灯需求,方案设置方便、灵活、易于操作。软件系统设计中,有着完善的事务管理机制并能对信号机发生事件、故障等信息进行存储及显示。信号机内具有加热和排风的装置,可根据外界的温度不同自动加热或排风,以适应外界环境温度变化。
信号机具有无缆线控、单点优化、感应控制等功能;在智能交通指挥中心控制系统中可实现线控、区域协调控制、系统优化控制等功能;
1、具备32位微处理器
2、可编程的32相位控制,96路可控硅输出(可选)
3、相位冲突监视和控制,信号灯故障检测及报警
4、掉电时采集数据和配时参数不丢失
5、具有手动、自动、远程控制方式
6、具有强制、黄闪、四面红功能
7、具有本地遥控功能
8、具有固定方式、多时段控制方式、多方案选择控制方式、感应控制方式等多种控制方式
9、在线修改配时参数,在线显示各相位状态、故障状态
10、时段划分多达48个时段,可存储32种控制方案
11、提供4个RS232接口、一个RS485接口,一个以太网接口,可实现电话线、专线、光纤、无线多种通讯
12、适合于单路口控制、主干道控制、区域控制。出现故障自动降级使用
13、时钟、日历显示和修改,支持GPS授时功能
14、自动排风、加热功能
15、具有防雷、漏电保护功能
16、提供8路行人过街输入接口 主要特点
1、全中文手动操作界面
2、交通信息存储功能
3、独有的路口协调小面控功能
4、基于车头时距的感应控制功能
5、信号相位与信号灯组的自由编程
6、冲突相位硬件和软件双重监视
7、信号灯故障检测和报警
8、掉电数据不丢失,保存5年以上
9、输入和输出信号全部光电隔离
10、车辆数据检测准确率高
11、具有多相位的强制遥控
12、提供以太网接口和多个串口,便于网络化
13、提供二次开发的透明接口,便于多系统的集成
14、模块化设计,便于维护
15、指挥中心软件可实现信号机的远程控制
16、本地单点路口或区域的自适应协调控制
17、实时检测交通流量数据;并将采集到的实时交通流量数据进行分析、处理,传送至本地、区域或中央控制系统 主要技术指标
1)控制最大相位:32个;控制最多信号灯组:32组;车辆检测最大路数:32路;
2)机柜外壳采用铝合金材料或不锈钢材料;遥控相位:8个;
3)遥控器:每台信号机配2台遥控器,8个相位选择键,1个黄闪键、1个全红键、4)1个全灭键、1个取消键,遥控距离大于50米,遥控器应以灯光、声响或振动方式提示操作人员,交通信号控制机是否成功接收并执行指令。5)为保证信号机用电安全,信号机机柜和驱动线路应采用漏电保护电路装置。
6)信号机的机柜外侧面应设有手动控制门,在仅打开手动控制门的情况下可以实现
7)单点控制、黄闪控制、指定相位控制、关闭信号灯、关闭倒计时器、关闭遥控功能等操作。
智能交通信号控制机属协调式户外网络型的交通信号控制机,适合于单路口多时段定时控制、多方案选择控制、全(半)感应控制,适合于多路口无缆协调、有缆协调的绿波带控制,适合于指挥中心的远程控制、区域控制。在感应控制、多方案选择以及时制计划生成方面均有自己的控制算法。智能交通信号控制机具有技术先进、使用方便、功能齐全、模块化设计、维护简单,控制软件接口透明,便于二次开发。采用自主开发的机动车辆线圈检测器、自有专利技术的单元式检测型负载开关,整机性能价格比高。智能交通信号控制机具有多时段定时控制、多方案选择控制、感应控制、主干道无缆协调控制、集中协调控制等功能。将多个智能交通信号控制机通过调制解调器连成交通控制网,对城市多路口、多条干线进行控制,其基本架构如下:
通过以太网通讯接口,与指挥中心控制系统联成网络、接收指挥中心的远程控制、有缆线控、区域控制,并实现交通流量的自动采集。
6、机动车信号灯
发光单元透光面直径为400mm,红黄绿竖向组灯,光源采用超高亮发光二极管。红满屏+黄满屏内含双色数显+绿满屏,符合2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电,竖装;
7、方向指示信号灯
发光单元透光面直径为400mm,红黄绿竖向组灯,光源采用超高亮发光二极管;红箭头+黄箭头内含双色数显+红箭屏,符合2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电,竖装;
8、人行横道信号灯
发光单元透光面直径为300mm,光源采用超高亮发光二极管;红、绿二色行人图案单屏显示,红、绿二色数显同屏显示(绿色行人静态/非机动车)七字形连接片,2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电;
第三篇:交通信号灯控制系统
交通信号控制系统
1.设计任务
设计一个十字路口交通控制系统,要求:(1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是30秒、3秒和30秒,交通灯运行的切换示意图如图1-1所示。
(2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。
(3)
当东西或南北两路中任意一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止记时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。
2.总体框图
本系统主要由分频计、计数器和控制器等电路组成,总体框图如1-2所示。分频计将晶振送来的信号变为1Hz时钟信号;当紧急制动信号无效时,选择开关将1Hz脉冲信号送至计数器进行倒计时计数,并使控制器同步控制两路红、黄、绿指示灯时序切换;当紧急制动信号有效时,选择开关将紧急制动信号送至计数器使其停止计数,同时控制器控制两路红灯全亮,所有车辆停止运行。
2-1 交通灯总体结构框图 模块设计
(1)分频器
设晶振产生的信号为2MHz,要求输出1Hz时钟信号,则分频系数为2M,需要21位计数器。用VHDL设计的2M分频器文本文件如下:
LIBRARY
IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin2m IS
PORT(clk:IN STD_LOGIC;
reset:IN STD_LOGIC;
--时钟输入
clk_out:out STD_LOGIC);END ENTITY fenpin2m;
ARCHITECTURE one OF fenpin2m IS signal count:integer range 0 to 1999999;
BEGIN
PROCESS(clk)
BEGIN
if reset='1' then
count<=0;
clk_out<='0';
else
if clk'EVENT and clk='1'THEN
IF count<999999 THEN
count<=count+1;
clk_out<='0';
ELSif count<1999999 then
count<=count+1;
clk_out<='1';
else
count<=0;
END IF;
END IF;
END IF;
END PROCESS;END one;
(2)模30倒计时计数器 采用原理图输入法,用两片74168实现。74168为十进制可逆计数器,当U/DN=0时实现9~0减法计数,记到0时TCN=0;当U/DN=1时实现0~9加法计数,计到9时TCN=0;ENTN+ENPN=0时执行计数,否则计数器保持。该电路执行减法计数,当两片计数器计到0时同步置数,因此该计数器的计数范围是29~0,当系统检测到紧急制动信号有效时,CP=0计数器停止计数。
图3-1 模30减法计数器电路图
图3-2 模30减法计数器仿真波形
(3)显示译码器
显示译码器为动态显示,用VHDL文本输入法设计的七子段译码器如下:
图3-3 显示译码器的仿真波形
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--调用库文件
ENTITY xianshi IS
--实体开始
PORT(CLK:IN STD_LOGIC;
datain1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
datain2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
--扫描时钟信号
SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);--数码管选择信号
q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--数码管八端输入 end xianshi;
--实体结束 ARCHITECTURE one OF xianshi IS
--结构体开始 begin
PROCESS(CLK)
--进程开始 VARIABLE TMP:STD_LOGIC_vector(1 downto 0);VARIABLE d:STD_LOGIC_VECTOR(3 DOWNTO 0);--中间变量
begin
IF(CLK'EVENT AND CLK='1')THEN
--时钟上升沿有效
IF(TMP=“00”)THEN
TMP:=“01”;
d:=datain2;
CASE d IS
WHEN“0000”=>q<=“00111111”;
--0
WHEN“0001”=>q<=“00000110”;
--1
WHEN“0010”=>q<=“01011011”;
--2
WHEN“0011”=>q<=“01001111”;
--3 WHEN“0100”=>q<=“01100110”;
--4 WHEN“0101”=>q<=“01101101”;
--5 WHEN“0110”=>q<=“01111101”;
--6
WHEN“0111”=>q<=“00000111”;
--7
WHEN“1000”=>q<=“01111111”;
--8
WHEN“1001”=>q<=“01100111”;
--9
WHEN OTHERS=>q<=“00000000”;--数码管不显示
END CASE;
elsif(tmp=“01”)then
TMP:=“00”;
--如果tmp为“001”即第2个数码管显示b输入
d:=datain1;
CASE d IS
WHEN“0000”=>q<=“00111111”;
--0
WHEN“0001”=>q<=“00000110”;
--1
WHEN“0010”=>q<=“01011011”;
--2
WHEN“0011”=>q<=“01001111”;
--3
WHEN“0100”=>q<=“01100110”;
--4
WHEN“0101”=>q<=“01101101”;
--5
WHEN“0110”=>q<=“01111101”;
--6
WHEN“0111”=>q<=“00000111”;
--7
WHEN“1000”=>q<=“01111111”;
--8
WHEN“1001”=>q<=“01100111”;
--9
WHEN OTHERS=>q<=“00000000”;--数码管不显示
END CASE;
end if;
end if;sel<=tmp;
--把tmp的值赋予sel
end process;
--进程结束
end one;
(4)控制器
该模块输入为1Hz时钟,和紧急制动信号PE,输出为两路红、黄、绿指示灯,当紧急制动信号无效(PE=1)时,两路红、黄、绿灯时序切换。当紧急制动信号有效时,选项开关将紧急制动信号送至计数器使其停止计数,同时使控制器控制两路红灯全亮,所有车辆停止通行。用VHDL文本输入法设计的控制器如下;
图3-4控制器的仿真波形
LIBRARY
IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY contr IS
PORT(cp1:IN STD_LOGIC;
pe:IN STD_LOGIC;
chan:IN STD_LOGIC;
ra,ga,ya,rb,gb,yb:out STD_LOGIC);END ENTITY contr;ARCHITECTURE one OF contr IS signal count:integer range 0 to 59;
BEGIN
process(cp1)
begin
if pe='0'then
count<=0;
else
IF(cp1'EVENT AND cp1='1')THEN
if count<59 then
count<=count+1;
else
count<=0;
end if;
end if;end if;END PROCESS;PROCESS BEGIN
if pe='1'then
if chan='1' then
if count<30 then
rb<='0';
gb<='1';
yb<='1';
ra<='1';
if count<27 then
ga<='0';
ya<='1';
else
ga<='1';
ya<='0';
end if;
else
rb<='1';
ga<='1';
ya<='1';
ra<='0';
if count<57 then
gb<='0';
yb<='1';
else
gb<='1';
yb<='0';
end if;
end if;
else
if count<30 then
rb<='1';
ga<='1';
ya<='1';
ra<='0';
if count<27 then
gb<='0';
yb<='1';
else
gb<='1';
yb<='0';
end if;
else
rb<='0';
gb<='1';
yb<='1';
ra<='1';
if count<57 then
ga<='0';
ya<='1';
else
ga<='1';
ya<='0';
end if;
end if;
end if;
else
rb<='0';
ra<='0';
gb<='0';
yb<='0';
ga<='0';
ya<='0';
end if;end process;end one;交通灯原理图
图4-1 交通灯原理图
第四篇:交通信号灯控制系统
山西大学工程学院 第I页
摘要
随着中国城镇化速度的较快,交通事故也日趋发生,所以合理的交通控制方法能有效的缓解交通拥挤、减少尾气排放及能源消耗、缩短出行延时,改善我国独有的交通问题。而平面交叉口是城市交通的关键,它是整个城市道路的瓶颈地带,对其进行交通信号控制方法的研究具有重大意义,所以交通信号灯是维护城市交通的主要设施。
我们本次复杂的十字路口交通灯控制系统设计主要是利用AT89C51制作并仿真.并且在单片机的选择上,考虑到电路的简单和成本的削减,我们选择性价比最好的AT89C51,而且能够使程序简单。可以添加恰当的传感器,实时监控道路情况,对各种情况的处理实行紧急情况优先级最高,其次行人优先通过,最后车流量高的方向,给予更多的通过时间,采用中断的方法,由中断根据各种不同的情况选择合适的处理程序处理。通过单片机控制交通灯不仅能提高我们理论联系实际的能力,而且能够熟练掌握C语言的编程方法,掌握定时/计数器、外部中断的使用方法和简单程序的编写,最终提高逻辑抽象能力和动手能力。
关键字:AT89C51
中断
交通信号控制
山西大学工程学院 第II页
目录1 社会需求.........................................错误!未定义书签。2 设计目的.........................................错误!未定义书签。3 设计思路及框图....................................................1 3.1 交通灯设计..................................................1 3.2 交通灯定时控制..............................................2 3.3 传感器智能控制..............................................4 4 硬件电路设计......................................................4 4.1 单片机电源电路..............................................4 4.2 单片机复位电路..............................................4 4.3 交通LED灯外围驱动电路......................................5 4.4 按键控制电路................................................6 4.5 单片机主电路................................................7 4.6 整体电路图设计..............................................8 5 软件设计..........................................................9 5.1 系统程序流程图设计..........................................9 5.2 系统程序设计...............................................10 5.3 仿真显示结果...............................................17 总 结.............................................................17 参考文献...........................................................18
山西大学工程学院 第1页
1社会需求
目前在世界范围内,一个以微电子技术、计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。为使我国尽快实现经济信息化,赶上发 达国家水平,必须加速发展我国的信息技术和信息产业。而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应 用中空前活跃的领域。本文主要从单片机的应用上来实现十字路口交通灯的管理,用以控制过往车辆的正常运作。设计目的
本设计首先从定时控制着手,解决交叉口交通控制过程中存在的问题,但是定时控制信号周期固定,不能根据实际的交通流状况随时调整信号控制参数,因此造成很多不必要的时间等待和资源浪费。对左转车辆较少的单交叉口一般采用有固定左转相位的定时控制方法,此信号控制中的左转车辆通行对直行车辆影响很大。行人过街信号与上游交叉口的不协调导致车辆通过上游交叉口后遇到行人过街而再次停车。基于上述交叉口信号控制存在的问题,本设计进行了如下研究:①介绍了常用定时信号控制算法和感应信号控制的基本工作原理,分析了传统定时控制的优越性和局限性。②设计了一种自动信号控制方法,这种方法能使交叉口根据实际交通情况选择合理的定时信号配时方案,不过这个需要配备额外的感应器。
本设计将要完成红灯停,绿灯行,黄灯停3S的操作,并且如当一道有车而另一道无车是,交通灯控制系统能立即让有车的车道放行,单人行道上人数较多时,智能转换交通灯状态,行人优先通过,当有紧急车辆(如110、112、119等急救车)要求通过时,此系统应能禁止普通车辆通行,路口的信号灯全部变红,以便让紧急车辆通过。假定紧急车辆通过时间为2s,紧急车辆通过后,交通灯恢复先前状态。
3设计思路及框图 3.1交通灯设计
首先了解实际交通灯的变化情况和规律。设有一个南北(SN)向和东西(WE)向的十字路口,两方向各有两组相同交通控制信号灯,每组各有四盏信号灯,分别为直行信号灯(S)、左拐信号灯(L)、红灯(R)和黄灯(Y),交通控制信号
山西大学工程学院 第2页
灯布置如图1所示。
根据交通流量不同,交通信号灯的控制可实现手动、自动两种控制。平时使用自动控制,高峰区可使用传感器智能化控制。智能控制时,传感器通过检测道路交通情况对交通信号灯进行实时控制;自动控制时,交通信号灯控制规律用图2状态转换图来描述。
图1
红绿灯显示系统框图
3.2交通灯定时控制
图2
红绿灯系统控制流程图
山西大学工程学院 第3页
定时控制系统控制流程图如上图2,初始状态0为SN直行WE红灯,然后转状态1为SN黄灯WE红灯。过一段时间后,转状态2为SN左拐WE红灯。再转状态3,SN黄灯WE红灯。过一段时间后转状态4,SN红灯WE直行。然后状态4,SN红灯WE直行。状态5为SN红灯WE黄灯。状态6为SN红灯WE左拐。状态7为SN红灯WE黄灯。又循环至状态0,重复循环上述状态。
3.3传感器智能控制
图3 磁检测器方框图
交通灯在采用智能化控制时,采用磁感应车辆检测器.这种环形线圈检测器是传统的交通检测器,是目前世界上用量最大的一种检测设备。这些埋设在道路表面下的线圈可以检测到车辆通过时的电磁变化进而精确地算出交通流量。交通流量是交通统计和交通规划的基本数据,通过这些检测结果可以用来计算占用率(表征交通密度),在使用双线圈模式时还可以提供速度、车辆行驶方向、车型分类等数据,这些数据对于交通管理和统计是极为重要的,可通过分析这些数据,然后通过外部中断动态控制交通灯的状态,实现道路交通灯的智能化控制,让交通灯根据实际情况转换状态。原理框图如上图图3所示。
对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以可以用一个I/O控制相同的两灯,因此,采用单片机内部的I/O口上的P0口中的8个引脚即可来控制16个信号灯。通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。通过定时器精确延时送显,在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。通过添加感应器检测车流量、人行道情况通过外部中断动态调节人、山西大学工程学院 第4页
车流量,使交通更加智能,提高道路运行速率。硬件电路设计 4.1单片机电源电路
图4 电源电路
如上图图4所示是电源电路,这里开关用的双路开关,双路开关并联能更好的确保给后级提供更大电流。电容C4、C5,都是隔离断开直流的,在这里添加了一个发光二极管指示灯,在我们打开开关的时候,这个二极管会亮,下面的R12为限流电阻,给发光二极管提供合适的电流。
4.2 单片机复位电路
单片机的复位操作有上电自动复位和手动按键复位两种方式。本次设计采用手动按键复位设计,如下图5所示。
图5 按键复位电路
当这个电路处于稳态时,电容起到隔离直流的作用,隔离了+5V,而左侧的
山西大学工程学院 第5页
复位按键是弹起状态,下边部分电路就没有电压差的产生,所以按键和电容 C1 以下部分的电位都是和GND 相等的。按键复位有 2 个过程,按下按键之前,RST 的电压是 0V,当按下按键后电路导通,同时电容也会在瞬间进行放电,会处于高电平复位状态。当松开按键后,先是电容充电,然后电流逐渐减小直到 RST 电压变 0V 的过程。按下按键的瞬间,电容两端的 5V 电压会被直接接通,此刻会有一个瞬间的大电流冲击,会在局部范围内产生电磁干扰,为了抑制这个大电流所引起的干扰,在电容放电回路中串入一个 18 欧的电阻来限流。
4.3 交通LED灯及外围驱动电路
图6交通LED灯电路
将NS道上的两个同色灯连在一起,WS道上的同色灯也彼此相连(此处用发光二极管模拟实际的交通灯,各发光二极管的阳极通过保护电阻接到+5v的电源上,发光二极管的阴极接到单片机的P0口)用AT89C51单片机的P0.0—P0.7共8根输出线控制各色交通灯的点亮与熄灭;为了更加直观的显示红绿灯的情况,用了共阳极数码管显示倒计时,数码管显示有动态扫描和静态显示,由于静态显示需要占用过多的IO口,这里用动态扫描,用P1控制数码管的断选信号端,P2.6、P2.7控制数码管的位选信号端,可以显示出每个灯的倒计时。紧急车辆通过时,采用外部触发按键实时中断方式进行处理。根据该系统的功能要求及所用元器件,设计硬件电路,电路原理图如图6所示。
由于单片机的输出电流有限,需要用到芯片驱动LED,使LED可以正常使用,这里使用74LS245,74LS245是一个双向缓冲器,引脚AB是方向引脚,这
山西大学工程学院 第6页
个引脚为高电平的时候,右侧所有的电压都等于左侧对应编号的电压,所以这里AB引脚接的+5V电源,即高电平。图中还有排阻RP1做为上拉电阻。引脚OE为输出使能端,低电平有效。在74LS245输出端有R3~R10的限流电阻,给LED灯提供恰当的电流。
在LED的阳极接有PNP三极管,可以通过单片的P2.5控制所有的LED的通断,只有P2.5端电平为高时LED才能正常工作,通过单片机的P0口控制LED的状态。数码管的显示也需要大电流,这里外接上拉电阻可以提供足够的电流,原理图中用了排阻RP2,可以使数码管正常工作。交通LED灯驱动电路如图7所示。
图7 交通LED灯驱动电路
4.4 按键控制电路
图8 按键控制LED电路图
山西大学工程学院 第7页
智能化控制中使用到传感器,传感器采集到的数据通过系统分析,然后反馈到单片机外部中断,通过中断程序选择合适的处理程序。
整个交通灯控制系统通过按键模拟控制LED的状态,SW1控制LED是定时循环还是智能控制,SW2控制LED灯是顺序切换状态还是手动选择LED状态。SW1按下触发外部中断0进去中断程序,在中断程序中可以通过查询方式判断P3.7是否按下,如果检测到P3.7为低电平则SW2按键按下,系统进入只能控制LED状态模式,单片机通过检测P2.0~P2.3的电平状况确定LED灯要显示的状态,例如:若单片机检测到端口P2.0电平为低,则要求交通灯要WE方向左拐,系统调用左拐子程序,使单片机控制LED灯先NS黄灯闪3下,然后NS红灯亮,WE左拐指示灯变绿。如果系统监测到P3.7为高电平则SW2弹起,系统进入只能顺序切换模式,单片机检测P2.4的电平情况,检测到一次说明按键按下一次,交通的按照定时方式的顺序变换状态,使交通灯稳定顺次执行。
如果遇到十字路口发生交通事故,可以触发紧急逼停按键,这样四个方向都为红绿灯,等突发情况处理完毕后,然后根据实际情况选择合适的处理程序。这样可以根据实际的车、人流量动态调节交通灯,智能解决各种突发情况,按键控制电路如图8所示。
按键消抖有两种方式:硬件消抖和软件消抖,硬件消抖需要引进RS触发器或者单稳态电路,这需要额外的硬件开支,而软件消抖只需要用延时函数就可以完成,因此这里选择软件消抖。
4.5 单片机主电路
采用这款芯片及克服了采用8031需要添加外部外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点,AT89C51单片机芯片具有以下特性:
1)指令集合芯片引脚与Intel公司的8051兼容; 2)4KB片内在系统可编程FLASH程序存储器; 3)时钟频率为0~33MHZ;
4)128字节片内随机读写存储器(RAM); 5)6个中断源,2级优先级; 6)2个16位定时/记数器;
山西大学工程学院 第8页
图9 单片机引脚结构图
4.6 整体电路图设计
图10 AT89C21单片机交通灯控制电路
本次设计采用AT89C51单片机,其中P0.0—P0.8共8根输出线控制各色交通灯的点亮与熄灭,通过外部中断0控制交通灯的切换方式,端口P3.7控制在
山西大学工程学院 第9页
智能模式下是顺次转换状态还是动态选择,在顺序转换模式下P2.4控制交通灯的状态转换。在动态模式下,根据传感器分析数据结果,通过P2.0~P2.3控制交通的的各种状态。P1和P2.7、P2.6控制数码管的显示,可以直观的看到交通灯的状态。在传感器检测某一方向车流量过多,或者人行道上滞留行人过多,或有紧急车辆通过时,采用外部触发中断实时中断方式进行处理,这时可按下SW1、SW2两按键,然后智能选择交通灯的状态,选择合适的交通灯,让滞留过多的方向通过时间长点,让道路更加通畅。上图10为整个交通灯控制系统的整体电路图。软件设计
5.1 系统程序流程图设计
开始各变量、端口初始化主程序显示子程序N中断信号Y中断子程序
图11 交通控制系统程序流程图
根据硬件电路原理图,并按系统的功能画出程序流程图。由于此系统较为简单,故采用自上而下的设计方法,进行程序设计;对传感器分析的数据处理,采用中断的方法,由中断选择合适的处理程序处理,在传感器不工作的时候,可以返回主程序执行。程序流程如下图11所示。
设计中断处理程序时,最主要的地方是如何保护进入中断前的状态(信号灯、P
山西大学工程学院 第10页
口、单片机寄存器的状态),使得中断程序执行完毕后能问到交通灯中断前的状态。除了保护累加器ACC、标志寄存器PSW外,还要注意主程序中的延时程序和中断处理程序中的延时程序不能混用。
5.2 系统程序设计
如下所示为整个系统控制程序:
#include
//延时计数
//按键次数计数
//数码管显示数值
//定时1秒计数
unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x7f};//共阳极数码管显示编码
unsigned char disdata[4];sbit NSL=P0^0;sbit NSS=P0^1;
//NS左拐指示灯 //NS直行指示灯 //NS红灯指示灯 //NS黄灯指示灯 //WE黄灯指示灯 //WE红灯指示灯 //WE直行指示灯 //WE左拐指示灯 //控制所有LED的灭 //数码管位选端 //数码管位选端 sbit NSR=P0^2;sbit NSY=P0^3;sbit WEY=P0^4;sbit WER=P0^5;sbit WES=P0^6;sbit WEL=P0^7;sbit P2_5=P2^5;sbit P2_6=P2^6;sbit P2_7=P2^7;sbit Key_1=P2^4;sbit Key_2=P2^3;sbit Key_3=P2^2;sbit Key_4=P2^1;sbit Key_5=P2^0;sbit Key_6=P3^7;
//手动切换LED灯状态
//选择NS直行
//选择WE直行
//选择NS左拐
//选择WE左拐
//选择顺序、随机切换
sbit Key_7=P3^6;
//突发情况,四个方向全部红灯 void Time0_Int()
{
//定时器0初始化
TMOD=0x01;TR0=1;EA=1;
山西大学工程学院 第11页
} ET0=1;IT0 = 0;EX0 = 1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;
//延时 m 毫秒 void Delay(unsigned int m){
} void NS_stra(){
} void NS_turn(){
} void NS_stop(){
} void WE_stra(){
} void WE_turn(){
} void WE_stop(){
unsigned int i,j;for(i=m;i>0;i--)for(j=110;j>0;j--);
//NS直行,WE红灯
NSL=1;NSS=0;NSR=1;NSY=1;WEL=1;WES=1;WER=0;WEY=1;
//NS左拐,WE红灯
NSL=0;NSS=1;NSR=1;NSY=1;WEL=1;WES=1;WER=0;WEY=1;
//NS黄灯,WE红灯
NSL=1;NSS=1;NSR=1;NSY=0;WEL=1;WES=1;WER=0;WEY=1;
//WE直行,NS红灯
NSL=1;NSS=1;NSR=0;NSY=1;WEL=1;WES=0;WER=1;WEY=1;
//WE左拐,NS红灯
NSL=1;NSS=1;NSR=0;NSY=1;WEL=0;WES=1;WER=1;WEY=1;
//WE黄灯,NS红灯
山西大学工程学院 第12页
NSL=1;NSS=1;NSR=0;NSY=1;WEL=1;WES=1;WER=1;WEY=0;} void Opera_NS_stra()
{ if(Key_2==0){
Delay(10);
if(Key_2==0)
{
WE_stop();
Delay(3000);
NS_stra();
}
while(Key_2==0);} } void Opera_WE_stra()
{ if(Key_3==0){
Delay(10);
if(Key_3==0)
{
NS_stop();
Delay(3000);
WE_stra();
}
while(Key_3==0);} } void Opera_NS_turn()
{ if(Key_4==0){
Delay(10);
if(Key_4==0){
//手动选择NS直行
//手动选择WE直行
//手动选择NS左拐
山西大学工程学院 第13页
}
}
} WE_stop();Delay(3000);NS_turn();while(Key_4==0);void Opera_WE_turn(){
}
void Opera_Red(){
}
void Choose(){
//手动选择WE左拐
if(Key_5==0){
}
//手动选择WE左拐 Delay(10);if(Key_5==0){
}
while(Key_5==0);NS_stop();Delay(3000);WE_turn();if(Key_7==0){
} Delay(10);if(Key_7==0){
}
while(Key_7==0);NSY=0;WEY=0;Delay(3000);WER=0;NSR=0;
//数码管显示初值判断程序
山西大学工程学院 第14页
if(count==10||count==470||count==930||count==1390){ } if(count==410||count==870||count==1330||count==1790)count2=20;
//判断为绿灯,数码管倒计时初值为20秒
{
count2=3;
} if(count3==20)
{
count2--;
count3=0;} }
void Ledshow()
{
disdata[0]=(count2%10);
disdata[1]=(count2/10);
P2_6=0;P2_7=1;P1=0x00;
P1=table[disdata[0]];
Delay(10);
P2_7=0;P2_6=1;P1=0x00;
P1=table[disdata[1]];
Delay(10);} void Auto()
{ if(count>10&&count<410)
{
NS_stra();Ledshow();} if(count>410&&count<470){
NS_stop();Ledshow();} if(count>470&&count<870){
//判断为黄灯,数码管倒计时初值为3秒
//定时1秒,每隔一秒倒计时减一
//数码管显示程序
//十位显示的数值
//个位显示的数值
//自动转换LED灯状态,绿灯20秒,黄灯3秒
//NS直行指示灯显示20秒,数码管倒计时显示
//NS黄色指示灯显示 3秒,数码管倒计时显示 //NS左拐指示灯显示20秒,数码管倒计时显示
山西大学工程学院 第15页
} NS_turn();Ledshow();if(count>870&&count<930)
//NS黄色指示灯显示 3秒,数码管倒计时显示
{
NS_stop();Ledshow();} if(count>930&&count<1330){
WE_stra();Ledshow();} if(count>1330&&count<1390){
WE_stop();Ledshow();} if(count>1390&&count<1790){
WE_turn();Ledshow();} if(count>1790&&count<1850){
WE_stop();Ledshow();} if(count>1850){
count=0;} } void main()
{ Time0_Int();P2_5=1;while(1){ Auto();Choose();
} }
//WE直行指示灯显示20秒,数码管倒计时显示
//WE黄色指示灯显示 3秒,数码管倒计时显示 //WE左拐指示灯显示20秒,数码管倒计时显示 //WE黄色指示灯显示 3秒,数码管倒计时显示
//主函数
山西大学工程学院 第16页
void Time0()interrupt 1 {
}
//定时50ms TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;count++;count3++;void Interrput0()interrupt 0
//外部中断0,用按键手动切换LED灯状态 {
while(Key_6==0){
} P2_7=0;P2_6=0;if(Key_1==0){
} switch(count1){
case 1 :NS_stra();break;case 2 :NS_stop();break;case 3 :NS_turn();break;case 4 :NS_stop();break;
//根据按下的次数选择显示状态 Delay(10);if(Key_1==0){ } while(Key_1==0);count1++;
//检测按键按下次数 Delay(10);while(Key_6==0){
} Opera_NS_stra();Opera_WE_stra();Opera_NS_turn();Opera_WE_turn();
//判断是顺序,随机显示
Opera_Red();
山西大学工程学院 第17页
}
} case 5 :WE_stra();break;case 6 :WE_stop();break;case 7 :count1=1;break;default: break;
5.3 仿真结果显示
NS直行
NS左拐 NS黄灯
WE直行 WE左拐 WE黄灯
通过Protues对整个电路和程序仿真,仿真结果如上图,启动电源后,交通灯先按照定时方式按照变换程序依次变换,同时数码管显示倒计时。在传感器检测道路情况后并分析,把结果传给单片机,通过外部中断切换交通灯的变换状态,这里用按键模拟传感器检测到的结果,可以实现根据检测到的流量情况不同,对交通灯实时变换,按照行人优先、高流量方向长时间放行设计,基本上达到了设计要求。
总
结
通过本次课程设计,我们在收获知识的同时,还收获了阅历,收获了成熟.。在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑
山西大学工程学院 第18页
战,只有不断的学习、实践,再学习、再实践。使用Protues和Keil作为我们的设计工具,很好地锻炼自己的语言编程能力和软件仿真能力,养成良好的语言编程风格和模拟操作方式。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。当然,我们还存在着很多不足,设计中有很多还完善的地方,期望以后可以做得更好
参考文献
【1】《手把手教你学 51 单片机-C 语言版》--金沙滩工作室宋雪松编著,清华大学出版社。
【2】《单片机原理与应用及C51程序设计》—杨家国、谢维成,清华大学出版社。
【3】肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8. 【4】徐惠民、安德宁. 单片微型计算机原理接口与应用[M].第1版.北京:北京邮电大学出版社,1996.【5】于凤明.单片机原理及接口技术[M].北京:中国轻工业出版社.1998. 【6】陈伟人.单片微型计算机原理与应用[M].北京:清华大学出版社, 2006.5.【7】赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.3. 【8】《单片机原理与接口技术》--牛昱光、李晓林等编著,电子工业出版社
第五篇:十字路口交通信号灯控制系统设计文献综述
石河子大学信息科学与技术学院
毕业设计(论文)开题报告
课题名称: 十字路口交通信号灯控制系统设计 学生姓名: 孔森 学 号: 2009082362 学 院: 信息科学与技术学院 专业年级: 电子信息工程09级(1)班 指导教师: 裘祖旗 职 称: 副教授
完成日期: 二○一三年一月八日
信息科学与技术学院本科生毕业设计(论文)文献综述
文 献 综 述
前言
交通是当今世界上一大热门课题,也是世界上多发性灾害中发生频率较高的一种灾害,它给人们带来便捷服务同时,也威胁着人们的生命安全,是世界各国人民所面临的一个共同的问题。随着社会的日益进步,人民的生活质量也有很大的提高,人们出行的安全问题也成了重要话题。因此,如何防止交通事故,保护人们的出行安全,减少伤亡,已成了当今至关重要的问题,而十字路口是交通事故最多发生的地点。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。因此本课题设计基于stc-89c52的十字路口交通灯控制器,以使城市交通安全畅通。
正文
1.国内外对十字路口交通信号灯的研究现状及存在问题 1.1 国外研究现状
早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面世23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命,这一次的煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。
信息科学与技术学院本科生毕业设计(论文)文献综述
20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制方式有更大的灵活性。车辆感应控制的这一特点刺激了车辆检测器技术的发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形线圈等检测器相继问世。
当前世界广泛使用的最具代表性却有实施的城市道路交通信号控制系统有英国的TRANSYT与SCOOTS交通控制系统和澳大利亚的SCATS系统。在信号机的发展过程中,自适应理论一直受到各研究机构的欢迎,比如上面所说的SCOOTS与SCATS系统。最近几年,国外仍偏向与引进自适应理论来对交通控制系统进行研究,特别是美国有十几个大学或研制机构正在研制自适应交通信号控制系统,具有代表性的有美国亚利桑那大学研制的RHODES.1.2 国内研究现状
我国交通领域的发展起步比较晚,基本是从新中国建国之后,随着各方面的条件的成熟以及社会发展的要求,才建立及健全的交通系统。城市交通是一个高度综合而又复杂的问题,必须从政策,机构,体制,管理,收费价格,基础设施和投资各个方面同时入手解决。我国城市经济和社会告诉发展使得社会对交通的需求急剧增加,也对此提出了严峻的挑战。
目前国内设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.两条干道的红绿时间不能随时间的改变而修改。
信息科学与技术学院本科生毕业设计(论文)文献综述
1.3 存在问题
我国是一个文明古国,许多城市已有上千年的历史,城市布局和道路结构是在漫长的历史进程中逐步形成的,近几年虽然作了些改建和扩建,但毕竟还难以冲破原来的基本格局。
目前我国城市道路普遍存在以下三个弊端:①路网密度低;②交通干道少;③路口平面交叉。
道路状况与车辆状况的综合作用形成了我国城市交通的特殊性,主要有以下表现:
城市路网稀,干道少,间距大,市区人口稠密,出行需求集中,迫使车辆集中于少数干道上行驶。尤其是一些中小城市,干道特征更为明显,往往只有一两条干道贯穿全市,而其他支路上交通量极小。从流量变化情况来看,除外围过境干道外,都是有一定规律的,高峰小时基本上都集中在几个时段内。
我国城市机动车车种繁杂,从50年代的老式车到80年代的新型车,从大货车到小轿车都在一个平面上行驶,不少城市拖拉机还是一种主要运输工具,前面一辆旧车挡道,尾随的新型车只能跟着爬行,过交叉口时经常出现启动慢的车挡住启动快的车,严重影响了人们的生活节奏和出行效率。1.4 发展前景
综合分析国内外先进的城市交通控制系统,结合我国城市道路及交通的实际情况,同时也对今后城市交通与道路建设的发展的前瞻性考量,我国道路智能交通控制系统的发展模式应具有如下功能:
(1)多模式化。首先从系统结构上吸收集中式SCOOT、分布式SCAT等智能交通系统的长处,在控制范围内各个区域采用灵活可转换的系统结构,使系统结构根据交通流的区域变化而改变。此外,充分根据不同地区实时交通情况,对路口能力最大、延迟时间最短等作为遴选不同系统的参考标准。
(2)智能化。随着信息技术的高度发展,作为道路交通控制系统所承担
信息科学与技术学院本科生毕业设计(论文)文献综述 的工作不仅仅是对交通流的引导,更承担了诸如为车辆提供道路交通信息的职能,利用对车辆的GPS 诱导,使道路通行更加顺畅。
(3)最优化。随着计算机技术和优化理论的发展,模型算法的求解和交通模型的建立就有可能获得最优解并建立最佳模型。当我们建立整个交通路网的动态交通分配模型和整体优化模型并求最优解,从而达到对路口的控制参数进行调整进而实现某个地域范围内对交通流进行动态协调控制就成为可行。
(4)规整化。任何控制系统都是立足于具体的道路和交通条件,所以采用道路的方法和疏导交通流的方法对控制系统会有很大的参考作用。我国在建立完整的道路交通控制系统之前,必须针对道路状况和交通流做出若干种交通疏导预案和道路使用预案,从而使交通和道路更加规整。
(5)通用性和模块化。根据计算科学的发展,我国在制定和实施智能交通控制系统时必须在硬件设计和软件编程上采用通用化和模块化,有利于将来的逐步升级和换代。1.5 stc89-c52单片机:
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,2个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其工作参数为:
(1)6 时钟/机器周期和12 时钟/机器周期可以任意 选择。
信息科学与技术学院本科生毕业设计(论文)文献综述
(2)工作电压:5.5V~3.3V。
(3)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
(4)用户应用程序空间为8K字节。
(5)片上集成512字节RAM。
(6)通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。
(8)具有EEPROM功能。
(9)具有看门狗功能。
(10)共3 个16位定时器/计数器。即定时器T0、T1、T2。
(11)外部中断4路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。
(12)通用异步串行口(UART),还可用定时器软件实现多个UART。(13)工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)。(14)PDIP封装。
结论
城市交通是一个高度综合而又复杂的问题,必须从政策、机构、体制、管理、收费价格、基础设施建设和投资各个方面同时入手解决。我国城市经济和社会的高速发展使得社会对交通的需求急剧增加,也对此提出了严峻的挑战。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。本文在对目前交通控制进行深入分析的基础上,运用使用stc89-c52单片机作为中央控制器,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为
信息科学与技术学院本科生毕业设计(论文)文献综述
众多嵌入式控制应用系统提供高灵活、超有效的解决方案。编程语言采用单片机c语言设计主要功能,时间采用两位七段共阴数码管来显示,采用发光二极管来模拟交通灯信号。
参考文献:
[1]余发山,单片机原理及应用技术.中国矿业大学出版社,2003.[2]陈权昌,李兴富.单片机原理及应用.华南理工大学出版社,2004.[3]沈鸿星.LED交通信号灯系统的硬件设计[J].电子工程师,2004.[4]胡汉才.单片机原理及其接口技术[M].清华大学出版社,2000年第一版.[5]孙惠琴.单片机项目设计教程 电子工业出版社,2009-6.[6]周润景,袁伟亭,景哓松.Proteus在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2006.10.[7]吴黎明,王桂棠,洪添胜,等.单片机原理及应用技术.科学出版社,2005.[8]何立民.单片机技术的现状与未来[J].中国计算机报,1995.No.30.[9]张毅钢.单片机原理及应用[M].高等教育出版社,2008.11.[10]李朝青.单片机原理及接口技术(第三版)[M].北京航空航天大学出版社,2005.[11]徐晨,陈继红等.微机原理及应用[M].高等教育出版社,2004.8.[12]刘建军,冀常鹏.单片机智能控制技术[M].北京:国防工业出版社,2007.[13]马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2003.11.[14]查振亚,叶向阳.智能交通灯控制系统[J].华中理工大学学报, 1997, 25(2): 63~65.[15]谭浩强.C 程序设计[M].清华大学出版社,1999 年12月.[16]张云龙.交通信号控制器的设计[J].兵工自动化 ,2003,(04).[17]何立民.单片机高级教程[M].北京航空航天大学出版社,2000年5月第一版.[18]陈汝全.电子技术常用器件应用手册[M].第二版,机械工业出版社,2002年5月第一版.[19]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1992.[20]谢自美.电子线路设计实验测试[M].武汉:华中理工大出版社,1992.62-64.信息科学与技术学院本科生毕业设计(论文)文献综述
[21]彭志刚.利用单片机改进交通灯控制系统[J].湖南工业职业技术学院学报,2003,2(2):25-27.