基于单片机的交通灯控制器.docx
- 文档编号:6116167
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:11
- 大小:108.16KB
基于单片机的交通灯控制器.docx
《基于单片机的交通灯控制器.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制器.docx(11页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯控制器
基于单片机的交通灯控制器
摘要
红黄绿交通灯控制器采用单片机及程序存储器的扩展控制,实现控制器的功能要求,例如红黄绿灯的交替闪烁,定时等等。
单片机将CPU,存储器,定时器/计数器及各接口电路组成,具有良好的性价比。
本控制器可分时段进行道路的管制,还可在紧急时刻进行手动控制,实施道路路况的控制。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
本系统实用性强、操作简单、扩展功能强。
关键词:
单片机交通灯闯红灯检测车流量
1单片机概述
单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。
单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
2.芯片简介
8051是MCS-51系列单片机的典型产品,8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM):
程序存储器以程序计数器PC作地址指针,通过16位
地址总线,可寻址的地址空间为0000H-0FFFFH共64K字节,其访问指令为MOVC。
用于存放程序指令码与固定的表格等。
80C51单片机中内部和外部共64K字节程序存储器的地址空间是统一的。
对于有于有内部ROM的单片机,在正常运行时,应把
引脚接高电平,使程序从内部ROM开始执行。
当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。
定时/计数器(ROM):
80C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:
80C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
每个口有8个引脚,共有32个I/O引脚,每一个并行I/O口都能用作输入或输出。
各口的第一、第二功能如下:
I/O口引脚第一功能第二功能
P0口P0.0~P0.7输入与输出分时的传送地址低8位与数据线
P1口P1.0~P1.7输入与输出无第二功能
P2口P2.0~P2.7输入与输出传送地址的高8位
P3口P3.0~P3.7输入与输出P3.0—RXD:
串行口输入端
P3.1—TXD:
串行口输出端
P3.1—TXD:
串行口输出端
P3.2—
:
外部中断0中断请求输入端
P3.3—
:
外部中断1中断请求输入端
P3.4—T0:
定时器/计数器0外部输入端
P3.5—T1:
定时器/计数器1外部输入端
P3.6—
:
外部数据存储器写选通信号
P3.7—
:
外部数据存储器读选通信号
四个通道口都有一种特殊的线路结构,每个口都包含一个锁存器,即特殊功能寄
存器P0-P3,一个输出驱动器和两个(P3口有三个)三态缓冲期。
这种结构在数据输出时,可以锁存,即在重新输出新的数据之前,口上的数据一直保持不变。
但对于输入信号是不锁存的,所以外设欲输入的数据必须保持到取数指令执行(把数据读取后)为止。
图2-1是80C51单片机的内部结构框图。
若出去图中的存储电路和I/O部件,剩下的便是CPU。
它可以分为运算器和控制器两部分。
运算器功能部件包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器TMP1、TMP2、程序状态字寄存器PSW等。
控制器功能部件包括程序计数器PC、指令寄存器IR、指令译码器ID、定时控制逻辑电路CU、数据指针寄存器DPTR、堆栈指针SP及时钟电路等。
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,图2-2是它们的DIP封装引脚图,如图40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
图中,RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
3.方案设计
3.1设计思路
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
设东西道比南北道的车流量大,指示灯燃亮的方案如表3-1。
表3-1
南北道
绿灯亮
黄灯亮
红灯亮
红灯亮
……
25S
5S
25S
5S
……
东西道
红灯亮
红灯亮
绿灯亮
黄灯亮
……
对表3-1的说明:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为25秒。
(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。
时间为25秒。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
3.2整体设计图
整体设计图如图3-2所示:
图3-2整体设计图
3.3晶振电路设计
晶振电路图如下图3-3所示。
图3-3晶振电路
元器件的选取原则:
传统做法,但能够实现所需,即最简单也最是实用。
电容选取30pF,晶振为30MHz。
3.4交通灯工作流程图
对于一个交通路口来说,要根据其车流量来决定其红路灯的设计时间,所以用公式:
车流量=车流/时间来表示。
由东西道和南北道的车流量分别设计其红灯亮和绿灯亮的时间,假设南北道车流量大于东西道车流量,可得红绿灯工作流程图如下图3-4所示。
图3-3红绿灯工作流程图
4.心得体会
通过这次交通灯的设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。
5.参考文献
[1]张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998
[2]余锡存曹国华.单片机原理及接口技术[M].陕西西安电子科技大学出版社,2000.7
[3]雷丽文等.微机原理与接口技术[M].北京电子工业出版社,1997.2
[4]李朝青.单片机原理及接口技术(第3版).2005.10
[5]蔡朝洋.单片机控制实习与专题制作.北京航空航天大学出版社,2006.7
[6]楼然苗.单片机课程设计指导.北京航空航天大学出版社,2007.9
6.实验程序源代码
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTT0
ORG0013H
LJMPINTT1
ORG001BH
LJMPTT1
ORG0100H
TT1:
MOVTH1,#0D8H;定时器1,定时10us
MOVTL1,#0F0H
DJNZR6,EXIT
MOVR6,#100;定时器定时100次
MOVR1,#0FFH
EXIT:
RETI
INTT0:
MOVP1,#0BEH;外部中断0,
JBP3.4,$
RETI
INTT1:
MOVP1,#0BBH;外部中断1,
JBP3.4,$
RETI
ORG1000H
MAIN:
MOVR6,#100;主程序;
MOVR1,#00H
MOVTMOD,#10H;初始化
MOVTH1,#0D8H
MOVTL1,#0F0H
MOVIE,#8DH
MOV20H,#25
MOV21H,#5
MOV22H,#15
MOV23H,#30
MOV24H,#20
SETBTR1
ST1:
MOVP1,#0EBH;第一个状态,主干道亮绿灯、支干道亮红灯;
CJNER1,#0FFH,TZ1
MOVR1,#00H
DEC20H
DEC23H
TZ1:
MOVR2,20H
MOVR3,23H
LCALLDISP;调用显示子程序。
MOVA,20H
CJNEA,#00H,ST1
MOV20H,#25
ST2:
MOVP1,#0EDH;第二个状态,主干道亮黄灯、支干道亮红灯;
CJNER1,#0FFH,TZ2
MOVR1,#00H
DEC21H
DEC23H
TZ2:
MOVR2,21H
MOVR3,23H
LCALLDISP;调用显示子程序。
MOVA,21H
CJNEA,#00H,ST2
MOV21H,#05
MOV23H,#30
ST3:
MOVP1,#0BEH;第三个状态,主干道亮红灯、支干道亮绿灯;
CJNER1,#0FFH,TZ3
MOVR1,#00H
DEC24H
DEC22H
TZ3:
MOVR2,24H
MOVR3,22H
LCALLDISP;调用显示子程序。
MOVA,22H
CJNEA,#00H,ST3
MOV22H,#15
ST4:
MOVP1,#0DEH;第四个状态,主干道亮红灯、支干道亮黄灯;
CJNER1,#0FFH,TZ4
MOVR1,#00H
DEC24H
DEC21H
TZ4:
MOVR2,24H
MOVR3,21H
LCALLDISP;调用显示子程序。
MOVA,21H
CJNEA,#00H,ST4
MOV21H,#05
MOV24H,#20
LJMPST1;跳转到第一个状态。
DISP:
MOVA,R2;显示子程序。
MOVB,#10
DIVAB
MOV60H,A
MOV61H,B
MOVA,R3
MOVB,#10
DIVAB
MOV62H,A
MOV63H,B
MOV40H,#04H
MOVR5,#0FEH
MOVR0,#60H
LLP:
MOVA,@R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,R5
MOVP2,A
LCALLDELAY1
MOVP2,#0FFH;注意,这里是程序修改的地方,令显示器熄灭,以免产生残影
RLA
MOVR5,A
INCR0
DJNZ40H,LLP
RET
DELAY1:
;延时子程序
MOVR4,#12
DL2:
MOVR7,#12
DJNZR7,$
DJNZR4,DL2
RET
TABLE:
DB3FH,24H,5dH,75H,66H
DB73H,7bH,25H,7fH,77H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通灯 控制器