交通灯课程设计Word格式文档下载.docx

上传人:b****4 文档编号:16584041 上传时间:2022-11-24 格式:DOCX 页数:14 大小:117.61KB
下载 相关 举报
交通灯课程设计Word格式文档下载.docx_第1页
第1页 / 共14页
交通灯课程设计Word格式文档下载.docx_第2页
第2页 / 共14页
交通灯课程设计Word格式文档下载.docx_第3页
第3页 / 共14页
交通灯课程设计Word格式文档下载.docx_第4页
第4页 / 共14页
交通灯课程设计Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

交通灯课程设计Word格式文档下载.docx

《交通灯课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

交通灯课程设计Word格式文档下载.docx

此方案总体分为三个模块:

交通灯转换模块、时间显示模块和一秒时间控制模块。

现分别叙述如下:

交通灯转换模块:

本次设计最初只要求设计东南两个方向的指示灯,如果要增加西北两个方向指示灯,不能只是进行简单的对称增加并同步运行,比方说不能东南两个方向同时允许左拐。

所以在设计上我进行了六种状态的轮换,如下图所示:

图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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1