ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:639.79KB ,
资源ID:25401078      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25401078.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的智能交通灯的设计说明.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的智能交通灯的设计说明.docx

1、基于单片机的智能交通灯的设计说明1总体介绍1.1 芯片简介AT89C5X芯片简介,AT89C51是AT89C5X系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。AT89C51部有128个8位用户数据存储单元和12

2、8个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。AT89C51置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。AT89C51具

3、备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。AT89C51置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。1.2 技术指标用AT89C51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路口交通灯的功能,并对满足特殊的控制要求。每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自

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

5、3键控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁.2 系统硬件电路的设计2.1 AT89C5X单片机部结构及引脚在AT89C5X系列单片机中,有2个系列:子51系列和52子系列。每个系列有若干种型号。51系列有AT89C51、8751和8031。我们以AT89C5X系列单片机的典型型号AT89C51为例来介绍其结构和功能。AT89C5X的部结构框图2-1如下: 图2-1 AT89C51单片机部结构分析上图,并按其功能部件划分可以看出,AT89C5X系列单片机是由8大部分组成的,分别为:一个8位中央处理器CPU(又成为微处理器)、128个字节的片数据存储器RAM

6、、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的复位方式可以自动复位

7、,也可以是手动复位。除此之外,RESET是复用引脚,Vcc掉电其间,此引脚可以接备用电源,以保证单片机部RAM的数据不丢失。 在编程时,EA/Vpp脚还需加上21V的编程电压。AT89C51的引脚图如图2-2所示图2-2 AT89C51引脚图振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除: 整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合

8、,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。2.2单片机的特点与应用单片机的特点:控制功能强、抗干扰性强,可靠性高,工作温度围宽、开发周期短,性价比高,易于产品化。单片机的应用领域:智能化仪表、实时工业控制、机电一体化产品、智能接口、办公自动化、商业营销、家用电器。2.3 主控制系统一个完整的交通灯控制系统相当于一个简单的单片机系统。该系统有交通灯设置电路、单片机、显示电路、复位电路和震荡电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。硬件电

9、路图如图2-3所示图2-3 智能交通灯系统的硬件电路单片机的P0口用于控制8255。8255的PA口和PB口用于控制南北及东 西的通行灯。PC口及P3.0到P3.2口用于4组2位LED计时器的控制,特种车通过时使用外中断0口(P3.3),手动自动转换采用PC口按键。选择8255的工作方式0,在这种情况下三个端口都可以由程序设置为输入和输出。2.3.1系统时钟、复位电路设计单片机的Vcc引脚接+5V 的电源,Vss引脚接地。复位电路为独立的复位电路。RC上电复位电路接施密特电路输入端,施密特电路输出接AT89C51和外围复位电路,这样可是系统可靠的复位。给RST端持续高电平,超过两个时钟周期,则

10、AT89C51单片机复位。其复位电路如图2-4所示图2-4 系统的复位电路时钟电路由两个30PF的微调电容和一个晶振组成。AT89C51部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。2.3.2系统计时显示模块的设计计时显示模块显示PB、P1、P2的输出数据,用于显示通行或禁行时间,且可以实现60秒和120秒的交替显示。控制开关由PC0、PC1控制。用软件编程,采用中断、查询的方法检测按键按下的位置,全采用外部寻址方式。数码显示硬件采用高亮7段LED发光数码管显示,驱动电流由单片机

11、与8255共同提供。PA口输出控制交通灯的红绿灯的交替亮灭。用软件编程对外部I/O口送数据,从而实现交通灯的控制。2.3.3紧急状况模块的设计当特种车辆到来时能自动关闭所有绿灯,所有交通灯显示黄色闪烁状态,让特种车通过。设计中采用外部中断的方式作为特种车通行的状况,使用外部中断0来影响特种车的通行要求。当有特种车辆通过时,按下K1键,低电平经与门连接到外部中断引脚P3.2,是系统进入中断过程,在中断服务程序中,使交通灯显示黄色闪烁的状态。某方向上车辆过多,可以使用K2、K3键控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁。K2、K3键也通过与门连接到外部中断引脚

12、P3.2,采用键盘查询的方式检测哪个按键按下。当K2键按下时,东西方向直亮绿灯,南北方向直亮红灯。K3键按下时,南北方向直亮绿灯,东西方向直亮红灯。用以模拟某个方向车辆过多的状态。3 软件设计流程及描述3.1软件设计先了解实际交通灯的变化规律,假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北绿灯;然后转状态1,南北绿灯灭黄灯闪,延时5秒,东西仍然红灯。再转状态2,东西绿灯通车,南北红灯。过一段时间转状态3,东西绿灯灭黄灯闪,延时5秒,南北仍然红灯,最后回到状态1,不断循环。通过外部寻找的方式,将数据送至PA口,PA口接交通灯,通过对PA口的赋值,实现对交通灯的控制。数码显示的个位和十

13、位的数据通过P2口和P1口传送,百位数据传送用PB口。软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。3.2主程序的设计思路程序的设计流程图反映了系统的设计思路,此交通灯控制器的程序流程图如图3-1所示开始 图3-1 主程序流程图3.3程序设计思路3.3.1每秒钟的设定延时方法可以有两种一种是利用MCS-51部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。我们采用在主程序中设定一个初值为10的软件计数器和使1定时1000毫秒这样每当1到1000毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中

14、,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。其程序流程图如图3-2所示图3-2 定时中断流程图3.3.2软件延时MCS-51的工作频率为2-12MHZ,我们选用的8051单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。DEL为一个双重循坏 循环次数为126*2=252次,所以延时时间=0.1s ,由于单片机的运行速度很快其他的指令执行时间可以忽略不计。该程序的流程图如图3-3所示。图3-3

15、 延时程序的程序流程图3.3.3外部中断控制当有紧急情况发生时按下K1键,进而产生外部中断,改变程序入口控制值,则四个路口同时加亮黄灯进行闪灯(闪灯时间为5s)且倒计时显示关闭。黄灯闪烁完毕后四路口全变红灯禁行,处理紧急情况有某方向上车辆过多 ,可以使用K2、K3键产生外部中断控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁。该程序的流程图如图3-4所示。图3-4 外部中断流程图3.3.4 时间及信号灯的显示8051虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8051通常需要

16、扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/O端口,显然8051的端口是不够,需要扩展。 扩展的方法有两种:(1)借用外部RAM地址来扩展I/O端口;(2)采用I/O接口新片来扩充。我们用8255并行接口信片来扩展I/O端口。当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。由于发光二极管为共阴极接法,输出端口为高电平,对应的二极管发光,所以可以用置位方

17、法点亮红,绿,黄发光二极管。LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如SP,g,f,e,d,c,b,a 管角上加上7FH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8。4 硬件调试与软件仿真系统的硬件电路的设计,当启动系统时,东西红灯,南北绿灯。系统显示状态如图4-1所示 图4-1 东西红灯南北绿灯时系统的显示结果此种状态下,数码管从55倒计时显示到1,然后黄灯闪烁5秒钟图途中蓝点表示低电平,红点表示高电平。东西绿灯结束后,黄灯闪烁,已警示车辆及行人,通行方向与禁行方向即将改变。其系统显示状态如图4-2所示 图4-2 黄灯闪烁时系统的

18、显示结果此时,南北绿灯即将变红,东西红灯即将变绿,以警告车辆及行人,通行与禁行方向即将改变。黄灯闪烁时间5秒钟。黄灯闪烁结束后,禁行与通行方向改变,变为南北红灯,东西绿灯。系统显示状态如图4-3所示图4-3 东西绿灯南北红灯时系统的显示结果此种状态下,南北方向红灯禁行,东西方向绿灯通行。持续时间55秒钟。数码管显示数字从55递减到1。数码管递减到1后,黄灯开始闪烁,其显示结果如图4-4所示图4-4 黄灯闪烁时系统的显示结果当今有紧急状况,如特殊车辆通过时,用外部中断的方式模拟,按下K1键,其系统显示结果如图4-5所示图4-5 按下K1键时系统的显示结果此种状态下,仅适用于紧急状况。表示只有特殊

19、车辆(如救护车)能够通行,其他车辆全禁行。当紧急状态解除后,在摁下K1键,又回到系统原来的状态。当某个方向车辆或行人过多时,让一方向通行,另一方向禁行,可通过K2,K3键控制,当东西方向车辆多时,其系统显示结果如图4-6所示图4-6 按下K2键时系统的显示结果此时表示东西方向车辆多,通过按下K2键使东西方向通行,南北方向禁行,当路口情况恢复正常后,按下 K2键回到原来的状态。当南北车辆较多时,其系统显示结果如图4-7所示图4-7 按下K2键时系统的显示结果此时表示南北车辆较多,通过按下K3键使南北方向通行,东西方向禁行。当路口情况恢复正常后,按下K3键回到原来状态。当两路口通行方向为120秒时

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1