交通灯课程设计Word格式文档下载.docx
- 文档编号:16584041
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:117.61KB
交通灯课程设计Word格式文档下载.docx
《交通灯课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
此方案总体分为三个模块:
交通灯转换模块、时间显示模块和一秒时间控制模块。
现分别叙述如下:
交通灯转换模块:
本次设计最初只要求设计东南两个方向的指示灯,如果要增加西北两个方向指示灯,不能只是进行简单的对称增加并同步运行,比方说不能东南两个方向同时允许左拐。
所以在设计上我进行了六种状态的轮换,如下图所示:
图1交通灯轮换图
时间显示模块:
由于有四路指示灯,所以需要四个数码管来对等待时间进行显示,每个数码管都是十位数,可以选用7-seg-mpx2-ca,此数码管是共阳极的,是高电平点亮。
一秒时间控制模块:
此模块通过89c51内部的定时器/计数器来精确对一秒时间进行判断,然后判断红绿灯或者数码管是否切换。
除了上述三个模块外,另外还有人行道的红绿灯模块和基于中断的控制模块,红绿灯模块通过硬件电路实现,控制模块通过中断来实现。
1.2方案原理图及其说明
图2方案原理图
1)正常运行时
首先进入主程序,提取存储在寄存器里面的时间值,进行倒计时预置数,通过秒脉冲源给倒计数器发送秒脉冲,倒计时器开始倒计时,驱动时间显示器显示,并且交通灯也正常运行,当倒计时器计到0时,自动进入到下一个寄存器并提取时间值,同时控制和改变交通灯的显示……如此往复循环。
2)紧急情况时
当按下紧急开关时,倒计时器一直处于清零状态,车辆通行的交通灯四个方向的红灯以及人行道红灯同时亮起。
并且在紧急情况过后拨回开关即能恢复正常时的最后状态。
如果路口灯出现不正确显示时,按一下初始化按钮,可以对系统进行初始化操作,所有状态全部复位。
另外还有一个对路灯延时的操作,它可以对数码管显示进行加一,并对交通灯延时一秒。
2设计总体框图
图3设计总体框图
3.设计单元电路
3.1单片机芯片AT89C51
在设计之中选取的是C51芯片,芯片包含有一个8位CPU;
一个片内振荡器及时钟电路;
4KBROM程序存储器;
128BRAM数据存储器;
可寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;
32条可编程的I/O线(4个8位并行I/O端口);
两个16位的定时/计数器;
一个可编程全双工串行口;
5个中断源、两个优先级嵌套终端结构。
芯片如下图:
图4单片机芯片AT89C51
AT89C51单片机为40引脚芯片如图2-3所示。
图5AT89C51引脚图
I/O口线:
P0、P1、P2、P3共四个八位P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读ˆ写操作。
P0口也用以输出外部存储器的低8位地址。
由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。
P1口是专门供用户使用的I/O口,是准双向口。
P2口是从系统扩展时作高8位地址线用。
不扩展外部存储器时,P口也可P2口也是准双向口。
P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。
作为第一功能使用时操作同P1口。
P3口的第二功能如表2-1。
控制口线:
PSEN(片外取控制)、ALE(地址锁存控制)、EA(片外储器选择)、RE2SET(复位控制);
电源及时钟:
CCC、VSS;
XTAL1,XTAL2
表1引脚功能表
第一功能标记
第二功能
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
NT0
外部中断0输入
P3.3
NT1
外部中断1输入
P3.4
T0
定时/计数器0外部输入
P3.5
T1
定时/计数器1外部输入
P3.6
WD
外部数据存储器写选通
P3.7
RD
外部数据存储器读选通
3.2数码管芯片7seg-mpx2-ca
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
A、静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位*器*进行驱动。
B、动态显示驱动:
动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制。
这里选择的是由四个数码管7seg-mpx2-ca,7seg示七段数码管,mpx2-表示是两位,ca是表示共阳极。
其芯片如图所示
图67seg-mpx2-ca芯片图
4电路原理说明
4.1主程序框图
图7主程序框图
4.2程序说明
4.2.1初始化程序
ORG0000H
LJMPSTART//跳转到初始化程序
ORG000BH
LJMPDISP//显示中断程序
ORG001BH
LJMPTIME//一秒控制中断程序
ORG0003H
LJMPINX//紧急外部中断程序
ORG0013H
LJMPINY//加一程序
ORG0030H
START:
MOVSP,#60H
MOVP1,#0
MOVR3,#0
MOVTMOD,#11H
MOVTH0,#0D8H
MOVTL0,#0F0H
MOV40H,#3//状态1等待时间
MOV42H,#4//状态2等待时间
MOV44H,#5//状态3等待时间
MOV46H,#6//状态4等待时间
MOV48H,#7//状态5等待时间
MOV4AH,#8//状态6等待时间
SETBEA
SETBET0//开启定时器0
SETBET1//开启定时器1
SETBTR0
SETBTR1
SETBEX0//开启外部中断0
CLRIT0//设置为低电平中断
SETBEX1//开启外部中断1
SETBIT1//设置为下降沿中断
4.2.2交通灯点亮程序
MAIN:
MOVP1,#64H
MOVP2,#04H//点亮东南方向的红灯,西方向的绿灯,北方向的黄灯
MOVR2,40H//取出寄存器40H所存储的时间,给R2
LOOP1:
MOVA,42H
ADDA,R2
MOV30H,A//西方向绿灯的等待时间为40H+42H
MOV32H,R2//北方向黄灯的等待时间为40H
MOV34H,R2//东方向红灯的等待时间为40H
MOV36H,30H//南方向红灯的等待时间为40H+42H
NEXT1:
CJNER2,#0,LOOP1//计时到0时跳转到下一个状态
MOVP1,#4CH
MOVP2,#08H//点亮东西方向的绿灯,南北方向的红灯
MOVR2,42H//取出寄存器42H所存储的时间,给R2
LOOP2:
MOV30H,R2//西方向绿灯的等待时间为42H
MOVA,44H
MOV32H,A//北方向红灯的等待时间为42H+44H
MOV34H,32H//东方向绿灯的等待时间为42H+44H
MOV36H,R2//南方向红灯的等待时间为42H
NEXT2:
CJNER2,#0,LOOP2//计时到0时跳转到下一个状态
4.2.3显示中断程序
DISP:
CLREA
CLRTR0
PUSHACC
PUSHPSW//入栈保护数据
ACALLHEXBCD//显示时间的个位和十位分开,分别存储
MOVR0,#50H//显示西方向数码管的十位
MOVR1,#0//选中西方向的数码管十位显示
LD:
MOVDPTR,#TAB1
MOVA,R1
MOVCA,@A+DPTR
MOVP3,A//输出使其选中要显示的数码管
MOVDPTR,#TAB
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A//显示时间
ACALLDELAY
INCR0//选中下一个存储时间的寄存器
INCR1//选中下一个要显示的数码管
CJNEA,#8,LD//数码管的8位选完后退出中断
EXIT1:
MOVTH0,#0D8H
POPPSW
POPACC//出栈
SETBTR0//开启定时器0中断
SETBEA//开启总中断
RETI
4.2.4一秒控制中断程序
TIME:
CLRTR1
PUSHPSW//入栈保护
INCR3
CJNER3,#20,EXIT0//判断是否等待1s时间
DECR2//如果等待了一秒,即对R2进行减一
EXIT0:
MOVTH1,#03CH
MOVTL1,#0B0H//设置中断时间为50ms
SETBTR1//开启定时器1中断
SETBEA//开启总中断
4.2.5紧急中断程序
INX:
CLREA//关闭总中断
CLRTR0//关闭定时器1中断
CLRTR1//关闭定时器1中断
JBP3.2,KAI//如果p3.2为低电平,执行红灯点亮
MOVP0,#00H
MOVP1,#24H
MOVP2,#09H
JNBP3.2,$
KAI:
SETBTR0//开启定时器0中断
4.2.6等待时间加一中断程序
INY:
INCR2//对R2加一
RETI
5设计心得
在这学期的课程设计中,我通过查找大量资料,以及不懈的努力,培养了独立思考的能力。
更重要的是,我学会了遇到问题时要调整好心态解决问题,而这是日后最实用的,真正对自己有意义的收获。
这次单片机课程设计,使我掌握了如何独立编写程序,编写程序的基本过程及其各阶段的基本任务,并了解了总流程框图的编写思路,对课本上的知识有了更深层次的理解。
课本上的知识永远都是机械的,表面的,只有通过把书本上的知识在实际中实现,才能把原来以为很深奥的东西变得更加容易理解。
另外,在设计的过程中,我发现了自己存在的不足。
比方说,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
但是通过查阅大量有关资料并咨询老师同学,不仅使我克服了障碍,而且使自己学到了不少新的知识,同样收获巨大。
这次设计虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
6参考文献
[1]李朝青.单片机原理及接口技术.北京航空航天大学出版社,2006年
[2]何立民.单片机应用技术大全.北京航空航天大学出版社,1994年
[3]周润景.proteus入门实用教程.机械工业出版社,2007年
[4]李建忠.单片机原理及应用.西安电子科技大学出版社,2002年
[5]潘新民.微型计算机控制技术.电子工业出版社,2003年
附录
元器件清单
表2原件清单
中文名称
元件
代号
数量(个)
单片机
AT89C51
U1
1
数码管
7SEG-MPX2-CA
无
4
红色发光二极管
LED-RED
D1~D4
绿色发光二极管
LED-GREEN
D5~D8
交通灯
TRAFFICLIGHTS
电阻
10WATT0R22
R1~R15
15
与门
74LS08
U3A~U3D
非门
74LS04
U4A~U4D
排阻
RESPACK-8
RP1
38译码器
74LS138
U2
单刀双掷开关
SW-SPDT-MOM
SW1
按钮
BUTTON
2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 课程设计