基于51单片机的交通信号灯系统本科论文Word格式文档下载.docx
- 文档编号:21650219
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:26
- 大小:790.36KB
基于51单片机的交通信号灯系统本科论文Word格式文档下载.docx
《基于51单片机的交通信号灯系统本科论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的交通信号灯系统本科论文Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
2.交通出行结构失衡。
3.交通管理技术水平低,交通事故频繁。
为了能够实现城市交通控制系统的最优控制的目标,探索一个有效的控制方法是很有必要的途径。
随着我国经济的快速发展,在不断拓宽交通道路以及修建新的交通要道的同时,交通信号灯的用途变得更加明显。
1.4主要研究内容
本设计主要研究通过单片机来控制交通信号灯、LED数码管显示器、按键电路等模块来实现智能交通控制。
(1)交通信号灯的设计利用相对向的灯的颜色相同,可以将其并联,统一控制,这样也就节省了资源和时间。
(2)相应的,LED数码管倒计时显示器采用两位数显示,这也就需要我们通过自己的专业知识,设计出来。
(3)要实现对交通灯亮灭时间的调整,可以通过按键来进行控制,这就需要设计出通过按键控制调节时间的程序。
2单片机交通控制系统方案设计
2.1单片机交通控制系统的通行方案
本设计系统主要由51单片机控制系统、2位LED数码管显示计时器、发光二极管组成的交通信号灯这几部分组成。
系统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使得本方案可靠稳定。
该设计可直接在I/O口上接按键开关,精简并优化了电路。
结合实际情况,显示界面采用LED数码管显示的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。
2.2单片机交通控制系统基本原理及所要实现的功能
2.2.1基本原理
交通信号灯控制系统主要是由51单片机进行控制,通过烧写程序到单片机,从而控制交通信号灯的亮灭,对LED数码管显示倒计时等功能。
通过这些功能,可以实现对交通的指挥,提示司机与行人安全通过路口的时间。
由上可知,该系统是在单片机为核心的基础之上,再经过按键设置模块产生输入,由LED倒计时模块和信号灯状态模块构成输出。
系统进入工作状态时,LED数码管能够立即显示倒计时,且由交通灯状态显示控制,进行实时控制,从而达到所要实现的要求。
2.2.2所要实现的要求
(1)交通信号灯由一个开关进行启动,并且在工作时,首先东西红灯亮,同时南北绿灯亮。
(2)东西红灯亮维持25S,在东西红灯亮的同时南北绿灯也亮,并维持20S。
到20S时,南北绿灯熄灭,黄灯亮,并维持5S,然后变成红灯,同时东西绿灯亮,维持20S后,黄灯亮5S,然后变成红灯,同时南北变成绿灯。
(3)周而复始。
可以用如下两表来表示交通状态与信号灯的关系:
表1:
交通状态
交通状态1
交通状态2
交通状态3
交通状态4
东西向
禁止通行
停车等待
车辆通行
南北向
表2:
红绿灯状态
状态1
状态2
状态3
状态4
东西红灯、黄灯、绿灯
1,0,0
0,1,0
0,0,1
南北红灯、黄灯、绿灯
注:
0表示灭,1表示亮。
2.3单片机交通控制系统框图
由上部分两节所描述的,可以看出本设计系统主要由51单片机控制系统、2位LED数码管显示计时器、发光二极管组成的交通信号灯这几部分组成,并且是以单片机为控制核心的。
由此,可以得出系统的总体框图如图2-1所示。
图2-1单片机交通控制系统的总体框图
单片机接通电源后,该系统正常工作,由单片机根据程序来控制交通信号灯的变化,同时,在LED数码管上显示时间的倒计时,还能通过按键来实现对交通信号灯亮灭时间的调整等功能。
3系统硬件电路的设计
3.1控制芯片AT89C51单片机
3.1.1AT89C51单片机简介
AT89C51是一个低电压、高性能的微处理器,也被叫做单片机,自身携带4K字节的flash存储器。
可擦除存储器的单片机可以反复擦除1000次,采用的是一种非易失性的材料。
3.1.2AT89C51单片机的主要性能
·
内含4Kb可重编程的FPEROM;
与MCS-51产品指令系统完全兼容;
128×
8位的内部RAM;
4个8位(32根)双向可位寻址的I/O端口;
2个16位的计数/定时器;
全双工方式的串行通道(UART);
6个中断源;
5个向量二级中断结构;
最高时钟振荡频率可达12MHz;
指令集中64条为单周期指令,支持6种寻址方式,共111条指令;
低功耗空闲和掉电方式;
片内振荡器和时钟电路。
3.1.3单片机组成及结构
单片机主要由CPU、存储器、可编程I/O口、定时/计数器、串行口等部分组成,且各部分通过单片机内部的总线连在一起,具体组成功能框图如下图3-1所示。
图3-1单片机基本组成功能框图
1)中央处理器CPU
它是单片机的最核心的部分,它的功能主要就是对单片机进行运算和控制。
2)数据存储器RAM
变化的数据经常被存放在该存储器当中,该存储器的地址现在被广泛地分成256个单元,前一半被分给用户,后一半分给专用的寄存器。
3)程序存储器ROM
单片机的程序和常数被存放在程序存储器里面,因此,该存储器一般为只读存储器,才能长期有效地保存运行。
4)定时/计数器
单片机的定时与计数一般都是由内部的定时/计数器实现。
5)并行I/O口
单片机通过并行的I/O口与外围设备连接,实现单片机内部数据与外围设备数据的输入与输出。
6)串行I/O口
单片机通过全双工串行口的同步与不同步的特性来实现与其他设备之间数据的传输。
7)时钟电路
单片机的时钟电路产生时钟脉冲序列从而实现对单片机的时钟控制。
8)中断系统
当单片机内部或外部发出中断请求时,单片机内部的中断系统就会对该请求进行管理和控制,并且及时的处理。
3.1.4单片机各引脚功能
AT89C51为双列直插(DIP)式封装的51单片机芯片,有40条引脚,其引脚示意及功能分类如图3-2所示。
图3-2单片机引脚图
VCC:
可以用+4~+5.5V的主电源。
GND:
用来接地。
P0口:
由8个端口组成,可以连接输入与输出,有地址/数据总线之称,分别提供8位地址和数据来访问片外存储器。
P1口、P2口和P3口:
都是由8个端口组成,都可以实现输入与输出的双向传输。
RST:
用来对单片机进行复位,使得单片机处于初始状态。
ALE/
:
地址锁存允许输出/编程脉冲输入端。
当单片机访问片外存储器时,该端口输出低位字节的控制信号,并且输入低电平的脉冲序列。
片外程序存储器选通控制信号端。
单片机的程序存储器利用输出负脉冲作为选通信号以此来访问片外程序存储器;
但是当访问片外数据存储器时,这两次有效的信号不再出现。
/VPP:
为内外程序存储器选择/编程电源输入端。
(1)
端口接入高电平时,CPU从片内开始执行;
端口接入低电平时,仅访问片外存储器。
(2)VPP用于闪存编程当中,有12伏和5伏两种。
XTAL1与XTAL2:
为时钟电路引脚,可以用来配置片内振荡器。
3.1.5AT89C51的中断源
AT89C51的中断源可以分为3类,即外部中断、定时中断和串行口中断,其中又可以根据这三类将中断源具体分为5个中断请求源,分别为:
两个外部中断源①
(P2.3)和②
(P3.3),两个片内定时器T0和T1的一处中断源③TF0(TCON.5)和④TF1(TCON.7),⑤1个片内串行口发送和接收中断源T1(SCON.1)和R1(SCON.0)。
其中5个中断源的程序入口地址如表3所示:
表3:
中断源程序入口
中断源
入口地址
外部中断0
0003H
定时器T0中断
000BH
外部中断1
0013H
定时器T1中断
001BH
串行口中断
0023H
3.2LED数码管
LED数码管是一个“8”字型的器件,它的内部是由多个发光二极管通过引线连接组成。
从它的外表可以看出,数码管是由七个横向的发光二极管和一个小圆构成的小数点组成,可以分别用a,b,c,d,e,f,g,dp表示。
通过一个数码管可以表示0~9和A~F这十六个数,但是我们一般用来显示的也就是十进制数,十六进制数很少用。
LED显示器中的发光二极管共有两种连接方法:
(1)共阳极接法
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
(2)共阴极接法
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
LED数码管输出低电平有效时,需选用共阳接法;
输出高电平时,则需选用共阴接法。
如图3-3分别为LED数码管显示器外形和内部的两种接法。
(a)(b)(c)
图3-3LED数码管
(a)外形和引脚(b)共阳接法(c)共阴接法
3.3发光二极管
发光二极管是一个半导体器件,可以直接将电能转换成光能,这在我们日常生活当中还是非常容易看到的。
它由P、N两部分组成,当这两部分连接到一起,就可以形成一个P-N结。
通过这个P-N结的处理,将电能以光能的形式散发出,就形成光亮,而且发出光的颜色也是由P-N结的材料所决定的。
如下图3-3和图3-4所示,分别为发光二极管实物图和它的电路图符号。
图3-4发光二极管图3-5发光二极管电路图符号
根据本设计的特点,应该使用红绿黄三种普通的发光二极管,并且要在路口四个方向上都放置红绿黄三种二极管,且要按照相应的程序控制二极管灯光的亮灭。
3.4各电路模块设计
3.4.1单片机最小系统
主控器采用AT89C51,是美国ATMEL公司生产的一款性能稳定、低功耗的单片机,兼容MCS-51系列产品指令系统及引脚。
片内含4KB的可重复编程的Flash程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,使用5(1±
20﹪)V的电源电压,128×
8位的内部RAM,4个8位的双向可位寻址的I/O端口,2个16位定时/计数器,6个中断源,AT89C51单片机可提供许多高性价比的应用,灵活应用于各种控制领域。
单片机的P1口应用于控制南北及东西方向的交通信号灯,P0口及P2口于4组LED计时器的控制,P3口用于对交通灯亮灭时间的调整。
3.4.2交通信号灯显示电路
道路交通信号灯采用红绿黄三种发光二极管,经过编程和电路设计,通过单片机系统的控制,从而使得路口的车辆与行人能够按照信号灯的指示通过路口,以此来减少交通事故的发生以及缓解或者减少交通堵塞的现象。
在本设计的系统中,可以知道实际上需要控制的交通灯只有6组,相对面的同色灯利用相同的程序进行,因此,可以将相对面的同色灯并联起来接入电路,实现东西向与南北向各自的同步,如下图3-6为四个方向上的交通信号灯的电路图。
图3-6城市十字路口交通指示灯电路
3.4.3倒计时显示电路
在现实生活中,很多地方都是利用多个LED显示器来显示多位的数据,因此,在本次设计的系统当中,对于多位LED显示器构成的显示电路需要两个输出端口,一个用来显示十位数字,另一位用来显示个位数字。
采用七段数码管作为显示电路,两位数码管的静态显示,是将两个数码管的共阳极接连在一起并接+5V,a、b、c、d、e、f、g分别与限流电阻串联后连接到AT89C51的P0口和P2口上。
之所以称为静态显示,是因为各个LED的显示字符一经确定,相应的段码将维持输出不变,直到送入另一个字符的段码为止。
正因为如此,静态显示器的亮度都比较高。
下图3-7为两位数的数码管显示器的电路图。
图3-7时间显示驱动电路
3.4.4按键操作电路
按键一般是用来进行开关或者进行调试的按键,它是最简单的单片机输入设备,通过按键输入从而可以实现简单的人机交流。
按键可以接到VCC(或GND)上,接通电源后,启动按键电路,按键的抬起和按下分别对应单片机I/O端口的低电平和高电平,从而可以控制电路,得到想要的结果。
图3-8按键模块
上图3-8所示的按键电路为调整四个方向红绿灯的亮灭时间,其中一端接地,另一端分别于P3.4和P3.5相连,低电平有效,当按键按下,端口接地,单片机捕捉到信号,从而可以实现对红绿灯亮灭时间的调整。
4系统程序设计
4.1主程序框图
本系统大体上可以由如下模块组成:
交通信号灯控制程序,LED数码管显示倒计时程序,以及对红绿灯亮灭时间的调整程序。
图4-1主程序流程图
4.2交通灯闪烁子程序
在本设计的系统中,可以知道实际上需要控制的交通灯只有6组,相对面的同色灯利用相同的程序控制,即:
南北方向都是红灯,南北方向都是绿灯,南北方向都是黄灯,东西方向都是红灯,东西方向都是绿灯,东西方向都是黄灯。
因此,可以将这6组交通信号灯分别对应单片机的I/O端口,并且,当端口上为低电平时才会运行。
H_REDBITP1.0
H_YELLOWBITP1.1
H_GREENBITP1.2
L_REDBITP1.3
L_YELLOWBITP1.4
L_GREENBITP1.5
其中,L表示东西向,H表示南北向,端口低电平有效。
由上可知,可以将信号灯分为4种状态:
(1)东西红灯亮20S,南北绿灯亮20S;
(2)东西红继续亮5S,南北黄灯亮5S;
(3)东西绿灯亮20S,南北红灯亮20S;
(4)东西黄灯亮5S,南北红灯也继续亮5S。
且这四种状态所对应的单片机P1端口的8个引脚值的十六进制码分别为0F3H、0F5H、0DEH、0EEH。
交通信号灯状态控制的部分程序如下所示:
其中状态之一为:
东西方向红灯亮,南北方向绿亮,并且持续计时20s。
MOVP1,#0F3H
MOV60H,61H
A1:
MOVR1,#50
A2:
ACALLBCD
ACALLDISPCLK
DJNZR1,A2
MOVA,60H
MOVR0,60H
ADDA,#99H
DAA
MOV60H,A
CJNER0,#05H,A1
4.3LED数码管显示子程序
该系统使用LED双数码管来显示倒计时电路,每秒刷新一次,由于需要显示两位数,但十位上的数和个位上的数所运行的方式是有很大区别的。
首先个位数倒计时,当个位数为0时,十位数减1,并且个位数变成9,然后依次进行。
这就需要我们运用单片机知识来设计出合适的程序,以此来实现系统所需要的要求。
LED数码管显示倒计时具体程序如下:
BCD:
;
将十位数送到(51H),个位数送到(50H)
MOVA,60H;
60H单元放的是倒计时值
MOVB,#10H
DIVAB
MOV51H,A
MOVA,B
MOV50H,A
RET
DISPCLK:
显示部分
MOVDPTR,#TAB
MOVA,50H
MOVCA,@A+DPTR
MOVP0,A
CLRP2.6
LCALLDELAY
SETBP2.6
MOVA,51H
MOVCA,@A+DPTR
MOVP0,A
CLRP2.7
SETBP2.7
RET
4.5红绿灯时间调整程序
交通信号灯状态变化的时间也不是一成不变的,当该路口处于车流量高峰时,可以适当地改变信号灯的时间,以此来缓解交通的压力。
本系统将时间调整按键与外部中断引脚P3.3连接,当需要改变时间时,在
端输入低电平,外部中断开始运行,然后就可以调整时间。
红绿灯时间调整程序程序如下:
加减程序
IINT1:
CLREA
JBP3.3,$
PUSHP1
PUSHP2
B1:
JNBP3.1,DDEC
IINC:
JNBP3.0,SINC;
加1程序
ZINC:
;
自动加1
MOVR0,#15
A10:
DJNZR0,A10
MOVA,60H
ADDA,#01H
DAA
JNBP3.3,B1
JMPJS
SINC:
手动加1
MOVR3,#20
A11:
DJNZR3,A11
B2:
JBP3.3,JS
JNBP3.4,SINC
JMPB2
DDEC:
减1程序
JNBP3.0,SDEC
ZDEC:
MOVR4,#15
A12:
DJNZR4,A12
JMPB1
SDEC:
手动减1程序
MOVR5,#20
A13:
DJNZR5,A13
B3:
JNBP3.4,SDEC
JMPB3
JS:
MOV61H,60H
POPP2
POPP1
SETBEA
RETI
5交通灯控制系统仿真与调试
5.1开发软件—KeilC51
KeilC51是由美国一家公司开发出来的一种办公应用软件,在51单片机设计中可以兼容C语言开发系统,这是一项很实用的应用软件。
KeilC51通过一个集成开发环境将C语言编辑器和仿真调试器等其他应用结合起来,组成一个应用广泛的应用软件。
此外,Keil比汇编程序简单,功能上也更加强大,可读性也强,并且还易维护和学习,是一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 交通 信号灯 系统 本科 论文