其于AT89S52单片机交通灯控制系统的设计_第1页
其于AT89S52单片机交通灯控制系统的设计_第2页
其于AT89S52单片机交通灯控制系统的设计_第3页
其于AT89S52单片机交通灯控制系统的设计_第4页
其于AT89S52单片机交通灯控制系统的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广 西 师 范 学 院 课 程 设 计论文(设计)题目: 其于AT89S52单片机交通灯控制系统的设计 系 别: 物理与电子工程学院 专 业: 电子信息工程 (职师) 年 级: 2010级 姓 名: XXX 学 号: XXX 指导教师: XX 时 间: 2013年6月27日 目 录 摘 要 2 关键词 2 一、设计任务与要求 2 二、方案设计与论证 2 方案 2 三、硬件单元电路设计与参数计算 3 1. 时钟电路模块 3 2. 复位电路模块 4 3. 主控电路模块 4 4. 交通灯控制模块 5 5. 紧急通车电路模块 6 四、软件设计与流程图 6 五、总原电路及元器件清单 8 1总原理图 8

2、2. PCB制板图 9 3.仿真结果分析 9 4元件清单 10 六、安装与调试 10 1. 电路安装 10 2. 电路调试 10 3. 软件调试 10 七、性能测试与分析 11 八、结论与心得 11 九、参考文献 11 十、程序清单 12摘要:近年来随着科技的飞速发展,单片机的应用正在不地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

3、本系统采用单片机AT89S52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。关键词:1.单片机最小系统。2.红、黄、绿LED交通灯。3.紧急通车开关。一、设计任务与要求 用AT89S52单片机控制一个交通信号灯系统,晶振采用12MHZ。设A车道与B车道交叉组成十字路口,A是主道,B是支道。设计要求如下:用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。正常情况下,A、B两车道轮流放行,A车道放行50s,其中5s用于警告;B车道放行30s,其中5s用于警告。交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。在B 车道放行期间,若A车

4、道有车而B车道无车,按下开关K1 使 A车道放行15s;在 A车道放行期间,若B车道有车而A车道无车,按下开关K1 使B 车道放行15s。有紧急车辆通过时,按下K2开关使 A、B车道均为红灯,禁行20s。二、方案设计与论证方案: 交通控制系统主要控制A、B两车道的交通,以AT89S52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过2个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。根据设计要求,制定总体设计思想如下:1.正常情况下运行主程序,采用0.5S延时子程序的反复调用来实现各种定时时间。2.一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设置中断为低优

5、先级中断。3.有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置中断为高优先级中断,实现二级中断嵌套。该电路具有电路简单,设计方便,显示亮度高,耗电较少,也非常的可靠等点。总体设计框图如下图所示: 三、硬件单元电路设计与参数计算1.时钟电路模块时钟电路由一个晶体振荡器12MHZ和两个30pF的瓷片电容组成。时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信 号控制下严格地工作。其电路如下图所示: 图3 时钟电路模块2.复位电路模块 复位电路是使单片机的CPU或系

6、统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。本设计采用的是按键复位电路。其电路如下图所示: 图4 复位电路3.主控制系统模块主控制器采用AT89S52,是ATMEL公司生产的一款性能稳定的8位单片机。AT89S52具有1个8KB的FLASH程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16位定时/计数器及1个串行口和6个向量二级中断结构。单片机的P0口分别用于控制南北及东西的通行灯,紧急车辆通行时使用外中断0(P32)和外中断1(P33

7、),进行手动按键,即可转换。其主控电路如下图所示: 图5 主控制系统模块4.交通灯输出控制模块道口交通灯指示采用高亮度红、黄、绿发光二极管进行提示。其图如图6所示 图6 LED显示模块当R=220欧时,按公式A=(5-1.8)/R计算,电路中的电流大小应为A=14.545mA.由于每个路口的通行双向指示处理相同,因此每个端口应具有3A的吸收电流能力。5.紧急通车电路模块 为了实现此功能,利用单片机中断达到目的。利用一个手动按钮开关接至单片机外部中断0,同时在软件设计时将其设定为最高优先级,当其按下时,四方全为红灯,同时将中断位置的PSW、ACC进栈保护,当其计时完了之后,回到原来的位置进行执行

8、。再利用一个手动按钮接至单片机外部中断1当其按下时,如果是东西道是红灯,而南北道是绿灯,则将其置为东西是绿灯,南北是红灯;如果是东西道是绿灯,而南北道是红灯,则将其置为东西是红灯,南北是绿灯。两种情况都是执行完后,回到断点处继续执行。其电路如下图所示: 图8 按键控制电路三、软件设计与流程图1.软件的设计 主程序采用查询方式定时,调用0.5S延时子程序的次数,从而获取交通灯的各种时间。子程序采用定时器1方式1查询式定时,定时器定时50ms,确定50ms循环20次,从而获得1S的延时时间。有车车道的放行的中断服务程序首先要保护现场,因而需用到延时子程序,子程序采用定时器0方式1查询式定时,定时器

9、定时50ms,确定50ms循环20次,从而获得1S的延时时间,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现导致程序混乱。开中断,由软件查询外中断1,判别哪一道有车,再根据查询情况执行相应的服务。待交通灯信号出现后,保持15S的延时,然后,关中断,恢复现场,再开中断返回主程序。紧急车辆出现时的中断服务程序也需要保护现场,但无须关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时20S,确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。2.程序流程图 主程序 有车车道放行时的中断服务程序(外中断1) 中断响应 初始化 开始 A绿灯、B红灯 延时4

10、5S A黄灯、B红灯 延时5S A红灯、B绿灯灯 延时25S A红灯、B黄灯 延时5S 关中断 保护现场 开中断 A道有车吗 B道有车吗 A绿灯、B红灯 延时15S A红灯、B绿灯 关中断 恢复现场 返回 开中断 紧急情况时的中断服务程序(外中断0) 中断响应 返回 恢复现场 延时20S A红灯、B红灯 保护现场五、总原电路及元器件清单1总原理图如图9所示 图9 总的原理图2 PCB制板图如图10所示 图10 PCB板3仿真结果分析 上电或按键复位后东西、南北的灯都为红灯亮;开始工作后主车道绿灯亮次车道红灯亮50S,在这里选定它亮到5S时,主车道绿灯灭,黄灯亮;5S后主车道变为红灯亮次车道绿灯

11、亮30S,在这里选定它亮到5S时,次车道黄灯亮,5S后返回重新执行。按紧急车辆按钮红灯全亮显示时间为20S;有车车道放行按钮按下时,若主车道是绿灯、次车道是红灯,则把主车道变为红灯、次车道变为绿灯,显示15S;若主车道是红灯、次车道是绿灯,则把主车道变为绿灯、次车道变为红灯,显示15S;4.元件清单 如下表所示: 元件名称 型号 数量/个 用途 单片机 AT89S52 1 控制核心晶振 12MHZ 1 晶振电路 电容 30pF 2 晶振电路 电解电容 10uF 1 复位电路 电阻 10K 2 复位电路 发光二极管 LED 12 红、黄、绿灯 电容 0.1u 1 控制核心 驱动器 74LS07

12、1 LED驱动 集成块 74LS04 1 按键电路 集成块 74LS86 1 按键电路 电阻 4,.7K 2 按键电路 按键 4 按键电路 电阻 300 12 LED限流 电源 +5V 1 提供+5V六、安装与调试1. 电路安装打好板后,按照所画的PCB板,一一的把各个元件焊接到所制的板上即可。2. 电路调试电路调试是利用开发系统、基本测试仪器(万用表、示波器等),检查系统硬件中存在的故障。其调试可分为静态调试与动态调试两步进行。静态调试是在系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源

13、与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值。第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 3.软件调试 软件调试是通过对拥护程序的C编程、连接、执行发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。运行程序后,编辑,查看程序是否有逻辑的错误。七、性能测试与分析 系统做好的,进行系统的完整调试。按照所设计的流程图,用单片机跟踪模式程序进行调试,配合相关的硬件动作,可以观察LED的变化和数码管的显示是否正确。同样明确延时时间长短、跳转位置及调用的程序功能。经过观察各检测,我可以看到整个系统的功能都能达到我的设

14、计要求。八、结论与心得以往每次做课程设计,都会感觉自己收获不少。这次单片机课程设计也不例外。做课程设计是为了让我们对平时学习的理论知识与实际操作相结合,在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加综合提高,学会将知识应用于实际的方法,提高和解决问题的能力。第一,在编写软件中,在此过程中我更为熟练得掌握汇编语言各种指令的使用方法,掌握了keil软件的使用。第二,在做原理图和PCB的过程中,使我进一步掌握了protel软件的使用方法。再次熟悉了各种作图工具的应用,而且培养了我在设计原理图时的一些技巧和好的习惯。第三,在做实物的过程中,培养了我认真耐心的工作态度。但是由于专业知识不够扎

15、实和考虑得不够全面,在打印时把图给打印反了,后来转印到电路板上才发现这样是用不了的,后来我不得不重新再做一次板。总之,通过这次课程设计,让我掌握了用单片机设计交通灯的基本方法,增强了我寻找问题,解决问题的能力。培养了我的设计思维,此次课程设计的成功不仅帮助我更好地掌握书本知识,尤其重要的是增强了我的自信,培养了我独立思考的能力。但是此次设计不中之处是不能实现左右弯灯,不有人行道控制灯,不能进行流量控制。九、参考文献 1单片机基础.李广弟、朱月秀、冷祖祁.北京航空航天大学出版社。 2 华成英 童诗白, 模拟电子技术基础(第四版),高等教育出版社。 3 康华光,电子技术基础 数字部分(第五版),高

16、等教育出版社。 4单片机课程设计指导.杨居义.清华大学出版社。 十 、程序清单#include <reg51.h>#define uint unsigned int#define uchar unsigned char#define ON 0#define OFF 1sbit PortNB_Red = P10;sbit PortNB_Yellow = P11;sbit PortNB_Green = P12;sbit PortDX_Green = P13;sbit PortDX_Yellow = P14;sbit PortDX_Red = P15;sbit INT0_key =P32

17、;sbit INT1_key =P33;sbit a =P30;sbit b =P31;void delay(uint ms)uint ti;while(ms-)for(ti=0;ti<112;ti+)if(INT0_key=0 ) break;void main(void)while(1) delay(400); if(INT0_key=0&&a=0)PortNB_Yellow = OFF ;PortNB_Red = OFF;PortNB_Green = ON;/南北绿灯亮15秒PortDX_Yellow = OFF ;PortDX_Red = ON;PortDX_Gr

18、een = OFF;/东西红灯亮15秒 delay(15000);else if(INT0_key=0&&b=0)PortNB_Yellow = OFF ;PortNB_Red = ON;PortNB_Green = OFF;/南北红灯亮15秒PortDX_Yellow = OFF ;PortDX_Red = OFF;PortDX_Green = ON;/东西绿灯亮15秒 delay(15000); elsePortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;/南北黄灯亮5秒PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论