基于 STC89C52RC单片机 十字路口智能交通灯设计_第1页
基于 STC89C52RC单片机 十字路口智能交通灯设计_第2页
基于 STC89C52RC单片机 十字路口智能交通灯设计_第3页
基于 STC89C52RC单片机 十字路口智能交通灯设计_第4页
基于 STC89C52RC单片机 十字路口智能交通灯设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机课程设计课程设计说明书专业班级: 姓 名: 学 号: 指导教师: 设计时间: 目录1 概述31.1 设计的意义31.2 设计的思想31.3 设计满足的基本功能42 系统方案设计42.1 系统方案的选择.4 2.2 系统方案的确定.43 系统硬件设计3.1 显示部分电路设计53.2 时钟部分电路设计63.3 复位部分电路设计6 3.4 LED显示电路.74 系统软件设计74.1 应用系统软件设计要求74.2 主程序模块的设计84.3 延时程序模块的设计105 Protel软件仿真105.1 具体仿真结果显示106 课程设计体会10参考文献117.附录.12附1: 源程序代码12附2: 系统

2、原理图19摘要 本设计是关于单片机控制的交通灯模拟系统的设计。该设计中用LED灯来模拟信号灯。利用STC89C52RC单片机,调用延时程序对通行时间进行倒计时,从P0口输出并显示在数码管上,P1控制LED的显示,P2通过74LS138译码器控制数码管的位选,以此来实现十字路口交通灯的指示功能,当出现紧急情况时,通过按下P3.2产生中断,路口全部显示红灯,一段时间后可恢复原来的状态。根据交通灯系统所需要实现的功能要求,先画出程序部分的流程图和主程序流程图,然后根据流程图写出其子程序。从而通过模拟系统的仿真来实现该设计所要求的功能。此交通灯系统要求实现如下的的功能:1)南北方向(主干道)车道和东西

3、方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为80秒、支干道每次通行间为60秒。2)在绿灯转为红灯时,要求黄灯先闪亮3秒钟,才能变换运行车道;3)当出现紧急情况时,四个路口全部显示红灯,一段时间后恢复原来状态。关键字 :单片机 交通灯系统 LED指示灯 74LS138译码器1概述1.1设计意义交通的发达程度,是一个城市发达程度的指标之一,由此可见对交通的管理则显得越来越重要。然而交通灯又是城市交通中的重要指挥系统,它与人们日常生活密切相关随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。因此对于复

4、杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利安全的通过十字路口。单片机自问世以来,性能不断提高和完善,其资源又能满足很多场合的应用,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉,其易于产品化、抗干扰能力强、可在各种恶劣环境下可靠的工作等特点。特别是它强大的面向控制能力,使它在工业控制领域,智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。另外,考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用STC89C52RC单片机来实现十字路口交通信号灯的控

5、制。 正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,(如有救护车或警车到来时,应优先让其通过)。再者,单片机课程设计是电气自动化本科学生的必修课程。通过交通灯模拟系统的设计可以进一步认识单片机在控制系统中的重要性。在完成理论学习和必要的实验后,学生掌握了单片机的基本原理和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。交通灯模拟系统的课程设计既让学生巩固了课本学到的理论,还让学生学习了单片机硬件电路设计和用户程序设计的整个过程,同时学习了查阅资料、参考资料的方法。单片机的课程设计主要是通过学

6、生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对单片机的认识,充分发挥学生的个体创新能力。1.2 设计的思想该设计在熟练掌握单片机及其仿真系统的使用方法基础上,综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,设计一个采用STC89C52RC单片机控制的交通灯控制电路。根据设计功能及要求,我们可得系统的原理框图如图所示。图一:设计系统的原理框图根据系统的原理框图,分别分析各部分电路的元器件的功能以及选择合适的元件。具体设计思路如下:收集并整理资料,硬件设计,软件设计,Protel仿真,设计体会与总结。1.3 设计满足的基本功能1)南北方向(主干道)车道和东西

7、方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为80秒、支干道每次通行间为60秒。2)在绿灯转为红灯时,要求黄灯先闪亮3秒钟,才能变换运行车道;3)当出现紧急情况时,四个路口全部显示红灯,一段时间后恢复原来状态。2 系统方案设计2.1 系统方案的选择交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯,在软、硬件方面采取一些改

8、进措施,,使交通灯在控制中灵活而有效。2.2 系统方案的确定硬件系统是指构成单片机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。该交通灯拟系统的硬件部分主要显示和运算部分组成。按照题目的设计要求,本课题需要使用LED数码管显示和指示灯显示。在该交通灯系统的设计中采用STC89C52RC单片机。3 系统硬件设计3.1 显示部分电路设计数码管显示器有两中工作方式:静态显示方式和动

9、态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示信号,与各数码管接口的I/O口是专用的。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时

10、都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。各数码管在显示过程中轮流得到显示信号,与各数码管接口的I/O口是共用的。该设计采用如下所示的数码管,分别显示南北和东西灯的剩余时间。片选部分和数码段显示部分,分别接单片机管脚的P2口和P0口。其中,A到G为码段控制端口,P2.0,P2.1,P2.2为片选端口。如下图所示:图二:数码管显示电路3.2 时钟部分电路设计 时钟电路用于产生STC89C52RC单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码

11、,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12MHz晶振和两个30Pf瓷片电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为单片机提供标准时钟。其中两个瓷片电容起微调作用。 如下图所示:图三:时钟电路3.3 复位部分电路设计复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。该设计采用加电直接复位,复位电容采用10uF,电阻1000欧

12、,为了节省元件,没有采用上电加按键模式。加电瞬间,RES管脚为高电平。通过电阻回路放电,使电压逐渐降为零,从而实现了复位功能。其连接图如下图所示: 图四:复位电路3.4 LED显示电路通过电阻与发光二极管相连,不同颜色的发光二极管另一端接P1口(低电平有效)。图下图示:图五:LED灯显示电路4 软件设计4.1 应用系统软件设计要求在进行应用系统的总体设计时,软件设计与硬件设计应统一考虑,相结合进行。当系统的电路设计定型以后,软件的任务也就明确了。一般来说,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执

13、行模块和操作者的关系,在系统软件中充当组织协调角色。我们设计时,应从以下几个方面考虑:1)根据软件功能的要求,将系统软件分为若干个相对独立的部分。设计出合理的软件总体结构,使其清晰、简捷、流程合理。2)各功能程序实行模块化、子程序化。3)在编写应用软件之前,应绘制出程序流程图。 4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。 本设计采用了模块化设计,主要由主程序模块、功能实现模块两大部分模块组成。4.2 主程序模块的设计主程序流程图如下图所示:该交通信号灯控制系统的四中工作状态(东西方向的交通灯为例):(1)东西方向A车道绿灯亮,南北方向B车道红灯亮。表示南北方向B车道

14、上的车辆禁止通行,东西方向A车道允许通行。绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。(2)东西方向A车道黄灯亮,南北方向B车道红灯亮。表示东西方向A车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,南北方向B车道禁止通行。黄灯亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。(3)东西方向A车道红灯亮,南北方向B车道绿灯亮。表示东西方向A车道上的车辆禁止通行,南北方向B车道允许通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。(4)东西方向A车道红灯亮,南北方向B车道黄灯亮。表示东西方向A车道禁止通行,南北方向B车道上未过限停车线

15、的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第(1)种工作状态。(5)当出现紧急情况时候,按下P3.2可进行中断,此时所有路口出现红灯,当缓冲时间到时,中断返回到之前的状态。 控制灯流程图如下: 中断流程图如下:图六:控制灯与中断流程图4.3 延时程序模块的设计延迟程序块是要生成一定的是时间延时,这在数码管显示模块中会用到延迟程序,以满足足动态扫描时数码管的闪亮能产生视觉效果。5 Protel软件仿真5.1 Protel软件系统仿真如硬件系统图所示接线,图中,在十字路口的红,黄,绿交通灯中A道的两组同色灯连在起,B上的也互联,受STC

16、89C52RC的P1.2-P 1.7控制。打开keil软件调试环境,把已经编好的程序输入,保存为“.asm”格式的,然后编译,系统自动生成“.hex”文件。设置好仿真器后,编译程序无误后调试执行程序,结果显示符合要求。具体仿真结果见Protel里仿真图形。6 课程设计体会这次课程设计经过一个假期的反复琢磨与修改,终于完成了。从查资料,整理资料到读程序,写程序,改程序,仿真直至通过老师的验收,一切都充满了刻苦与艰辛,其间充满了挫折可是同时又伴随着欢乐。通过此次课程设计。培养了我们综合运用所学的基础理论课、技术基础课、专业课的知识和实践技能去分析和解决实际工作中的一般实际应用技术问题的能力,使我们

17、建立了正确的设计思想,学会了如何把所学的理论知识运用到实践当中去。掌握了单片机控制系统的原理、并进一步巩固、扩大和深化了我们所学的基本理论,基本知识和基本技能,提高了我们的逻辑思维能力。同时,这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但是这毕竟是第一次做,难免会遇到过各种各样的问题。我们难点的突破主要来自己于小组成员与老师指导老师的交流,交流使我们获得更多信息,开拓了思路,因此要重视与别人的交流,

18、同时在设计的过程中发现了我们自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。参考文献1. 李全利.80C51单片机原理及接口技术(第二版).高等教育出版社,20092. 张毅刚.新编MCS-51单片机应用设计(第3版).哈尔滨工业大学出版社,20063. 马家辰.MCS-51单片机原理及接口技术(修订版)哈尔滨工业大学出版社民20014. 何立民.MCS-51系列单片机应用系统设计. 北京:北京航空航天大学出版社19905. 侯玉宝,基于protues的51系列单片机设计与仿真. 北京:电子工业出版社 20096. 陈文芗 单片机原理与应用 .中国机械教育协会组编 附录附1

19、源程序代码 ORG 0000H LJMP START ORG 0003H LJMP INTT ORG 000BH LJMP TIME0 ORG 0100H START:MOV 26H,#60 ;东西通行时间初始值,存到26H单元 MOV 25H,#80 ;南北通行时间初始值,存到25H单元;.开 中断. SETB EA SETB EX0 SETB ET0 SETB PT0 ;设置定时器T0为高优先级 SETB IT0;.东西绿灯南北红灯 . DXLD: MOV R3,26H ; 东西通行60秒 (26H)=60, (DXLD即东西绿灯) DXLD1: MOV P1,#6FH ; 点亮东西绿灯南

20、北红灯 MOV 24H,R3 ; 为东西方向显示时间做准备 MOV A,R3 ; ADD A,#3 ; 黄灯的时间差 MOV 23H,A ; 为南北方向显示时间做准备 LCALL DISP3 ; 时间显示 ,其中有0.5秒延时 LCALL DISP3 ; 凑够1秒时间 DJNZ R3,DXLD1 ; 判断60秒是否已完,否则继续东西绿灯南北红灯;.南北红灯东西黄灯闪烁亮 . L2: MOV R2,#3 ; 转入黄灯亮3秒 HD1: MOV 22H,R2 ; 为显示做准备 MOV P1,#7BH ; 点亮南北红灯东西黄灯 LCALL DISP2 ; 显示时间,并延时0.5秒 MOV P1,#7F

21、H ; 点亮南北红灯关闭东西黄灯 LCALL DISP2 ; 显时,且再延时0.5秒以便凑够1秒 DJNZ R2,HD1 ; 判断3秒是否到,若未到继续闪灭东西黄灯 ;. .南北绿灯东西红灯. NBLD: MOV R1,25H ; 南北通行时间80秒(25h)=80,(NBLD即东西绿灯) NBLD1: MOV P1,#9FH ; 点亮南北绿灯东西红灯 MOV 20H,R1 ; 为南北方向显示时间做准备 MOV A,R1 ; ADD A,#3 ; MOV 22H,A ; 为东西方向显示时间做准备 LCALL DISP1 ; 显示通行所剩时间,其中有0.5秒延时 LCALL DISP1 ; 再次

22、显示以便数码管不闪,且再延时0.5秒以便凑够一秒 DJNZ R1,NBLD1 ; 判断80秒是否已完,若未完则从新显示、延时;.南北黄灯. 东西红灯. L3:MOV R2,#3 ; 黄灯闪烁亮3秒 HD:MOV P1,#0B7H ; 点亮黄灯 MOV 22H,R2 ; 为显示时间做准备 LCALL DISP2 ; 黄灯闪亮剩时显示 ,其中延时1秒 MOV P1,#0BFH LCALL DISP2 DJNZ R2,HD ; 判断3秒是否已完,若未完则从新闪灭、延时和显示 JMP STARTINTT:MOV TH0,#HIGH(65536-1000) ;送初值定时1ms MOV TL0,#LOW(

23、65536-1000) MOV TMOD,#01H ;T0工作于方式一 MOV R4,#0 SETB TR0 MOV 30H,#5 ;设定中断时间为5秒 MOV p1,#3FH ;红灯全部点亮 QQ:CJNE R4,#1000,KK ;循环1000次,为1秒 MOV R4,#0 DEC 30H KK:MOV A,30H ;为显示做准备 LCALL TRAN MOV A,30H LCALL TRAN1 MOV A,30H CJNE A,#0,QQ CLR TR0 RETITIME0:MOV TH0,#HIGH(65536-1000) MOV TL0,#LOW(65536-1000) INC R4

24、 CPL P3.0 ;产生方波信号 RETI ;.延时程序. . DELAY:ACALL DELAY1 ; 10ms延时 ACALL DELAY1 RET DELAY1:MOV R6,#50 ; 5ms延时,(5ms=50*50*2us) DE6:MOV R0,#50 DE7:DJNZ R0,DE7 DJNZ R6,DE6 RET;.南北通行的时间显示子程序.(其中有0.5秒延时). DISP1:MOV R7,#25 ; 以下调用四次5毫秒延时程序,故25*4*5毫秒=0.5秒 RP1:MOV A,20H ; 南北方向要显示的时间移到寄存器A LCALL TRAN MOV A,22H LCALL TRAN1 DJNZ R7,RP1 ; 是否已循环25次?(25次才够0.5秒) RET;.黄灯的时间显示子程序. DISP2:MOV R7,#25 ; 以下调用4 次5毫秒延时程序,故25*4*5=0.5秒 RP2: MOV A,22H ; 要显示的时间移到寄存器A LCALL TRAN MOV A,2

温馨提示

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

评论

0/150

提交评论