单片机交通灯_第1页
单片机交通灯_第2页
单片机交通灯_第3页
单片机交通灯_第4页
单片机交通灯_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上课程设计报告题 目:交通灯控制系统的设计 专 业:电子信息工程 年 级 学 号:1 学生姓名:张 联系电话:130 完成日期:2015年 6月 12日专心-专注-专业摘 要本设计是关于单片机控制的交通灯模拟系统的设计。主要内容有交通灯模拟系统设计方案,主要功能,各功能模块的介绍,电路设计,硬件部分设计,软件部分设计,模拟系统的仿真调试,设计方法以及课程设计的心得体会等等。关键词: 单片机 交通灯系统 LED显示 ABSTRACTThis design is the design of the single-chip microcomputer control of t

2、raffic simulation system. Main content of traffic simulation system design scheme, main functions, the introduction of each function module, circuit design, hardware design, software part design and simulation system simulation debugging, design method and course design experience, and so on.Key Wor

3、ds: microcontroller The traffic light system LED display目录6891 设计要求及方案选择1.1 设计要求(1)完成交通灯的基本功能。 要求交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向。开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后 (50秒) ,东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(30 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路

4、口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。若有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。以按键为中断申请,表示有急救车通过 。(2)设计电路(3)在KEIL中编辑、编译、调试程序,并在protuse中仿真。1.2 方案选择交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中

5、出现的情况, 如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,,使交通灯在控制中灵活而有效。硬件系统是指构成单片机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。该交通灯拟系统的硬件部分主要由键盘、显示和运算部分组成。按照题目的设计要求,本课题需要使用LED数码管显示和扩展键盘。在该交通灯系统的设计中采用AT89C51单片机。

6、上电复位电路 89S52数据信号LED数码管段码调时电路振荡电路片选交通灯图1.2 系统的原理框图2 理论分析与设计2.1 显示部分电路的分析及设计LED显示器有两中工作方式:静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示信号,与各数码管接口的I/O口是专用的。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码

7、管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。各数码管在显示过程中轮流得到显示信号,与各数码管接口的I/O口是共用的。该设计采用如下所示的数码管,分别显示南北和东西灯的剩余时间。片选部分和数码段显示部分,分别接单片机管脚的P1口和P0口,具体的共阴数码管下见图2.1。其中,A到G为码段控制端口,1,2为片选端口。图2.12.2 时钟部分电路的分析及设计时钟电路用

8、于产生MCS-51单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12MHz晶振和两个30Pf瓷片电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为单片机提供标准时钟。其中两个瓷片电容起微调作用。 如图2.2所示:图2.2 时钟电路2.3 复位部分电路的分析及设计复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,

9、斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。该设计采用加电直接复位,复位电容采用22uF,电阻1000欧,为了节省元件,没有采用上电加按键模式。加电瞬间,RES管脚为高电平。通过电阻回路放电,使电压逐渐降为零,从而实现了复位功能。其连接图如下图2.3所示: 图2.3 复位电路3电路设计3.1软件的设计在进行应用系统的总体设计时,软件设计与硬件设计应统一考虑,相结合进行。当系统的电路设计定型以后,软件的任务也就明确了。一般来说,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量计算、显示、

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

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

12、间间隔时,控制器发出状态转换信号,系统又转换到第(1)种工作状态。东西亮黄灯,南北亮红灯南北亮绿灯,东西亮红灯东西亮绿灯,南北亮红灯开始延时0.5秒东西亮黄灯,南北亮红灯南北亮黄灯,东西亮红灯 救护车通过东西放行返回交通灯控制中的中断控制流程YNYNN 东西放行3.3 电路程序ORG 0000H AJMP MAIN ORG 0003H LJMP EINT0 ; 跳到设定时间中断服务程序 ORG 000BH LJMP EINT1 ; 跳到跳到救护车自动服务程序 ;.数字显示代码. ORG 0100H TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH 主程

13、序 ORG 0300H MAIN: MOV 25H,#50 ; 东西通行时间初始值,存到25H单元 MOV 26H,#30 ; 南北通行时间初始值,存到26H单元 MOV SP,#40H ; CLR P3.0 ; MOV TMOD,#66H ; T0、T1都计数方式,工作模式2 ,启动方式TRi确定 MOV TL0,#255 ; MOV TH0,#0 ; MOV TL1,#255 ; MOV TH1,#0 ; SETB IT0 ; SETB IT1 ; MOV IE,#8FH ; 开中断 SETB TR0 ; T0开始计数 SETB TR1 ; T1 开始计数; .东西绿灯南北红灯. NBLD

14、: CLR P3.0 ; MOV R1,25H ; 东西通行时间50秒(25h)=50, NBLD1: MOV P2,#1EH ; 点亮东西绿灯东西红灯 MOV 20H,R1 ; MOV A,R1 ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; LCALL DISP1 ; DJNZ R1,NBLD1 ; 判断50秒是否已完,若未完则从新显示、延时 ;.东西黄灯闪南北红灯. ShanHD: MOV R2,#3 ; 黄灯闪亮3秒 HD: MOV P2,#1DH ; 点亮黄灯 MOV 22H,R2 ; LCALL DISP2 ; MOV P2,#1FH ; 熄灭黄灯 L

15、CALL DISP2 ; DJNZ R2,HD ; ;.东西红灯南北绿灯 . DXLD: CLR P3.0 ; MOV R3,26H ; 南北通行30秒 DXLD1: MOV P2,#33H ; 点亮东西红灯南北绿灯 MOV 24H,R3 ; MOV A,R3 ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; LCALL DISP3 ; DJNZ R3,DXLD1 ; 判断30秒是否已完 ;.东西红灯南北黄灯闪.ShanHD1: MOV R2,#3 ; 转入黄灯闪亮3秒 HD1: MOV 22H,R2 ; MOV P2,#2BH ; 点亮东西红灯南北黄灯 LCALL

16、 DISP2 ; 显示时间,并延时0.5秒 MOV P2,#3BH ; 点亮东西红灯关闭南北黄灯 LCALL DISP2 ; DJNZ R2,HD1 ; 判断3秒是否到,若未到继续闪灭南北黄灯 AJMP NBLD ;.救护车通过.Jiuhuche: MOV P2,#1BH ; 点亮东西南北红灯 SETB P3.0 ; MOV R4,#10 ; 特殊车辆通过时间10秒 QHD: MOV 27H,R4 ; LCALL DISP4 ; 显示时间 DJNZ R4,QHD ; 判断10秒是否到,若不到继续显示时间 CLR p3.0 ; AJMP NBLD ;.主程序完.;.延时程序. DELAY: AC

17、ALL DELAY1 ; ACALL DELAY1 RET DELAY1: MOV R6,#50 ; DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET;.东西通行的时间显示子程序.(其中有0.5秒延时). DISP1: MOV P0,#0 ; MOV R7,#25 ; RP1: MOV A,20H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#B;

18、 MOV P0,A ; LCALL DELAY1 ; MOV A,21H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP1 ; RET ;.黄灯的时间显示子程序. DISP2: MOV P0,#0 ; MOV R7,#25 ; RP2: MOV A,22H ; MOV DPTR,#TAB ; MOV B,#10 DIV A

19、B ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY ; MOV P1,#B; MOV A,B ; MOVC A,A+DPTR ; MOV P0,A ; LCALL DELAY ; DJNZ R7,RP2 RET ;.南北通行的时间显示子程序. DISP3: MOV P0,#0 ; MOV R7,#25 ; RP3: MOV A,23H ; MOV DPTR,#TAB ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 ; MOV A,B ; MOV

20、C A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 ; MOV A,24H ; MOV B,#10 DIV AB ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY1 ; MOV A,B MOVC A,A+DPTR MOV P1,#B; MOV P0,A ; LCALL DELAY1 DJNZ R7,RP3 RET ;.救护车通过的时间显示子程序. DISP4: MOV P0,#0 ; MOV R7,#50 ; RP4: MOV A,27H ; MOV DPTR,#TAB ; MOV B,#10 ;

21、 DIV AB ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY ; MOV A,B ; MOVC A,A+DPTR ; MOV P1,#B; MOV P0,A ; LCALL DELAY ; DJNZ R7,RP4 RET;.设定时间子程序. ; 根据哪个方向亮绿灯设定那个方向的通行时间,没有绿灯亮不能设定时间,中断, 直接退出。 ;. EINT0: MOV IE,#0 ; 关闭中断允许 MOV A,P2 ; JNB Acc.3,DXSJ ; JNB Acc.0,NBSJ ; POP 28H ; POP 28H ; MOV DPTR,#N

22、BLD ; PUSH DPL ; PUSH DPH ; EXIT: MOV IE,#8FH ; 恢复开中断 RETI ;- - - - -东西通行时间设定 - - - - - NBSJ: POP 28H ; POP 28H ; MOV DPTR,#NBLD ; PUSH DPL ; PUSH DPH ; XSSM1: MOV A,25H ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; 显示时间 LCALL DELAY1 MOV A,P3 JNB P3.2,EXIT ; JNB P3.3,JX ; JNB P3.5,JX1 ; AJMP XS

23、SM1 ; JX: MOV A,25H ; ADD A,#2 ; MOV 25H,A ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; AJMP XSSM1 ; JX1: MOV A,25H ; SUBB A,#2 ; MOV 25H,A ; MOV 20H,A ; ADD A,#5 ; MOV 21H,A ; LCALL DISP1 ; AJMP XSSM1 ; ;- - - - 南北通行时间设定 - - - - - - DXSJ: POP 28H ; POP 28H ; MOV DPTR,#DXLD ; PUSH DPL ; PUSH D

24、PH ; XSSM2: MOV A,26H ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; 显示时间 MOV A,P3 JNB P3.2,EXIT1 ; JNB P3.3,JX2 ; JNB P3.5,JX3 ; AJMP XSSM2 ; EXIT1: LJMP EXIT ; JX2: MOV A,26H ; ADD A,#2 ; MOV 26H,A ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; AJMP XSSM2 ; JX3: MOV A,26H ; SUBB A,#2 ; MOV 26H,A ; MOV 24H,A ; ADD A,#5 ; MOV 23H,A ; LCALL DISP3 ; AJMP XSSM2 ; ;.救护车通过,中断服务程序. EINT1: POP 28H ; POP 28H ; MOV DPTR,#jiuhuche; PUSH DPL ; PUSH DPH ; MOV TMOD,#66H ; T0、T1都计数方式,工作模式2 ,启动

温馨提示

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

评论

0/150

提交评论