好文档 - 专业文书写作范文服务资料分享网站

单片机智能交通灯方案 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

1总体介绍

1.1 芯片简介

AT89C5X芯片简介,AT89C51是AT89C5X系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。AT89C51单片机包含中央处理器、程序存储器(ROM>、数据存储器(RAM>、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器(CPU>是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

AT89C51共有4组8位I/O口(P0、P1、P2或P3>,用于对外部数据的传输。 AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。 AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。 1.2 技术指标

用AT89C51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路口交通灯的功能,并对满足特殊的控制要求。每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。交通等示意图如图1-1所示

图示意图

1-1交通灯

1.3 设计指标

该控制系统能控制东西南北四个路口的红黄绿灯正常工作。东西和南北方向分时准行和禁行。两垂直方向的准行时间均为60s或120s,可以进行控制转换。准行方向亮绿灯与禁行方向亮绿灯55s后,四个产品同时加亮一黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变。四个道口用数码管显示路人行或禁行的剩余时间 在交通情况特殊情况下可以通过K1、K2、K3按键对交通灯进行控制。 当有紧急情况发生时按下K1键四个路口同时加亮黄灯进行闪灯且倒计时显示关闭。黄灯闪烁完毕后四路口全变红灯禁行,处理紧急情况。 有某方向上车辆过多 ,可以使用K2、K3键控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁. 2 系统硬件电路的设计

2.1AT89C5X单片机内部结构及引脚

在AT89C5X系列单片机中,有2个系列:子51系列和52子系列。每个系列有若干种型号。51系列有AT89C51、8751和8031。 我们以AT89C5X系列单片机的典型型号AT89C51为例来介绍其结构和功能。AT89C5X的内部结构框图2-1如下: 图2-1AT89C51单片机内部结构

分析上图,并按其功能部件划分可以看出,AT89C5X系列单片机是由8大部分组成的,分别为:一个8位中央处理器CPU<又成为微处理器)、128个字节的片内数据存储器RAM、4KB的片内程序存储器ROM或EPROM、18个特殊功能寄存器SFR、4个8位并行输入输出I/O接口、1个串行I/O接口,完成单片机与其他微机之间的串行通信、2个定时器/计数器T0、T1、一个具有5个中断源,2 个可编程优先级的中断系统。 它可以接收外部中断申请、定时器/计数器中断申请和串行口终端申请。 AT89C5X系统的引脚说明:AT89C5X系列单片机中的8031、AT89C51及8751均采用40Pin封装的双列直接DIP结构,图二是它们的引脚配置,40个引脚中,正电源和底线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。 8951的复位方式可以自动复位,也可以是手动复位。除此之外,RESET是复用引脚,Vcc掉电其间,此引脚可以接备用电源,以保证单片机内部RAM的数据不丢失。 在编程时,EA/Vpp脚还需加上21V的编程电压。AT89C51的引脚图如图2-2所示

图2-2 AT89C51

引脚图

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

芯片擦除: 整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 2.2单片机的特点与应用

单片机的特点:控制功能强、抗干扰性强,可靠性高,工作温度范围宽、开发周期短,性价比高,易于产品化。

单片机的应用领域:智能化仪表、实时工业控制、机电一体化产品、智能接口、办公自动化、商业营销、家用电器。 2.3 主控制系统

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

单片机的P0口用于控制8255。8255的PA口和PB口用于控制南北及东 西的通行灯。PC口及P3.0到P3.2口用于4组2位LED计时器的控制,特种车通过时使用外中断0口

单片机的Vcc引脚接+5V 的电源,Vss引脚接地。 复位电路为独立的复电路接施密特电路输入接AT89C51和外围复位可靠的复位。给RST端个时钟周期,则AT89C51电路如图2-4所示

位电路。RC上电复位端,施密特电路输出电路,这样可是系统持续高电平,超过两单片机复位。其复位

图2-4系统的复位电路

时钟电路由两个30PF的微调电容和一个晶振组成。AT89C51内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。 2.3.2系统计时显示模块的设计

计时显示模块显示PB、P1、P2的输出数据,用于显示通行或禁行时间,且可以实现60秒和120秒的交替显示。控制开关由PC0、PC1控制。用软件编程,采用中断、查询的方法检测按键按下的位置,全采用外部寻址方式。数码显示硬件采用高亮7段LED发光数码管显示,驱动电流由单片机与8255共同提供。 PA口输出控制交通灯的红绿灯的交替亮灭。用软件编程对外部I/O口送数据,从而实现交通灯的控制。

2.3.3紧急状况模块的设计

当特种车辆到来时能自动关闭所有绿灯,所有交通灯显示黄色闪烁状态,让特种车通过。设计中采用外部中断的方式作为特种车通行的状况,使用外部中断0来影响特种车的通行要求。当有特种车辆通过时,按下K1键,低电平经与门连接到外部中断引脚P3.2,是系统进入中断过程,在中断服务程序中,使交通灯显示黄色闪烁的状态。 某方向上车辆过多,可以使用K2、K3键控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁。K2、K3键也通过与门连接到外部中断引脚P3.2,采用键盘查询的方式检测哪个按键按下。当K2键按下时,东西方向直亮绿灯,南北方向直亮红灯。K3键按下时,南北方向直亮绿灯,东西方向直亮红灯。用以模拟某个方向车辆过多的状态。 3 软件设计流程及描述

3.1软件设计

先了解实际交通灯的变化规律,假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北绿灯;然后转状态1,南北绿灯灭黄灯闪,延时5秒,东西仍然红灯。再转状态2,东西绿灯通车,南北红灯。过一段时间转状态3,东西绿灯灭黄灯闪,延时5秒,南北仍然红灯,最后回到状态1,不断循环。 通过外部寻找的方式,将数据送至PA口,PA口接交通灯,通过对PA口的赋值,实现对交通灯的控制。数码显示的个位和十位的数据通过P2口和P1口传送,百位数据传送用PB口。 软件调试:

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

3.2主程序的设计思路

程序的设计流程图反映了系统的设计思路,此交通灯控制器的程序流程图如图3-1所示

开始 初始化程序 东西道口红灯亮,南北道口绿灯亮,55秒倒计时显示 东西南北5秒倒计时显示,黄灯闪烁 东西道口绿灯亮,南北道口红灯亮55秒倒计时显示 图3-1主程序流程图 东西南北5秒倒计时显示,黄灯闪烁 3.3程序设计思路 3.3.1每秒钟的设定

延时方法可以有两种一种是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。 我们采用在主程序中设定一个初值为10的软件计数器和使T1定时1000毫秒.这样每当T1到1000毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。其程序流程图如图3-2所示

开始 图3-2 定时中断流程图 给TH1,TL1重新赋初值 B减1后是否为0 Y R0是否为0 N R0是否为0 Y 给R0赋初值为10 R1减1 N N N <60H)是否为0 Y R1是否为0 Y R7是否为1 Y 给R1赋值为9,R7减1 R7的值从B口读出 开始 延时 给R6赋初值为R0减1 2 给R5赋初值为126 中断返回 N 程序流程图

N 3.3.2软件延时

MCS-51

12MHZ,我们选机的工作频率为期与主频有关,的12倍,所以一间

=2us。我们可以令的周期数,这过指令的执行条时间。 DEL为一个数为126*2=252间=0.1s ,因为单很快其他的指令略不计。该程序3所示。

图3-3延时程序的

工作频率为2-用的8051单片6MHZ。机器周机器周期是主频个机器周期的时12*<1/6M

知道具体每条指样我们就可以通数来确定1秒的双重循坏 循环次次,所以延时时片机的运行速度执行时间可以忽的流程图如图3-

3.3.3外部中断

当有紧急情K1键,进而产生程序入口控制同时加亮黄灯进5s)且倒计时显完毕后四路口全紧急情况有某方以使用K2、K3制东西或南北方禁行。按下控制加5s的黄灯闪

N 控制

况发生时按下外部中断,改变值,则四个路口行闪灯<闪灯时间为示关闭。黄灯闪烁变红灯禁行,处理向上车辆过多 ,可键产生外部中断控向通行,另一方向键后先在四个路口烁。该程序的流程

R5减1后是否为Y R6减1后是否为Y 子程序返回 图如图3-4所示。

中断开始 3.3.4 时间及信号灯

8051虽然有4个8能提供借用的只有P1常用于传送外部传送它的第二功能。因展。因为我们用外部时初值、数码管的输灯的显示都要用到一8051的端口是不够,法有两种:<1)借用I/O端口;<2)采用我们用8255并行接口

当定时器定时为1显示及信号灯显示子信号灯时间 ,同时一色,这时在返回定时显示黄灯的下一个时的灯色的时间显示完器赋初值 ,重新进入

因为发光二极管端口为高电平,对应可以用置位方法点亮管。 LED 灯的显示原加电平的高低来控制而显示不同的字形如上加上7FH所以SP上TTL高电平,全亮则

N N N N N 图C3-4 外部中断流程图将口的值读入并给A 的显示

位I/O端口,但真正口,因为P2和P0口通

A是否为7FH Y 给R2,B,60H,61H分别赋值为01H,01H,00H,00H 地址和数据,P3口也有此,8051通常需要扩输入设定红绿灯倒计出显示、红绿黄信号个I/O端口,显然

A是否为BFH Y 给R2,B,60H,61H分别赋值为02H,01H,00H,01H 需要扩展。 扩展的方外部RAM地址来扩展I/O接口新片来扩充。信片来扩展I/O端口。 秒时程序跳转到时间程序,它将依次显示直显示信号灯的颜子程序定时一秒,在间,这样依次把所有后在重新给时间计数循环。 为共阴极接法,输出的二极管发光,所以红,绿,黄发光二极理:通过同名管脚上所发光二极管是否点量SP,g,f,e,d,c,b,a 管角为0伏,不亮其余为显示为8。 A是否为Y 给R2,B,60H,61H分别赋值为03H,01H,00H,01H A是否为FEH Y 给R2,B,60H,61H分别赋值为00H,00H,01H,01H A是否为Y 给R2,B,60H,61H分别赋值为00H,01H,00H,01H 4 硬件调试与软

R3赋值为0,中断返回 件仿真

系统的硬件电路的设计,当启动系统时,东西红灯,南北绿灯。系统显示状

态如图4-1所示

图4-1 红灯绿灯统的结果

东西南北时系显示

此种状态下,数码管从55倒计时显示到1,然后黄灯闪烁5秒钟图途中蓝点表示低电平,红点表示高电平。

东西绿灯结束后,黄灯闪烁,已警示车辆及行人,通行方向与禁行方向即将改变。其系统显示状态如图4-2所示

图4-2 黄灯闪显示结果

烁时系统的

此时,南北变红,东西红灯绿,以警告车辆通行与禁行方向变。黄灯闪烁时钟。 黄灯闪烁结

绿灯即将即将变及行人,即将改间

5

束后,禁

行与通行方向改变,变为南北红灯,东西绿灯。系统显示状态如图4-3所示

图4-3东西绿系统的显示结

灯南北红灯时

此种状方向红灯禁向绿灯通间55秒钟。数字从55递

数码管后,黄灯开显示结果如

图4-4 黄灯闪

示结果

态下,南北行,东西方行。持续时数码管显示减到1。 递减到图4-4所示

烁时系统的显

1

始闪烁,其

当今有紧殊车辆通过断的方式模键,其系统显5所示

图4-5 下K1时系统显示结

急状况,如特时,用外部中拟,按下K1示结果如图4-

按键的果

此种状态下,仅适用于紧急状况。表示只有特殊车辆<如救护车)能够通行,其他车辆全禁行。当紧急状态解除后,在摁下K1键,又回到系统原来的状态。 当某个方向车辆或行人过多时,让一方向通行,另一方向禁行,可通过K2,K3键控制,当东西方向车辆多时,其系统显示结果如图4-6所示

图4-6 按系统的显示结

下K2键时

此时表向车辆多,K2键使东西行,南北方当路口情况后,按下 K2来的状态。 当南北时,其系统如图4-7所示

图4-7按系统的显示结

示东西方通过按下方向通向禁行,恢复正常键回到原车辆较多显示结果

下K2键时

此时表较多,通过使南北方向方向禁行。恢复正常键回到原来

当两路

为120秒时,其系统显示结果如图4-8所示

图4-8通行120秒时系统的

示南北车辆按下K3键通行,东西当路口情况后,按下K3状态。 口通行方向

方向为显示结果

此时数码时间为

120

过按键开关一PC7和PC5,连在PC0和

管计时秒,通端连在另一端PC1。通

过按下两按键其中的一个实现计时时间60秒和120秒间的切换。 5总结

本系统是以单片机AT89C51芯片为核心部件,实现了能根据实际车流量通过AT89C51芯片设置红、绿灯点亮时间的功能。此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于交通灯这方面的知识。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧<特别是汇编语言)的掌握方面都能向前迈了一大步。加强了我动手、思考和解决问题的能力。电路原理和连接,和芯片上的选择,也略懂。巩固数字逻辑电路的理论知识,并对芯片有了新的认识,懂得它的功能与其它芯片替换等. 更重要的是如何将逻辑电路灵活运用于实际生活。我觉得做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,主要是因为没有动手实践过吧!认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以做课程设计对我们的作用是如此之大。

单片机智能交通灯方案 - 图文

1总体介绍1.1芯片简介AT89C5X芯片简介,AT89C51是AT89C5X系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。AT89C51单片机包含中央处理器、程序存储器(ROM>、数据存储器(RAM>、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器(CPU>是整
推荐度:
点击下载文档文档为doc格式
66ct951e9l0vngk58yua7wp9920csk00zun
领取福利

微信扫码领取福利

微信扫码分享