单片机控制的交通灯综述.docx
- 文档编号:29388415
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:19
- 大小:174.95KB
单片机控制的交通灯综述.docx
《单片机控制的交通灯综述.docx》由会员分享,可在线阅读,更多相关《单片机控制的交通灯综述.docx(19页珍藏版)》请在冰豆网上搜索。
单片机控制的交通灯综述
一.设计题目:
单片机控制的交通灯
二.设计目的:
在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
通过这次的设计学习,我们对单片机的结构和功能已有了初步的了解和认识。
单片机在交通控制中起到了举足轻重的作用,掌握了单片机的工作原理也就基本了解了交通灯的运作原理。
作为学生,为了更好地掌握单片机的结构和功能,为了进一步加强自己的实践能力,我们设计了以下的一款交通灯。
三.设计任务
本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。
假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。
然后转状态一东西绿灯通车,南北为红灯。
过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。
再转状态三南北绿灯通车,东西红灯。
过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。
最后循环至状态一。
交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。
用十二个发光二极管代替交通灯进行实验设计。
这次设计是《单片机原理与接口技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。
为今后的毕业设计、及从事单片机控制系统的设计与维护奠定坚实的基础。
这次课题设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。
四。
设计思路(原理组成框图、资源分配)
一.
(1)、交通灯控制系统的硬件设计:
交通灯控制系统的硬件设计包括:
存储器的扩展(62256),I/O口的扩展(8255),地址的锁存(74LS373或74LS273),还有反向器(7407)。
数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,FIFO/传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等组成。
(2)、硬件系统的设计具备以下原则:
1.满足系统的设计要求,易于操作维护。
2.系统功能灵活,便于扩展。
3.具有自动诊断功能。
(3)、硬件结构框图(如图3所示)。
图3
硬件系统在该系统中的作用主要是进行数据的传送,有关逻辑的计算,并且提供显示,人为的进行数据的修改,系统的启动,停止等等。
此外系统运行的安全可靠性要靠硬件系统来实现。
(4)、交通灯控制系统的原理框图(如图4所示)。
图4交通灯控制系统的原理框图
图中:
TL:
表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:
表示黄灯亮的时间间隔为5秒。
定时时间到,TY=1,否则,TY=0。
ST:
表示定时器到了规定的时间后,由控制器发出状态转换信号。
由它控制定时器开始下个工作状态的定时。
二.定时器
定时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器构成,要求计数器在状态信号ST作用下,首先清零,然后在时钟脉冲上升沿作用下,计数器从零开始进行增1计数,向控制器提信号TL。
(电路图如图5所示)供模5的定时信号TY和模25的定时
图5定时器电路图
三.控制器
控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。
从ASM图可以列出控制器的状态转换表,如表1所示。
选用两个D触发器FF1、FFO作为时序寄存器产生4种状态,控制器状态转换的条件为TL和TY,当控制器处于Q1n+1Q0n+1=00状态时,如果TL=0,则控制器保持在00状态;如果,则控制器转换到Q1n+1Q0n+1=01状态。
这两种情况与条件TY无关,所以用无关项"X"表示。
(控制器逻辑图如图6所示)
输入
输出
现态
状态转换条件
次态
状态转换信号
ST
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
X
X
0
1
X
X
X
X
0
1
X
X
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
表1
根据表1可以推出状态方程和转换信号方程,其方法是:
将
、
和ST为1的项所对应的输人或状态转换条件变量相与,其中"1"用原变量表示,"0"用反变量表示,然后将各与项相或,即可得到下面的方程:
控制器逻辑图(如图6所示)
四.译码器
74LS138译码器
74LS138译码器有3个输入端,组成8种输入状态,输出端有8个,每个输出端对应8种输入状态的一种,低电平有效。
此外还有3个使能端E3,E2,E1,这3个使能端必须同时输入有效电平,译码器才能工作,即E3=1,E2=0,E1=0。
译码器的主要任务是将控制器的输出Q1、Q0的4种工作状态,翻译成甲、乙车道上6个信号灯的工作状态。
控制器的状态编码与信号灯控制信号之间的关系如表12、4所示。
实现上述关系的译码电路请读者自行设计。
五.交通灯驱动电路(如图7所示)
图7
五.硬件电原理图和连接图
一。
电路图及电路图说明
1)电路图说明
1.这个LED动态显示电路用了一个单片机的一个I/O口P0口。
2.P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138中进行译码。
然后输出段代码经上拉电阻上拉后送到显示器的各显示段的引脚。
3..P03、P04、P05这三个口输出位选信号。
位选信号送到74LS138中经译码产生显示器的位选信号。
4.当输出短代码后,低电平的端口将会把这个口的电平拉低。
所以此时发光二极管将不发光,而高电平的端口则会向这个发光二极管的阳极提供一个高电平,只要这个位被选中,那么这个发光二极管将发光,在在段代码表找查找就能出现响应的数字。
每一个位选电路由一个PNP三极管组成。
当位选口发出低电平,那么这一位的三极管就会饱和导通,由于显示器是共阴的内部结构,所以当三极管饱和导通时相当于将显示器接地。
5.当脉冲到MCS—51单片机时,LED8位显示器就接收信号,并将信号储存到扩展寄存器中,当P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138译码器译码,然后在显示提示符段码中查询显示数字。
6.前面四位显示干道通行时间,后面四位显示支道时间,通过LED显示器的显示来控制车辆的放行、禁行情况。
2)8279的结构及引脚功能:
8279的内部结构由数据缓冲器,I/O控制逻辑,控制和定时器及定时控制电路,扫描计数器,回复缓冲器,FIFO/传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等部分组成.
(a)数据缓冲器及I/O控制逻辑数据缓冲器是一个双向缓冲器,它连接内部总线和外部总线,用于传送CPU和8279之间的命令,数据和状态.I/O控制逻辑完成对芯片的读写控制,芯片选择以及端口选择.
(b)控制和定时器及定时用来寄存操作命令字.
(c)扫描计数器扫描计数器有两种工作方式.一种为外部译码方式.计数器以二进制方式计数,4位计数状态从扫描线SL0-SL3输出,经外部译码器译码后,形成16位扫描信号;另一种为内部译码方式.该方式下,扫描计数器的低二位经内部译码后从SL0-SL3输出,形成4位扫描信号.
(d)回复缓冲器回复缓冲器缓冲并锁存来自SL0-SL7八根回复线的回复信号.
(e)FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM是一个双重功能的8*8RAM.
(f)显示RAM及显示地址寄存器显示RAM用来存储显示数据,容量为16*8位.在显示过程中,存储的显示数据轮流从显示寄存器输出.
在灯火控制实验中,它的片选信号线接Q0、数据选择输入线接的是Q1,所以他的控制口地址是FF82H,数据口地址是FF80H,中断是悬空的。
3)8951最小应用系统
4)管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
8951是片内无程序存储器的供应状态芯片.因此,其最小应用系统必须在片外扩展EPROM.外接程序存储器的地址线A8-A15由P2口提供;A0-A7由P0口通过地址锁存器提供.地址锁存器的锁存信号为ALE.指令数据由P0口读入.程序存储器的取指信号为/ALE.其片选线直接接地.同时必须有单位及时钟电路.
5)8255可编程接口芯片
三个并行I/O口-A口,B口,C口在此设计中用到了A,B两个口。
1)工作方式控制电路;
2)读写控制逻辑电路;
数据总线缓冲器;
二.软件部分
(1)、延时子程序的计算:
采用寄存器R0、R1、R2作为记数值,R2中暂存1,R1中存0。
当减1后变为255即R1中存数256。
R0中存数#0B2H即178。
各指令共占指令周期数为(见图延时程序后所附)
DELAY2延时为:
N=(2+2+2+1+1+2*178)+255*(1+1+2+2*178)=9164。
共计9164个指令周期,而系统晶振为11.0592。
所以T=12/11.0592=1.085(微秒)
延时DELAY2为:
t=9164*1.085/1000000=0.09996
约等于0.1(秒)
通过改变R2的值可以改变延时的秒数。
六.程序流程图
(1)、流程图
首先四个路口所有的灯灭,在东西绿灯亮南北红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒,在南北绿灯亮东西红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒,如此循环。
(2)、程序的执行的表达(如表2)
状态
持续时间/S
东西方向
南北方向
绿
黄
红
绿
黄
红
1
50
亮
灭
灭
灭
灭
亮
2
3
闪
灭
灭
灭
灭
亮
3
2
灭
亮
灭
灭
灭
亮
4
50
灭
灭
亮
亮
灭
灭
5
3
灭
灭
亮
闪
灭
灭
6
2
灭
灭
亮
灭
亮
灭
循环
七.程序清单
(1)、源程序
ORG0000H
SJMPA3;四盏红灯亮
A3:
MOVSP,#60H
MOVA,#24H
MOVP1,A
CLRP3.4
CLRP3.3
SETBP3.5
SETBP3.2;显示5秒
MOVR4,#05H
LOOP1:
MOVR2,#03H
LCALLLP;调显示子程序
DJNZR4,LOOP1
MOVR4,#00H
MOVR2,#03H
LCALLLP;东西绿灯亮,南北红灯亮
A2:
MOVA,#0CH
CLRP3.5
MOVP1,A
SETBP3.3
CLRP3.4
SETBP3.2;显示20秒
MOVR4,#14H
LOOP2:
MOVR2,#03H
LCALLLP;调显示子程序
DJNZR4,LOOP2
MOVR4,#00H
MOVR2,#03H
LCALLLP;调显示子程序
SETBP3.2
CLRP3.3;显示5秒
MOVR4,#05H;东西黄灯亮,南北红灯亮
LOOP9:
MOVA,#14H
MOVP1,A
CLRP3.5
SETBP3.4
MOVR2,#02H
LCALLLP;调显示子程序
MOVR2,#01H;定时
LCALLDELAY;调延时子程序,南北红灯亮
MOVA,#04H
MOVP1,A
CLRP3.4
CLRP3.5
MOVR2,#01H;定时
LCALLDELAY;调延时子程序
DJNZR4,LOOP9
MOVR4,#00H
MOVR2,#03H
LCALLLP;调显示子程序,东西红灯亮,南北绿灯亮
A8:
MOVA,#61H
MOVP1,A
CLRP3.4
CLRP3.3
CLRP3.2
SETBP3.5;显示20秒
MOVR4,#14H
LOOP3:
MOVR2,#03H
LCALLLP;调显示子程序
DJNZR4,LOOP3
MOVR4,#00H
MOVR2,#03H
LCALLLP;调显示子程序
SETBP3.5
MOVR4,#05H
LOOP10:
MOVR2,#02H
LCALLLP;调显示子程序,东西红灯亮,南北黄灯亮
A0:
MOVA,#0A2H
MOVP1,A
CLRP3.4
CLRP3.3
CLRP3.2
MOVR2,#01H;定时
LCALLDELAY;调延时子程序,东西红灯亮
MOVA,#20H
MOVP1,A
CLRP3.4
CLRP3.3
CLRP3.2
MOVR2,#01H;定时
LCALLDELAY;调延时子程序
DJNZR4,LOOP10
MOVR4,#00H
MOVR2,#03H
LCALLLP;调显示子程序
LJMPA2;延时子程序
DELAY:
PUSH2
PUSH1
PUSH0
DELAY1:
MOV1,#00H
DELAY2:
MOV0,#0B2H
DJNZ0,$
DJNZ1,DELAY2
DJNZ2,DELAY1
POP0
POP1
POP2
DJNZR2,DELAY
RET;显示子程序
xian:
MOVA,R4
MOVB,#10
DIVAB
MOVR6,A
MOVDPTR,#TAB
MOVA,B
MOVCA,@A+DPTR
MOVSBUF,A
MOVR7,#0FH
H55S:
DJNZR7,H55S
MOVA,R6
MOVCA,@A+DPTR
MOVSBUF,A
MOVR7,#0FH
H55S1:
DJNZR7,H55S1
LCALLDELAY
RET
这是交通灯的子程序。
它主要是被调用控制各个方向灯亮灭情况和时间。
TAB:
DB0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h
DB0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh;查表子程序
END
八。
设计心得
通过这次的课程设计,让对单片机有了更深一层的了解,也体会了单片机在现实生活中的重要性。
在这次实习中,我能顺利完成交通灯的设计,要感谢安徽工商职业学院,而我在设计中遇到的很多问题,都应该感谢聂凯老师在理论和实操方面的帮助,我才能顺利地完成,也让我学到了很多知识。
同时也要对帮助过我的同学表示谢意。
在以后的学习中,定会更加地努力,以更好的成绩去回报学校及老师的栽培。
九.参考资料
(1)曹天汉.单片机原理与接口技术,北京:
电子工业出版社
(2)刘国荣.《单片微型计算机技术》,机械工业出版社
(3)周慧《微机接口与控制技术》课程设计指导书,湖南工程学院出版
(4)《单片机原理与接口技术》电子工业出版社
(5)《单片微型计算机技术》机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 交通灯 综述