交通信号灯模拟控制系统的设计(共五则)

时间:2019-05-13 22:52:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《交通信号灯模拟控制系统的设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《交通信号灯模拟控制系统的设计》。

第一篇:交通信号灯模拟控制系统的设计

交通信号灯模拟控制系统的设计

目 录

一、课程设计任务书

(一)课程设计应达到的目的-3

(二)课程设计题目及要求---3

(三)课程设计任务及工作量的要求--------------------------4

(四)主要参考文献---------4

(五)课程设计进度安排-----5

二、课程设计说明书

(一)课程设计目的---------6

(二)课程设计实验设备-----6

(三)设计思路与功能描述---6

(四)电路原理图及其说明---7

(五)结构框图-------------9

(六)系统调试中的问题和解决办法--------------------------9

(七)运行情况和结论-------9

(八)源程序清单-----------9

(九)心得与体会-----------16

三、附录:

(一)交通灯模拟图---------16

(二)参考文献-------------17 课程设计任务书目录;

一、课程设计任务书;

(一)课程设计应达到的目的;

二、课程设计说明书;

(一)课程设计目的;

三、附录:;

(一)交通灯模拟图; 课程设计任务书; 课程设计说明书;

一、课程设计的目的;

1掌握可编程接口芯片8255、8253的应用和初; 2学习并掌握多重循环嵌套程序的设计,掌握指令执行; 目 录

一、课程设计任务书

(一)课程设计应达到的目的----------------------------3

(二)课程设计题目及要求------------------------------3

(三)课程设计任务及工作量的要求----------------------4

(四)主要参考文献-----4

(五)课程设计进度安排-5

(六)成绩考核---------5

二、课程设计说明书

(一)课程设计目的----------6

(二)课程设计实验设备------6

(三)设计思路与功能描述----6

(四)电路原理图及其说明----7

(五)结构框图--------------9

(六)系统调试中的问题和解决办法---------------------------9

(七)运行情况和结论--------9

(八)源程序清单------------9

(九)心得与体会------------16

三、附录:

(一)交通灯模拟图-------16

(二)参考文献--------------17 课程设计说明书

一、课程设计的目的 掌握可编程接口芯片8255、8253的应用和初始化编程方法。2 进一步掌握8086/88汇编语言程序设计方法。学习并掌握多重循环嵌套程序的设计,掌握指令执行时间的计算和软件延时程序的设计。

二、实验的设备 1 装有星研集成环境软件的计算机一台 2 Star实验箱一台

三、设计思路与功能描述

1、设计要求:

设计一个十字路口的交通信号灯(由实验仪的LED发光二极管模拟)。采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号; 用8253硬件定时,软件查询方式实现如下功能:

白天模式:①东西方向和南北方向各放行10秒。绿灯转红灯前黄灯闪烁4秒。

②LED数码显示器显示倒数计时,从9倒数到0;倒数到4时黄灯亮。夜间模式:两个方向黄灯闪烁,绿灯和红灯不亮。

2、设计思路:(1)8255: 分析:

本设计中,交通信号灯的灯光变化和数码显示通过8255实现控制。PA口用于输出信号控制灯光的变化(D6D5=00,D4=0),PB口用于输出信号控制数码管的显示(D2=0,D1=0),PC0用于输入K8的控制开关信号,PC1用于输入用于硬件延时的方波信号(D0=1)。PC7用于输出控制数码管工作/不工作的信号(D3=0)。故写入方式控制字为10000001B=81H。

8255输入/输出信号如下表所示:

a.灯光显示:送低电平则灯亮,送高电平则灯灭。

b.LED数码显示:数码管采用共阴极接法,位选信号为0则数码管工作。a~dp段发亮条件:对应位输入1,见下表所示:

mov al,10111011b;夜间黄灯闪烁,使灯全都亮 mov dx,0f000h out dx,al call delay mov al,11111111b;使得灯都灭掉 mov dx,0f000h out dx,al call delay jmp l ll: mov dx,0f002h;mov al,7fh out dx,al mov al,01101111b;mov dx,0f000h out dx,al call a call b;mov al,11010111b;mov dx,0f000h out dx,al call a call c;jmp l mov ah,4ch int 21h delay proc;8253 m: mov dx,0f002h;PC in al,dx and al,02h jz m;n: mov dx,0f002h in al,dx and al,02h jnz n;ret delay endp aa: jmp l;a proc mov al,6fh;mov dx,0f001h out dx,al call delay;call delay mov dx,0f002h;选中PC7,工作 南北绿灯,东西红灯(9s-4s)南北黄灯,东西红灯(3s-1s闪烁)南北红灯,东西绿灯(9s-4s)南北红灯,东西黄灯(3s-1s闪烁)延时0.5秒钟 1接8253的OUT0 等于“0”时则转,等待高电平等于“1”时则转,等待低电平无条件转l 数码管显示“9” 共延时1s 判断工作在夜间1/白天0 and al,01h jnz l mov al,7fh;数码管显示“8” mov dx,0f001h out dx,al call delay;共延时1s call delay mov dx,0f002h;判断工作在夜间1/白天0 in al,dx and al,01h cmp al,0h jnz aa;mov al,07h;mov dx,0f001h out dx,al call delay call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz aa mov al,7dh;mov dx,0f001h out dx,al call delay call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz aa jmp z bb: jmp aa z: mov al,6dh;mov dx,0f001h out dx,al call delay call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz aa 为1转aa 数码管显示“7” 数码管显示“6” 数码管显示“5” mov al,66h;数码管显示“4” mov dx,0f001h out dx,al call delay call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz bb ret a endp b proc mov al,4fh;mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz bb mov al,5bh;mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h 数码管显示“3” 南北黄灯亮 南北黄灯暗 数码管显示“2” 南北黄灯亮 南北黄灯暗

jnz bb jmp y cc: jmp bb y: mov al,06h;数码管显示“1” mov dx,0f001h out dx,al mov al,10101111b;南北黄灯亮 mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h jnz cc mov al,3fh;mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h jnz cc ret b endp c proc mov al,4fh;mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h 南北黄灯暗 数码管显示“0” 南北黄灯亮 南北黄灯暗 数码管显示“3” 东西黄灯亮 东西黄灯暗

out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz cc jmp x ddd: jmp cc x: mov al,5bh;数码管显示“2” mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz ddd mov al,06h;mov dx,0f001h out dx,al mov al,10101111b;mov dx,0f000h out dx,al call delay mov al,11101111b;mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz ddd mov al,3fh;mov dx,0f001h out dx,al mov al,10101111b;东西黄灯亮 东西黄灯暗 数码管显示“1” 东西黄灯亮 东西黄灯暗 数码管显示“0” 东西黄灯亮

mov dx,0f000h out dx,al call delay mov al,11101111b;东西黄灯暗 mov dx,0f000h out dx,al call delay mov dx,0f002h in al,dx and al,01h cmp al,0h jnz ddd ret c endp code ends end go

九、心得与体会

通过一周的课程设计,我觉得我收获了很多。首先我对于微机原理有了更加深刻的理解,真的的意识到了这门学科在实际生活中的应用。设计的过程中,我熟悉了芯片8253、8255 的

功能和应用,学会了用汇编语言设计程序。在设计过程中,发现自己对老师课上所讲的许多

知识点理解不透彻,概念比较模糊。通过一遍遍的研究、查找相关的资料,总算对8253和8255 有了一定的认识,对芯片的初始化和命令字,以及地址和控制口的理解也更加深入。本次课程设计提高我们的自学能力和合作精神。从理解开始,不断思考,同时和老师同

学们交流看法,在编程的过程中遇到了许多细节方面的问题,我们通过讨论一起解决了问题,最终完成要求。灵活运用课堂所学,软硬件相结合,这是本次设计的要求,也是我们此次的

最大收获,希望以后可以把专业的知识运用到更多的领域中去。附录

1、参考文献

[1] 李干林.《STAR ES598PCI实验仪 微机原理实验指导书》[M].南京工程学院,2008.[2] 韩念杭.微型计算机原理实验指导书 [M].南京工程学院,2004.[3] 郑学坚,周斌.微型计算机原理及应用[M].北京:清华大学出版社,2001.[4] 朱定华等.微型计算机原理及应用[M].北京:电子工业出版社,2005.[5] 李继灿.新编16/32微型计算机原理及应用[M].北京:清华大学出版社,2004 [6] 戴梅萼,史嘉权.微型计算机技术及应用[M].北京:清华大学出版社,1996.2、实物图

南北红,东西绿 南北红,东西黄 夜间黄灯闪烁:

第二篇:交通信号灯控制系统

交通信号灯控制系统(红绿灯系统)

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 unsigned int count=0;unsigned int count1=0;unsigned char count2=0;unsigned char count3=0;

//延时计数

//按键次数计数

//数码管显示数值

//定时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】《单片机原理与接口技术》--牛昱光、李晓林等编著,电子工业出版社

第五篇:基于单片机的交通信号灯模拟控制系统

本毕业论文由单片机系统、LED 显示、交通灯演示系统组成。系统包括基本的交通灯的功能,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

关键词:倒计时 89C51芯片

MCU-based simulation system for traffic lights(Major of Applied Electronic Technology, Information and Engineering College Biao Zhang)Abstract:This system consists of single-chip microcomputer system, LED display, traffic light presentation system.System includes the basic functions of traffic lights, also has a countdown, the time setting, emergency handling, at times to adjust the light signal in accordance with the specific circumstances of time and manual control functions.Keywords:countdown 89C51 引言

随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源”,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。1 方案的论证及确定

题目要求系统紧急情况处理,我们讨论了两种方案。

方案一:采用8255扩展I/O口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有 RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:采用89C51来控制键盘及数码管显示。该芯片有较宽的工作电压(2.7V-6V),128*8B内置RAM,4KB可在线重复编程的闪烁存储器。完全可以满足系统需求,由于不需要外部EPROM芯片,可以简化电路设计。由于该系统对于交通灯及LED的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。2 电路的设计及原理的分析 2.1 系统总框图及工作原理

设计思路:设一个字路口,1,3为南北方向,2,4为东西方向。一开始1,3路口红绿灯亮通车,2,4路口红灯亮,同时LED开始倒计时。一段时间后,1,3路口绿灯灭,黄灯开始闪烁,然后等LED倒计时完毕1,3路口红灯亮,同时2,4路口绿灯亮通车,LED重新倒计时开始。一段时间后2,4路口绿灯灭,黄灯开始闪烁,等LED倒计时完毕2,4路口红灯亮,同时1,3路口绿灯亮通车。接下去重复上述过程。LED倒计时的手动控制:设计根据车流量的大小,设置了6个倒计时时间。分别是15s,30s,45s,60s,75s,90s。系统正常工作时,按一下按键2,LED闪烁,这时便可以通过按键1调节倒计时时间。按照按的次数不同循环显示。选定时间后按按键2系统开始正常工作。警车情况:警车情况由按键1来模拟。当系统正常工作时,按下按键1,黄灯闪烁,然后四路灯全部红灯。再按下按键1系统开始重新工作;按键3为复位键。2.2 硬件电路的设计

由于整个系统由AT89C51芯片控制。简单模拟一个十字路口的交通灯的工作情况。四路共12盏交通灯(4红,4黄,4绿)采用发光二极管模拟。倒计时功能用两个共阳LED数码管来实现。按键1用来模拟警车通过时的情况。按键2用来确定是否根据不同的车流量调节LED数码管倒计时的时间。所以本系统主要的驱动电路有两部分,分别是数码管的驱动电路和红绿灯驱动电路。

2.2.1 数码管显示驱动电路

数码管显示驱动电路采用“三极管驱动的并行LED数码管动态扫描显示”(图2)。三极管用于位选起到开关的作用,P1口作为段选。当三极管基极高电平时,三极管截止,数码管不工作。基极低电平时,三极管导通,数码管公共端为高电平,数码管工作同时点亮。然后通过程序的设置使用按键1和按键2来改变数码管上显示的数字。2.2.2 红绿灯显示驱动电路 2.2.3 系统整体电路图

本设计主要是由LED数码管驱动电路,红绿灯驱动电路,AT89C51微控制器三部分组成。系统的整体电路如图4: 3 硬件主要器件的介绍 主芯片:AT89C51单片机由中央处理器(CPU),内部数据存储器(内RAM),内部程序存储器(内部ROM),2个16位的定时器/计数器,4个8位的I/O口(PO、Pl、PZ、P3),1个全双工的可编程串行口,时钟电路,中断系统,8部分组成。结构图如图5:

发光二极管:本设计使用的是普通单色发光二极管,它具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,可用各种直流、交流、脉冲等电源驱动点亮。由于它属于电流控制型半导体器件,使用时需串接合适的限流电阻。4 系统的实际应用

本系统只是对一个十字路口交通灯工作情况的简单模拟,如果要应用到实际中去,还要改进。首先是灯的改进,如果要应用到实际中去的话,灯就得用大功率高亮度的LED。其次是倒计时LED数码管也要改为大型的LED数码管。这样一来原本的驱动电路就要改进。此外在倒计时时间的调整和警车通过等特殊情况的功能上要改进为自动检测和控制功能。这样才能达到实际应用的目的。

4.1 实际应用的驱动电路

由于实际交通信号灯的功率都在10W~20W,因此要使用高功率驱动电路。下面是驱动芯片AMC7150的实际应用电路图(图6):

AMC7150 最多可以驱动8个 LED 可以调节频率 AMC7150则内建PWM(脉冲宽度调变)与功率晶体管,只需五颗外部零件。该组件输入工作电压在4V~40V间,最高驱动电流达1.5安培,可以驱动24W的高功率LED。工作频率可由外部电容控制而达200KHz,只要调整外部电阻值即可达到变更输出电流的目的。4.2 动态车辆检测

实际应用中根据车流量大小来调整倒计时时间的长短是全自动的,这就需要一个能对过往车辆检测的电路系统,以随时确定车流量的大小,以便对倒计时时间的调整,使交通秩序达到最好状态。

为此,系统将加入一个动态车辆检测电路(图7)。其工作情况是埋设在各车道安全线前方路面下的环形线圈传感器与振荡器匹配,形成一定频率的周期信号。该信号经施密特整形电路转化为脉宽信号后可作为计数脉冲。当有车辆通过该环形线圈时,线圈磁场发生变化,从而导致计数脉冲数量的变化。将100ms时间内没有车通过时的频率计数作为基准计数Base,实际计数为Num。当NumBase>0时,就可判定有车辆通过。4.3 警车声的自动识别

由于警车声的频率是特定的,因此只要将收集的频率和警车频率比较,如果相同,则可以判定有警车开过路口,此时交通灯就可以作出相应的反映。如果不同则判定无警车通过。为了提高判定的精确度,可以取警车的三个不同频率来做判定。程序流程图 6 系统调试

本毕业论文调试分键盘模块、信号灯模块、倒计时模块。各个独立模块功能调试成功后,将这些模块程序通过主程序合并在一起,最后再对合并后的总程序进行调试。各软件模块首先要通过PC和仿真器进行软件调试,当仿真效果符合要求后,再烧写进单片机看能否在实际电路板上正常工作。编程语言的软件设计采用MCS-51汇编语言编写,所使用的调试软件包括伟福Keil uVision2和MedWin2.39,所使用的仿真器有INSIGHT公司的ME-52A仿真器。数码管问题:虽然本次设计的最终方案是采用共阳极的七段数码管实现显示功能,最初数码管显示不正常,出现闪烁现象。通过调试发现这是由于延时时间选择不当造成的和一些电源的电压可能不够的原因够成的。由于数码管是采用动态显示方式,为了使人眼产生视觉暂留效果,每一次显示时都必须加入适当的时间。通过上述的改变,以基本实现正常。

发光二极管的问题:在设计调试的时候由于一接电源,数个二极管始终不亮,最后用万用表测试了下,才知道原来因为电流过大,二极管被击穿了!于是我在二极管和芯片之间连上了限流电阻,结果表明上述问题基本解决,但还是有个别的二极管还是存在少许问题,我个人认为是二极管本身的材质引起的,而不是软件问题。结论与谢辞

系统采用51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过按键的P3口设置红、绿灯燃亮时间的功能;显示时间直接通过P1口输出;交通灯信号通过平常PC口输出;系统设计简便、实用性强、操作简单、程序设计简便。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现。由于个人的能力有限有些地方还有不足,但此毕业设计锻炼了个人的能力和处理事情的能力,对以前所学的一些软件个程序的编写也有了很大的认识。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

在本文即将结束之际,我要由衷地感谢在我毕业设计阶段,乃至3年大学学习生活中帮助过我的师长与同学。在毕业设计完成的过程中得到了许多老师和单位领导的帮助,学院的老师们严谨治学的教学使我受益非浅。本论文的选题、研究内容、研究方法及论文的形成是在范灵芝老师支持、鼓励和悉心指导下完成的,她是我获得深思熟虑的意见和概念清晰的见解的来源,她不惜花费自己时间对本论文提出许多意见和建议,既激发了我的灵感,又给了我持久不断的鼓励。在论文完成的过程中倾注了导师大量的心血,在论文完成之际,特向我尊敬的老师表示衷心的感谢。***

组装及调试 划分出相互独立的电路模块,便于分别安装调试。每安装好一个模块,就上电测试一下。(1)硬件调试:

硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。其中硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。

第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。(2)软件调试:

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。用软件WAVE6000进行调试。

设计总结

这次课程设计碰到了不少困难,也走了不少弯路。因此想给参考者讲述自己的一些经验:(1)在设计电路图时除了要择优电路之外,还应当考虑经济性。因为课程设计的目的是为了提高我们的动手能力,所以应把经济作为第一考虑要素。

(2)用protel 99SE制作原理图时一定要清楚管脚标号的顺序,这是为让封装做得更好而做的准备。当然最好的是自己建立一个元件库,这样做可使自己做的原理图可读性更好,可移植性也更好。另外要注意的是一定要有控制元件工作的电源(一般都是5v左右)。还有就是网络标号一定要保证正确。总之一定要按部就班,不可跳步骤,这会对接下来的工作繁琐度有很大的影响。(3)在做PCB板图时,针对这个电路最好先自动布局看清大概,然后手工布局。要手工布线。这是因为电路元件较少,人工布局排线更好。单层布线最好先手工布线后自动布线。为保证后期制作电路板的质量,要注意焊孔的类型及尺寸。针对现有技术及考虑到发热量等各方面,电线宽度最好要大于15mil。

(4)电路板的制作过程没什么感想,就按步骤来就可以了。在焊接过程中一定要保证焊接质量,这对以后的调试有重大影响。同时焊接质量好坏对仪器的精度有一定的影响。在焊接过程中一定要注意管脚标号。注意不要焊得太久,以免烧坏元器件。

通过这次对单片机交通信号灯的设计与制作,使我了解了设计一个嵌入式产品的大概流程,在这次设计中让我学到了不少东西。本系统是以单片机AT89S52芯片为核心部件,实现了能根据实际车流量通过AT89S52芯片设置红、绿灯燃亮时间的功能。此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于交通灯这方面的知识。通过这次计算机课程设计,使我得到了一次用理论知识、实践技能和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。在实际接线中有着各种各样的条件制约着,因此结果并不重要,我们要重视过程,我们懂得了过程,学到了方法就是我们最大的收获。在设计时应考虑诸多因素与实际的差异,从诸多方法中选择最优的就可以了。单片机课程设计与总结报告 摘要

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。目录

一.设计任务„„„„„„„„„„

二.交通灯的设计程序框图„„„„„„

三.交通灯程序的主程序„„„„„„

四.系统硬件电路的设计„„„„„„„„

五.原理图„„„„„„

六.检测与调试„„„„„„„„„„„.七.总结与体会„„„„„„„„„„„„.八.致谢„„„„„„„„„„„„.一.设计任务

(一)、功能及技术指标要求 设计交通灯的基本要求:设计一个交通灯,要应用DVCC实验系统。

(二)、设计内容

按设计技术指标进行交通灯的硬件和软件设计。

(三)设计思路及关键技术

一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。

基于单片机的交通灯的设计时要充分的认识以下两个问题:

1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。

2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。二.交通灯的设计程序框图 开始 ↓

四个路口红灯亮 ↓

东西绿灯亮,南北红灯亮,延时 ↓

东西黄灯闪烁,南北红灯亮,延时 ↓

东西红灯亮,南北绿灯亮,延时 ↓

东西红灯亮,南北黄灯闪烁,延时 ↓

三.交通灯程序的主程序 程序如下:

ORG 0000H

SJMP A3

;四盏红灯亮 A3:MOV SP,#60H

MOV A, #24H

MOV P1, A

CLR P3.4

CLR P3.3

SETB P3.5

SETB P3.2

;显示5秒

MOV R4,#05H LOOP1:MOV R2,#03H

LCALL xian

;调显示子程序

DJNZ R4,LOOP1

MOV R4,#00H

MOV R2,#03H

LCALL xian

;东西绿灯亮,南北红灯亮 A2:MOV A,#0CH

CLR P3.5

MOV P1,A

SETB P3.3 CLR P3.4

SETB P3.2

;显示20秒

MOV R4,#14H

LOOP2 :MOV R2,#03H

LCALL xian

;调显示子程序

DJNZ R4,LOOP2

MOV R4,#00H

MOV R2,#03H

LCALL xian

;调显示子程序

SETB P3.2

CLR P3.3

;显示5秒

MOV R4 ,#05H

;东西黄灯亮,南北红灯亮 LOOP9:MOV A,#14H

MOV P1 ,A

CLR P3.5

SETB P3.4

MOV R2,#02H

LCALL xian

;调显示子程序

MOV R2,#01H

;定时

LCALL DELAY

;调延时子程序

;南北红灯亮

MOV A ,#04H

MOV P1 ,A

CLR P3.4

CLR P3.5

MOV R2,#01H

;定时

LCALL DELAY

;调延时子程序

DJNZ R4,LOOP9

MOV R4,#00H

MOV R2,#03H

LCALL xian

;调显示子程序

;东西红灯亮,南北绿灯亮 A8: MOV A, #61H

MOV P1,A

CLR P3.4

CLR P3.3

CLR P3.2

SETB P3.5

;显示20秒

MOV R4,#14H

LOOP3: MOV R2,#03H

LCALL xian;调显示子程序

DJNZ R4,LOOP3

MOV R4,#00H

MOV R2,#03H

LCALL xian;调显示子程序

SETB P3.5

MOV R4 ,#05H LOOP10: MOV R2,#02H

LCALL xian;调显示子程序

;东西红灯亮,南北黄灯亮 A0:MOV A,#0A2H

MOV P1,A

CLR P3.4

CLR P3.3

CLR P3.2

MOV R2,#01H

;定时

LCALL DELAY;调延时子程序

;东西红灯亮

MOV A,#20H

MOV P1,A

CLR P3.4

CLR P3.3

CLR P3.2

MOV R2,#01H

;定时

LCALL DELAY

;调延时子程序

DJNZ R4,LOOP10

MOV R4,#00H

MOV R2,#03H

LCALL xian

;调显示子程序

LJMP A2

;延时子程序 DELAY:PUSH 2

PUSH 1

PUSH 0 DELAY1: MOV 1,#00H DELAY2:MOV 0,#0B2H

DJNZ 0,$

DJNZ 1,DELAY2

DJNZ 2,DELAY1

POP 0

POP 1

POP 2

DJNZ R2 ,DELAY

RET

;显示子程序

xian: MOV A,R4

MOV B,#10

DIV AB

MOV R6,A

MOV DPTR,#TAB

MOV A,B

MOVC A,@A+DPTR

MOV SBUF,A

MOV R7,#0FH H55S:DJNZ R7,H55S

MOV A,R6

MOVC A,@A+DPTR

MOV SBUF,A

MOV R7,#0FH H55S1:DJNZ R7,H55S1

LCALL DELAY

RET

TAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h

DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh

END 四.系统硬件电路的设计

(1)芯片由DVCC实验系统提供(AT89C51)1.主要特性: •与MCS-51 兼容

•4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 •全静态工作:0Hz-24Hz •三级程序存储器锁定 •128*8位内部RAM •32可编程I/O线

•两个16位定时器/计数器 •5个中断源

•可编程串行通道

•低功耗的闲置和掉电模式 •片内振荡器和时钟电路 2.管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

(2)完整的DVCC实验箱面板

(3)硬件电路连接说明

五.原理图

六.检测与调试

1、硬件调试:

硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。

第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

2、软件调试:

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。七.总结与体会

本系统是以单片机AT89C51芯片为核心部件,实现了能根据实际车流量通过AT89C51芯片设置红、绿灯燃亮时间的功能。此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于交通灯这方面的知识。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。八.致谢

通过本次毕业设计,我在涂老师和王老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,忠心感谢涂老师和王老师以及许多同学的指导和支持

下载交通信号灯模拟控制系统的设计(共五则)word格式文档
下载交通信号灯模拟控制系统的设计(共五则).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    十字路口交通信号灯控制系统设计文献综述

    石河子大学信息科学与技术学院 毕业设计(论文)开题报告 课题名称: 十字路口交通信号灯控制系统设计 学生姓名: 孔森 学 号: 2009082362 学 院: 信息科学与技术学院 专业年级: 电......

    实训-交通信号灯控制系统[五篇范文]

    交通信号灯控制系统 重点内容:  LED显示的驱动电路设计和LED显示输出扫描程序  按键输入电路和按键扫描程序  时间中断的使用。 一、实例说明 有如图所示的街区十字路口,需要......

    十字路口交通信号灯PLC控制系统摘要

    摘 要 随着社会的发展和进步以及人民生活水平的提高,上路的车辆越来越多,但相应的公路设施却没有相应的改善,这就导致了城市交通拥堵问题突出,而且拥堵的地方多是十字路口等车辆......

    微机原理交通信号灯控制系统设计报告[大全五篇]

    HEFEI UNIVERSITY 微机原理设计报告 题 目 交通信号灯的控制 系 别 电子信息与电气工程系 班 级 11级电子信息工程(2)班 姓 名 钟文俊 学 号 1105012012 指导 老师 丁健......

    信号灯控制系统技术指标(合集5篇)

    信号灯控制系统技术指标 (一) 总体要求 交通信号控制机作为路口交通管理的核心设备,应能够充分适应泉州中心城区混合交通的特点,适应中心城区的路网特色,其技术取向应符合中心城......

    基于PLC的智能交通信号灯控制系统目前(推荐5篇)

    基于PLC的智能交通信号灯控制系统 摘要 可编程控制器的功能日益完善,加上小型化、价格低、可靠性高,在现代工业中的应用更加突出。城市交通灯控制采用的可编程制器具有可靠性......

    交通信号灯及控制系统设备安装与施工详解(模版)

    交通信号灯及控制系统设备安装与施工详解 交通信号系统包括机箱、灯杆、SCATS检测线圈、电缆与电线、取电电源、防雷与接地、管井与管道等设施设备,下面介绍各个部分的材料、......

    交通信号灯电路的设计

    电子综合实训任务书学生姓名:专业班级:指导老师:贾信庭工作单位:武汉理工大学理学院 题目:交通信号灯电路的设计初始条件:直流可调稳压电源一台、万用表一块、面包板一块、元器件......