基于Proteus的交通信号灯Word格式.docx
- 文档编号:19157155
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:32
- 大小:283.67KB
基于Proteus的交通信号灯Word格式.docx
《基于Proteus的交通信号灯Word格式.docx》由会员分享,可在线阅读,更多相关《基于Proteus的交通信号灯Word格式.docx(32页珍藏版)》请在冰豆网上搜索。
1.2设计满足的基本功能
(1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。
(2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;
(3)黄灯亮时,要求每秒闪亮一次。
(4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
(5)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。
(6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。
2系统总体方案及硬件设计
2.1系统方案的确定
交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用,但根据实际行车过程中出现的情况,如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,,使交通灯在控制中灵活而有效。
硬件系统是指构成单片机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。
单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。
该交通灯拟系统的硬件部分主要由键盘、显示和运算部分组成。
按照题目的设计要求,本课题需要使用LED数码管显示和扩展键盘。
在该交通灯系统的设计中采用AT89s52单片机。
2.2显示部分电路设计
LED显示器有两中工作方式:
静态显示方式和动态显示方式。
静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。
送入一次字型码显示自行一直保持,直到送入新字型码为止。
这种方法的优点是占用CPU时间少,显示便于监测和控制。
缺点是硬件电路比较复杂,成本较高。
各数码管在显示过程中持续得到显示信号,与各数码管接口的I/O口是专用的。
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
各数码管在显示过程中轮流得到显示信号,与各数码管接口的I/O口是共用的。
该设计采用如下所示的数码管,分别显示南北和东西灯的剩余时间。
片选部分和数码段显示部分,分别接单片机管脚的P1口和P0口,具体的共阴数码管下见图——2。
其中,A到G为码段控制端口,1,2为片选端口。
图——2共阴数码管
2.3时钟部分电路设计
时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。
其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。
在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。
本设计采用12MHz晶振和两个30Pf瓷片电容,他们构成一个稳定的自激振荡器。
该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
为单片机提供标准时钟。
其中两个瓷片电容起微调作用。
如图——3所示:
图——3时钟电路
2.4复位部分电路设计
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
该设计采用加电直接复位,复位电容采用22uF,电阻1000欧,为了节省元件,没有采用上电加按键模式。
加电瞬间,RES管脚为高电平。
通过电阻回路放电,使电压逐渐降为零,从而实现了复位功能。
其连接图如下图——4所示:
图——4复位电路
3软件设计
3.1应用系统软件设计要求
在进行应用系统的总体设计时,软件设计与硬件设计应统一考虑,相结合进行。
当系统的电路设计定型以后,软件的任务也就明确了。
一般来说,软件的功能可分为两大类。
一类是执行软件,它能完成各种实质性的功能,如测量计算、显示、打印、输出控制等;
另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织协调角色。
我们设计时,应从以下几个方面考虑:
(1)根据软件功能的要求,将系统软件分为若干个相对独立的部分。
设计出合理的软件总体结构,使其清晰、简捷、流程合理。
(2)各功能程序实行模块化、子程序化。
(3)在编写应用软件之前,应绘制出程序流程图。
(4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。
本设计采用了模块化设计,主要由主程序模块、功能实现模块两大部分模块组成。
3.2主程序模块的设计
主程序流程图如下图A所示:
该交通信号灯控制系统的四中工作状态(南北方向的交通灯为例):
(1)南北方向A车道红灯亮,东西方向B车道绿灯亮。
表示南北方向A车道上的车辆禁止通行,东西方向B车道允许通行。
绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。
(2)南北方向A车道红灯亮,东西方向B车道黄灯亮。
表示东西方向B车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,南北方向A车道禁止通行。
黄灯亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(3)南北方向A车道绿灯亮,东西方向B车道红灯亮。
表示南北方向A车道允许通行,东西方向B车道上的车辆禁止通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(4)南北方向A车道黄灯亮,东西方向B车道红灯亮。
表示东西方向B车道禁止通行,南北方向A车道上位过限停车线的车辆停止通行,已过停车线的车辆继续通行。
黄灯亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第
(1)种工作状态。
控制灯程序流程图如图——5下:
该设计的主程序中已经包含了显示模块的程序段,具体的主程序如下:
MAIN:
MOV25H,#30;
MOV26H,#20;
MOVSP,#40H;
CLRP3.0;
MOVTMOD,#66H;
T0、T1都计数方式,工作模式2,启动方式TRi确定
MOVTL0,#255;
MOVTH0,#0;
MOVTL1,#255;
MOVTH1,#0;
SETBIT0;
SETBIT1;
MOVIE,#8FH;
开中断
SETBTR0;
T0开始计数
SETBTR1;
T1开始计数
;
.......南北绿灯东西红灯.................
NBLD:
MOVR1,25H;
南北通行时间30秒(25h)=30NBLD即东西绿灯)
NBLD1:
MOVP2,#1EH;
点亮南北绿灯东西红灯
MOV20H,R1;
为南北方向显示时间做准备
MOVA,R1;
ADDA,#5;
MOV21H,A;
为东西方向显示时间做准备
LCALLDISP1;
显示通行所剩时间,其中有0.5秒延时
DJNZR1,NBLD1;
判断30秒是否已完,若未完则从新显示、延时
;
.......南北黄灯闪东西红灯..............
ShanHD:
MOVR2,#5;
黄灯闪亮5秒
HD:
MOVP2,#1DH;
点亮黄灯
MOV22H,R2;
LCALLDISP2;
黄灯闪亮剩时显示,其中延时0.5秒
MOVP2,#1FH;
熄灭黄灯
DJNZR2,HD;
......南北红灯东西绿灯.............
DXLD:
MOVR3,26H;
东西通行20秒
DXLD1:
MOVP2,#33H;
点亮南北红灯东西绿灯
MOV24H,R3;
MOVA,R3;
MOV23H,A;
LCALLDISP3;
DJNZR3,DXLD1;
判断20秒是否已完
.......南北红灯东西黄灯闪.........................................
ShanHD1:
转入黄灯闪亮5秒
HD1:
MOVP2,#2BH;
点亮南北红灯东西黄灯
MOVP2,#3BH;
点亮南北红灯关闭东西黄灯
DJNZR2,HD1;
判断5秒是否到,若未到继续闪灭东西黄灯
AJMPNBLD
.......特种车辆通过..................................
Tezhong:
MOVP2,#1BH;
点亮东西南北红灯
SETBP3.0;
MOVR4,#15;
特殊车辆通过时间15秒
QHD:
MOV27H,R4;
LCALLDISP4;
DJNZR4,QHD;
判断15秒是否到,若不到继续显示时间
CLRp3.0;
AJMPNBLD;
主程序到此完
......延时程序..........
DELAY:
ACALLDELAY1;
10ms延时
ACALLDELAY1
RET
DELAY1:
MOVR6,#50;
5ms延时,(5ms=50*50*2us)
DE6:
MOVR0,#50
DE7:
DJNZR0,DE7
DJNZR6,DE6
.....南北通行的时间显示子程序..(其中有0.5秒延时)........
DISP1:
MOVP0,#0;
MOVR7,#25;
RP1:
MOVA,20H;
MOVDPTR,#TAB;
MOVB,#10
DIVAB;
MOVCA,@A+DPTR;
MOVP1,#00001110B;
MOVP0,A;
LCALLDELAY1;
MOVA,B;
MOVP1,#00001101B;
MOVA,21H;
MOVP1,#00001011B;
MOVP1,#00000111B;
LCALLDELAY1
DJNZR7,RP1;
................黄灯的时间显示子程序...................
DISP2:
RP2:
MOVA,22H;
MOVP1,#00001010B;
LCALLDELAY;
MOVP1,#00000101B;
DJNZR7,RP2
..............东西通行的时间显示子程序.............
DISP3:
RP3:
MOVA,23H;
MOVP1,#00001101B;
MOVA,24H;
MOVP1,#00001011B;
MOVA,B
MOVCA,@A+DPTR
DJNZR7,RP3
3.3功能实现模块的设计
功能实现模块主要由中断处理子程序,键盘处理子程序和显示子程序等组成。
下面仅对INT0中断服务程序部分进行简单介绍。
P3.4与K2连接,K2与地连接。
按下K2,东西南北四个方向全红,也就是说,东西南北四个通道都不能通车,这时可对南北的总时间进行调节。
K1与AT89S52的p3.3管脚相连。
在按下K2的前提下,按下K1,此时显示的是东西的总时间,并可对其调节。
其中中断服务程序流程图下图——6所示:
图——6交通灯控制中的中断控制流程
其外部中断服务程序具体程序块如下:
INT0:
MOVIE,#0;
MOVA,P2;
JNBAcc.3,DXSJ;
P2.3,DXSJ;
JNBAcc.0,NBSJ;
P2.0,NBSJ;
POP28H;
MOVDPTR,#NBLD;
PUSHDPL;
PUSHDPH;
EXIT:
恢复开中断
RETI;
-----南北通行时间设定-----
NBSJ:
XSSM1:
MOVA,25H;
MOV20H,A;
显示时间
MOVA,P3
JNBP3.2,EXIT;
JNBP3.3,JX;
JNBP3.5,JX1;
AJMPXSSM1;
JX:
ADDA,#2;
MOV25H,A;
JX1:
SUBBA,#2;
----东西通行时间设定------
DXSJ:
MOVDPTR,#DXLD;
XSSM2:
MOVA,26H;
MOV24H,A;
JNBP3.2,EXIT1;
JNBP3.3,JX2;
JNBP3.5,JX3;
AJMPXSSM2;
EXIT1:
LJMPEXIT;
JX2:
MOV26H,A;
JX3:
.............特殊车辆通过,中断服务程序...........................
INT1:
MOVDPTR,#Tezhong;
RETI
.............南北通道有车东西通道无车的中断服务程序...............
INT2:
...........东西通道有车南北通道无车的中断服务程序............
INT3:
END
3.4延时程序模块的设计
延迟程序块是要生成一定的是时间延时,这在数码管显示模块中会用到延迟程序,以满足足动态扫描时数码管的闪亮能产生视觉效果。
具体的程序设计如下:
DELAY:
4Proteus软件仿真
4.1仿真开发系统的功能
一个单片机系统经过总体设计,完成了硬件和软件开发。
元器件安装后在系统存储器中放入编制好的应用程序,系统即可运行。
一般来说,仿真开发系统应具有如下的功能:
1)用户样机硬件电路的诊断与检查;
2)用户样机程序的输入与修改;
3)程序的运行、调试(单步运行、设置断点)、排错、状态查询功能;
4)将程序固化到EPROM芯片中。
但对于一个较完善的仿真开发系统,还应具备:
1)有较全的开发软件,同时要求用户可用汇编语言编制应用软件;
开发系统自动生成目标文件;
并配有反汇编软件能将目标程序转换成汇编语言程序;
有丰富的子程序可供用户选择调用。
2)有跟踪调试、运行的能力。
3)为了方便模块化软件调试,还应配置软件转储、程序文本打印功能及设备。
4.2Proteus软件系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Proteus 交通 信号灯