基于单片机的交通灯控制系统毕业设计论文Word下载.docx

上传人:b****5 文档编号:20472562 上传时间:2023-01-23 格式:DOCX 页数:31 大小:278.84KB
下载 相关 举报
基于单片机的交通灯控制系统毕业设计论文Word下载.docx_第1页
第1页 / 共31页
基于单片机的交通灯控制系统毕业设计论文Word下载.docx_第2页
第2页 / 共31页
基于单片机的交通灯控制系统毕业设计论文Word下载.docx_第3页
第3页 / 共31页
基于单片机的交通灯控制系统毕业设计论文Word下载.docx_第4页
第4页 / 共31页
基于单片机的交通灯控制系统毕业设计论文Word下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于单片机的交通灯控制系统毕业设计论文Word下载.docx

《基于单片机的交通灯控制系统毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统毕业设计论文Word下载.docx(31页珍藏版)》请在冰豆网上搜索。

基于单片机的交通灯控制系统毕业设计论文Word下载.docx

2.3系统框图………………………………………………………………10

2.4硬件设计

2.4.1外接时钟电路…………………………………………………10

2.4.2复位电路………………………………………………………11

2.4.3交通灯信号控制电路…………………………………………11

2.4.4LED动态显示器接口电路……………………………………12

2.4.5开关电路………………………………………………………12

第三章软件设计

3.1交通灯控制程序………………………………………………………14

3.2显示程序………………………………………………………………15

3.3时间中断程序…………………………………………………………15

3.4按键程序………………………………………………………………16

第四章系统仿真………………………………………………………………17

第五章心得体会和总结……………………………………………………18

第六章参考文献………………………………………………………………18

第七章致谢……………………………………………………………………19

附一源程序代码…………………………………………………………19

附二部分运行图(状态转换)………………………………………24

摘要

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。

因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给予技术革新。

随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。

本文介绍了一个交通灯系统的设计。

该交通灯控制系统实现的功能有:

采用LED数码管显示红·

黄·

绿灯的剩余时间;

通过按键设定红绿灯的时间,控制东西南北方向红·

绿灯的亮灭的时间;

通过开关可以处理紧急情况。

该设计通过I/O来控制交通灯,由于使用的是単片机AT89C52作为核心的控制元件,是的电路可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合和扩展。

关键词:

AT89C52数码管开关

1.1单片机概述

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

单片机是控制系统的核心,具有本系统所需的I/O口、数据存储器、程序存储器等主要部分;

LED显示用于指示红、黄、绿交通信号灯的亮或灭;

数码管用于显示交通信号灯亮的剩余时间;

时间设定用于设定红、黄、绿交通信号灯的亮总时间;

驱动电路是弥补I/O口驱动能力的不足。

1976年INTEL公司推出了MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。

它以体积小,功能全,价格低赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑。

红黄绿交通灯控制器采用单片机及程序存储器的扩展控制,实现控制器的功能要求,例如红黄绿灯的交替闪烁,定时等等。

单片机将CPU,存储器,定时器/计数器及各接口电路组成,具有良好的性价比。

本控制器可分时段进行道路的管制,还可在紧急时刻进行手动控制,实施道路路况的控制。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;

红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);

车辆闯红灯报警;

绿灯时间可检测车流量并可通过双位数码管显示。

本系统实用性强、操作简单、扩展功能强。

1.2MSC-51芯片简介

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM):

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

定时/计数器(ROM):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

中断系统:

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

 

图1.18051内部结构

·

2.1设计思路及关键技术

一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。

单片机是集成的IC芯片,只需根据实际设计要求选型。

其他部分都需要根据应用要求和性能指标自行设计。

基于单片机的交通灯的设计时要充分的认识以3个问题:

(1)因为本系统是交通灯控制系统,所以要先了解实际交通灯的变化规律。

在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

用红、绿、黄发光二极管作信号灯。

假设一个十字路口没有分主干道与支干道之分。

初始状态0为南北绿灯,东西红灯。

然后转状态1东西南北黄灯闪烁。

过一段时间转状态2,南北黄灯闪几次转亮红灯,东西由黄灯闪几次转亮绿灯。

再转状态3,再一次东西南北黄灯闪烁。

过一段时间转状态4,南北黄灯闪几次转亮绿灯,东西黄灯闪几次转亮红灯灯。

最后循环至状态1。

(2)用LED数码管显示交通灯的剩余时间。

由上面知:

南北绿灯时间=东西红灯时间,南北黄灯时间=东西黄灯时间,南北红灯时间=东西绿灯时间。

所以只需要设计南北的绿灯,黄灯,红灯时间即可,一下用其代替东西的绿灯,黄灯,红灯时间。

当南北绿灯亮时,LED数码管显示绿灯剩余时间。

南北黄灯闪亮时,显示黄灯剩余时间。

南北方向红灯时间亮时,显示红灯的剩余时间。

2.2设计要求

1)设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为32秒、支干道每次通行时间为32秒。

2)在绿灯转为红灯时,要求黄灯先亮6秒钟,才能变换运行车道。

3)黄灯亮时,要求每秒闪亮一次。

4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示。

5)一道有车而另一道无车,交通灯控制系统能立即让有车道放行。

6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由开关模拟。

2.3系统框图

系统框图

2.4.1外接时钟电路

2.4.2复位电路

2.4.3交通灯信号控制电路

用P1口作信号输出端来控制12个灯的亮灭

2.4.4LED动态显示器接口电路

由于南北的绿灯,黄灯,红灯时间相同,可用一个两位一体的共阴极数码管显示相应的时间,同理东西的绿灯,黄灯,红灯时间一个两位一体的共阴极数码管显示,所以可用一个四位一体的LED显示南北和东西的时间。

单片机的驱动电流非常小,采用74LS245同相三态缓冲器器作驱动电路。

为了减少硬件开支采用动态显示电路。

P0口输出字型码,P2口的前四位P2.0~P2.3作位选端。

硬件电路如下图所示:

2.4.5开关电路

设置绿灯,黄灯,红灯时间和处理紧急情况,可以通过两个外部中断共同完成,也可以通过I/O口用查询方式实现。

这里用四个按键连接P3口的后四个口,连接P3.4~P3.6的按键分别控制绿灯,黄灯,红灯的初始时间的设定,每按一下其值加一并显示设置后的时间和点亮数秒设置的灯(为分辨设置的是哪一灯的时间),连接P3.7口的按键按一下东西南北都亮红灯表示有紧急情况发生,当紧急情况处理完后再按一下就会恢复正常。

第三章软件设计

程序首先要完成交通灯四个状态的依次循环,并且显示每个状态的剩余时间,对时间的计算要用到定时程序即每到一秒对正在运行状态的剩余时间减一,当从新设定绿灯,黄灯,红灯的时间初始值或要处理紧急情况时要通过外部按键实现,从而要有相应的按键处理程序。

所以可以将程序分成交通灯控制程序,显示程序,时间中断程序,按键程序。

以下是程序的总体流程图。

3.1交通灯控制程序

首先如何使东西南北12个灯按照设计时想的依次循环4个状态。

P1.7~P1.2依次连接南北的绿灯,黄灯,红灯,东西的绿灯,黄灯,红灯如图2.1。

所以4种状态依次为10010000B,01001000B,00100100B,01001000B,10010000B。

由状态分析可知当交通灯的剩余时间显示完以后先向右移两位,再向左移两位(为了使其能够左移两位,所以设置38H单元的内容为奇数时左移,38H初始值为00)

3.2显示程序

口送位选地址。

P0口送字型码(共阴极)。

显示的是正在亮的灯的剩余时间,所以先判断哪个灯亮,再把相应的剩余时间的BCD码送到显存里(40H~43H),然后扫描显存,P2~P3口扫描对应的数码管位选端,将正在亮的交通灯的剩余时间显示出来。

程序流程图为:

3.3时间中断程序

对绿灯,黄灯,红灯剩余时间的处理通过定时中断来处理。

设置定时器初始值MOVTH1,#03CH,MOVTL1,#0B0H,每50ms产生一次中断,循环20次后即一秒后再处理中断程序,对当前正在亮着的灯的缓存单元的值减一然后返回,当减到零时赋初值,使R3为00返回(当主程序检查到R3为零时会转换到下一个状态)。

3.4按键程序

通过按键要实现对交通灯时间的设置和紧急情况的处理。

由于P2口的P2.4~P2.7空着,将按键依次连接其上,采用查询方式不断扫描P2.4~P2.7口看是否有键按下,由于扫描时间非常短,而一般按一下键需要10ms以上的时间,所以要加销抖动程序和延时程序。

否则,意外抖动被误认为有键按下或按一下键被多次扫描到误认为有多次按下。

如果查询到P2.4为低电平即有键按下,那么绿灯的初始值加一,设置后的值放到显存显示出来并显示设置的是那一灯。

绿灯,黄灯,红灯的设置时间范围分别为12~50秒,2~10秒,12~50秒。

如果超出范围从初始值加起。

第四章系统仿真

系统仿真如下:

第五章课程设计体会和总结

通过这次的对交通灯的设计,使我对用单片机设计电路有了更深刻的理解和掌握,更好的了解和掌握了一些编程思想和对I/O口的使用。

这次实训通过一个单片机的I/O口来控制交通灯,由于使用的是单片机AT89C52作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合和扩展。

在编程的过程中主要是是模仿其它的编程思路,又加了一些自己的思想,还是比较顺利的。

在我们设计和调试的过程中在这次交通灯设计中,更加重视动手能力的培养,只有把理论与实践结合起来,才能取得更大的收获。

本系统结构简单,操作方便;

可现自动控制,具有一定的智能性;

对优化城市交通具有一定的意义。

本设计将各任务进行细分包装,使各任务保持相对独立;

能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。

参考文献

[1]李朝青.单片机原理及接口技术(修订版).北京:

北京航空航天大学出版社,1998

[2]何立民.单片机应用技术大全.北京:

北京航空航天大学出版社,1994

[3]李广弟.单片机基础.北京:

北京航空航天大学出版社,1992

[4]谭浩强.单片机课程设计.京:

清华大学出版社,1989

[5]张毅刚.单片机原理及接口技术.哈尔滨:

哈尔滨工业大学出版社,1990

[6]余发山单片机原理及应用技术中国矿业大学出版社2003

致谢

毕业设计终于做完了,在此过程中遇到了无数的困难和障碍,都是在同学和老师的帮助下度过的。

感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学

附一:

源程序代码

ORG0000H

LJMPMAIN

ORG0003H;

主函数入口地址0003H

LJMPWBZD0

ORG000BH;

外部中断0,入口地址000BH

LJMPDSQZD

ORG0013H;

定时器/计数器溢出中断,入口地址0013H

LJMPWBZD1

ORG0040H;

外部中断1,入口地址0040H

MAIN:

MOVSP,#70H

MOV40H,#20H;

东西绿灯显示时间

MOV41H,#20H;

南北绿灯显示时间

MOV42H,#06H;

黄灯闪烁时间

START:

MOVA,41H

ADDA,42H

MOV43H,A;

红灯时间=绿灯显示时间+黄灯闪烁时间

MOVTMOD,#01H;

开始正常工作状态

MOVTH0,#3CH

MOVTL0,#0B0H;

定时50ms,(65536-50000)D=3CB0H

SETBEA;

开始计时

SETBET0;

开T0中断

SETBTR0;

启动定时器T0

SETBEX0

SETBINT0

SETBINT1

SETBEX1;

开外部中断0、1

STATUS1:

MOVP1,#10000100B;

东西绿灯,南北红灯

MOV44H,40H

MOV45H,43H

J11:

MOVR4,#14H

J0:

LCALLDISP;

数码管显示程序

MOVA,R4

JNZJ0

DEC44H

DEC45H

MOVA,44H

JNZJ11

STATUS2:

东西黄灯闪,南北红灯亮

MOVR3,42H

J22:

MOV44H,R3

MOVR4,#0AH

J20:

LCALLDISP

JNZJ20

MOVP1,#10001010B

J21:

LCALLDISP

JNZJ21

MOVP1,#10000100B

DJNZR3,J22

STATUS3:

MOVP1,#00110000B;

东西红灯,南北绿灯

MOV44H,43H

MOV45H,41H

J31:

MOVR4,#14H;

基本时间步长:

14H*50ms=20D*50ms=1s

J30:

LCALLDISP

JNZJ30

MOVA,45H

JNZJ31

STATUS4:

MOVP1,#01110000B;

东西红灯亮,南北黄灯闪

MOV45H,42H

J42:

MOVR4,#0AH;

黄灯闪烁的时间是1s/(14H/0AH)=0.5s

J40:

LCALLDISP;

调显示

JNZJ40

MOVP1,#00110000B

J41:

JNZJ41

MOVP1,#01110000B

DJNZ45H,J42

JMPSTART

RET

DISP:

MOVA,44H;

显示

MOVB,#0AH

DIVAB

MOV46H,A

MOV47H,B;

A暂存要显示南北的十位数,B暂存个位数

MOVA,46H

MOVDPTR,#TAB

MOVCA,@A+DPTR;

查表求得南北方向十位的段代码送存46H单元

MOV46H,A

MOVA,47H

查表求得南北方向个位的段代码送存47单元

MOV47H,A

MOV48H,A

MOV49H,B;

A暂存要显示东西的十位数,B暂存个位数

MOVA,48H

查表求得东西方向十位的段代码送存48H单元

MOVA,49H

查表求得东西方向个位的段代码送存49H单元

MOV49H,A

MOVP0,46H;

南北方向十位数送显示器件输入口

MOVP2,#11110111B;

开位选端

LCALLDELAY;

延时

MOVP2,#0FFH;

消隐,以实现动态显示

MOVP0,47H;

南北方向个位数送显示器件输入口

MOVP2,#11111011B;

MOVP0,48H;

东西方向十位数送显示器件输入口

MOVP2,#11111101B;

MOVP2,#0FFH;

MOVP0,49H;

东西方向个位数送显示器件输入口

MOVP2,#11111110B;

RETI;

中断返回

DELAY:

MOVR7,#06H;

延时子程序

HERE:

DJNZR7,HERE

RETI

DSQZD:

PUSHACC

PUSHPSW

DECR4

MOVTL0,#0B0H

SETBEA

SETBET0

SETBTR0

POPPSW

POPACC

RETI

WBZD0:

MOVP1,#10010011B

MOV44H,#58H

MOV45H,#58H

INTS:

J

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

当前位置:首页 > 农林牧渔 > 林学

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

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