基于单片机的智能交通灯控制系统的设计Word格式文档下载.docx

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

基于单片机的智能交通灯控制系统的设计Word格式文档下载.docx

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

基于单片机的智能交通灯控制系统的设计Word格式文档下载.docx

电子工业出版社,2006

[2]李群芳.单片机原理、接口及应用[M].北京:

清华大学出版社,2005

指导教师(签名):

教研室主任(签名):

目录

1前言1

1.1概述1

1.2基于单片机的智能交通灯控制系统设计的意义1

2总体设计思路2

2.1智能交通灯的设计思路2

2.1.1LED显示剩余时间2

2.1.2交通灯2

2.1.3紧急状态的设计2

3硬件设计3

3.1AT89C51介绍3

3.1.1主要特性3

3.1.2管脚说明4

3.2芯片74LS273介绍5

3.3多位数码管6

3.4时钟电路设计7

3.5交通灯硬件线路图8

4软件设计9

4.1LED显示程序9

4.1.1程序设计思路9

4.2交通灯程序9

4.2.1程序设计思路9

4.3紧急情况程序11

4.3.1程序设计思路11

5软件仿真12

5.1KeilC51单片机软件开发系统12

5.1.1系统的整体结构12

5.2PROTEUS的操作12

5.2.1硬件电路图的接法操作12

5.2.2单片机系统PROTEUS设计与仿真过程13

5.3仿真结果13

6总结16

参考文献17

附录18

1前言

1.1概述

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

随着微控技术的日益完善和发展,单片机的应用在不断走向深入。

它的应用必定导致传统的控制技术从根本上发生变革。

也就是说单片机应用的出现是对传统控制技术的革命。

它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。

因此单片机的开发应用已成为高技术工程领域的一项重大课题。

因此了解单片机知识,掌握单片机的应用技术具有重大的意义。

1.2基于单片机的智能交通灯控制系统设计的意义

国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯。

加上一个倒计时的显示计时器来控制行车。

对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:

1.经常出现的情况是某一车道车辆较多,放行时间应该长一些,另一车道车辆较少,放行时间应该短些。

2.没有考虑紧急车通过时,两车道应采取的措施,例如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。

基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。

利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。

 

2总体设计思路

2.1智能交通灯的设计思路

根据智能交通灯的具有的功能,将它主要分为三部分,包括数码管显示剩余时间部分、交通灯显示部分和按键实现部分。

总体设计思路如图1-1所示。

2.1.1LED显示剩余时间

根据实际生活中使用的交通灯,在此次的智能交通灯的设计中也将具有显示时间的功能,使我们的设计与实际结合起来,在此部分LED灯将配合红黄绿灯的发光时间显示数据,对于每个数据将使用定时器来实现定时1秒,当1秒时间到达,LED上显示的时间自动减1,当时间减至为0,交通灯变换红黄绿灯。

2.1.2交通灯

此部分将与LED灯紧密联系起来,当数码管显示数字减至为0时,变换发光的灯,不为0,将保持原有状态。

2.1.3紧急状态的设计

在现实生活中随时有突发情况的发生,为了保证交通的正常通行,特地设计了应对紧急状况的特殊情况。

在出现紧急状况时,可以通过人为操作进入特殊情况。

在此包含了4种特殊情况,包括加长东西南北方向的通行时间,四个方向均禁行,东西方向保持通行南北方向禁行,南北方向保持通行东西方向禁行。

当特殊情况结束时,人为操作进入正常状态。

3硬件设计

3.1AT89C51介绍

芯片AT89C51的外形结构和引脚图如图2-1所示。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MC-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

图3-1AT89C51引脚图

3.1.1主要特性

8051CPU与MCS-51兼容

4K字节可编程FLASH存储器(寿命:

1000写/擦循环)

全静态工作:

0HZ-24KHZ

三级程序存储器保密锁定

128*8位内部RAM

32位可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

3.1.2管脚说明

VCC:

供电电压

GND:

接地。

P0口:

P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口输出地址的高8位。

在给出地址“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禁止,置位无效。

:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次

有效。

但在访问外部数据存储器时,这两次有效的

信号将不出现。

/VPP:

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;

端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出引脚。

3.2芯片74LS273介绍

74LS273是8位数据/地址锁存器,如图2-2所示,它是一种带清除功能的8D触发器,下面介绍一下它的管脚图功能资料。

1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;

当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.

图3-274LS273引脚图

3.3多位数码管

图3-3多位数码管

LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。

为了显示数字或符号,要为LED显示器提供代码,即字形代码。

其段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。

智能交通灯用到的数字0—9的共阳极字形代码如表2-1:

表3-1驱动代码表

显示数值

驱动代码(16进制)

1

2

3

4

5

6

7

8

9

C0H

F9H

A4H

B0H

99H

92H

82H

F8H

80H

90H

3.4时钟电路设计

图3-4时钟电路

MCS-51单片机芯片内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

当使用内部振荡电路时,XTAL1和XTAL2引脚外接石英晶体和微调电容,如图所示,图中C2、C3大小一般为30pF。

还加了复位/备用电源引脚的接线方法,任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作。

如何进行复位呢?

只能在单片机的RST引脚上保持两个机器周期(24个时钟周期)的高电平即可对单片机实现复位操作。

当主电源VCC发生掉电或者是电压降低到电平规定值时,VPD上外接的备用电源自动启用,为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在恢复上电后能正常运行。

3.5复位电路设计

图3-5复位电路

AT89C51的复位是由外部的复位电路实现的。

复位电路通常采用上电复位和按钮复位两种方式。

在此次设计中,我使用了上电复位方式。

上电复位是通过外部复位电路的电容充电来实现的。

3.6交通灯硬件线路图

结合各部分设计电路,得到交通灯硬件线路如图2-6所示。

图3-6硬件线路图

4软件设计

4.1LED显示程序

4.1.1程序设计思路

在这部分我使用了数码管动态显示方式来显示数据。

所谓动态显示方式,就是在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应为要显示的字符的段码。

这样,在同一时刻,LED中只有选通的那位显示出字符,而其他位则是熄灭的。

如此循环下去,就可以使各位显示出将要显示的字符。

设计思路如图4-1所示。

图4-1LED显示流程图

4.2交通灯程序

4.2.1程序设计思路

在这部分我设置南北方向通行,东西方向禁行为初始状态,持续时间为55s。

接下来黄灯闪烁5s,然后南北方向禁行,东西方向通行,持续时间仍为55s,最后黄灯闪烁5s,回到初始状态。

如此循环,程序流程图如图4-2所示。

图4-2交通灯程序流程图

4.3紧急情况程序

4.3.1程序设计思路

当需要应对特殊情况时,在人为控制下,程序由中断入口地址切换到中断程序,根据实际情况的不同切换到不同的中断子程序,当紧急情况处理完,由人为控制返回原程序。

程序流程图如图4-3所示。

图4-3紧急情况程序流程图

5软件仿真

下面用KEILuVision与Proteus仿真软件介绍智能交通灯的仿真与调试。

5.1KeilC51单片机软件开发系统

5.1.1系统的整体结构

KeilC51工具包的整体结构中,其中uVision与Ishel1分别是C51forWindows和forDOS的集成开发软件(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编译器编译C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.obj)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由0H51转换成标准的Hex文件,以供调试器dScope51和tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器如EPROM中。

采用KEIL开发的89C51单片机应用程序步骤:

1.在uVision集成开发环境中创建新项目(Project),扩展文件名.UV2并为该项目选定合适的单片机CPU器件(本设计采用ATMEL公司下的AT89C51)

2.用uVision的文本编辑器编写源文件,可以是汇编文件(.ASM),也可以使C语言文件(扩展名.C),并将该文件添加到项目中去。

一个项目文件可以包括多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。

3.通过uVision2的相关选择项,配置编译环境、连接定位器以及Debug调试器的功能。

4.对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。

5.对没有语法错误的程序进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的ROM中。

5.2PROTEUS的操作

5.2.1硬件电路图的接法操作

1.防止选择(删除)元器件

2.移动元器件

3.缩放视图

4.连接导线

5.仿真、调试

5.2.2单片机系统PROTEUS设计与仿真过程

Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。

全部过程都是在计算机上通过Proteus来完成的。

其过程一般也可分为三步:

1.在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。

简称Proteus电路设计。

2.在Keil平台上进行单片机系统程序设计、编译、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。

简称Proteus源程序设计和生成目标代码文件。

3.在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。

它在相当程度上反映了实际单片机系统的运行情况。

简称Proteus仿真。

5.3仿真结果

将在Keil平台上生成目标代码文件(*.hex)加载到单片机系统中,点击运行按钮,运行结果显示如图5-1所示。

图5-1硬件仿真图

开始运行后,南北方向通行,东西方向禁行,同时数码管从55显示,每隔一秒数码管减一,当减到0时,四路的黄灯开始闪烁,数码管同时从5开始减一,减到0时,南北方向禁行,东西方向通行,同时数码管从55显示,每隔一秒数码管减一,当减到0时,四路的黄灯开始闪烁,数码管同时从5开始减一,减到0时,返回初始状态,再没有外部中断的情况下如此循环下去。

图5-2四个方向禁行硬件仿真图

K1为外部中断按钮,当按下K1时,数码管不再显示数,黄灯闪烁五秒后,四路灯都为红色。

当按下复位开关后,返回到初始状态。

图5-3南北通行东西禁行硬件仿真图

K2为外部中断按钮,当按下K2时,数码管不再显示数,黄灯闪烁五秒后,南北方向保持通行,东西方向保持禁行。

图5-4南北禁行东西通行硬件仿真图

K3为外部中断按钮,当按下K3时,数码管不再显示数,黄灯闪烁五秒后南北方向保持禁行,东西方向保持通行。

图5-5延长四个方向通行时间的硬件仿真图

K4为外部中断按钮,当按下K4时,南北东西方向的通行时间均延长至120s。

6总结

通过一周的课设,我受益匪浅。

可以把书本上的知识得以运用,锻炼了全面思考问题的能力和实践能力,我想这对我以后的学习和工作会有很大的帮助。

这次完成了对单片机的整体设计,更加了解到单片机的各项功能和需要注意的问题,加深了对单片机的了解。

当然,课设当中会遇到一些困难,通过查阅相关资料和老师同学的帮助,最终还是克服了。

一些问题需要我们认真思考,注意细节,多与同学交流,分析问题,大家互相学习,共同提高。

最后,谢谢老师的指导。

参考文献

[2]张毅刚等.单片机原理与应用设计[M].北京:

电子工业出版社,2008

[3]王义军.单片机原理及应用习题与实验指导书[M].北京:

中国电力出版社,2006

[4]刘乐善.微型计算机接口技术及应用[M].武汉:

华中科技大学出版社,2000

[5]陈明荧.8051单片机课程设计实训教材[M].北京:

清华大学出版社,2004

[6]杨莉.基于单片机控制的步进电机转速控制系统[J].南昌工程学院学报,2005

附录

ORG0000H

LJMPMAIN

ORG0003H

LJMPDIP0

ORG000BH

LJMPTT0

MAIN:

MOVR4,#5

MOV40H,#00H

MOV44H,#00H

MOV45H,#00H

MOV46H,#00H

MOV47H,#00H

MOVR0,46H

CJNER0,#01H,XX

MOV41H,#04H

MOV42H,#08H

MOV43H,#08H

XX:

MOV41H,#04H

MOV42H,#04H

MOV43H,#09H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTMOD,#01H/*T0设置为方式1*/

SETBET0

SETBEX0

SETBIT0/*跳沿触发*/

SETBEA

SETBTR0/*开始计数*/

MOVP1,#00H

SETBP1.3/*上下绿左右红*/

SETBP1.7

PLY:

MOVR0,45H

CJNER0,#01H,YY

CLRP1.1

CLRP1.2

CLRP1.0

AJMPPLY

YY:

CLRP1.1

SETBP1.0

MOVDPTR,#TAB

MOVA,41H

MOVCA,@A+DPTR

MOVDPTR,#7FFFH

MOVX@DPTR,A

LCALLDEL2MS

SETBP1.1

MOVA,42H

MOVX@DPTR,A

SETBP1.2

MOVA,43H

TT0:

CLREA

PUSHAcc

DJNZR4,RET1

MOVR4,#20

MOVR0,43H

CJNER0,#09H,L0

MOVR0,42H

MOVR0,41H

MOVR0,40H

CJNER0,#00H,L1

LCALLS0

INC40H

LJMPL0

L1:

MOVR0,40H

CJNER0,#01H,L2

LCALLS1

L2:

CJNER0,#02H,L3

L3:

LCALLS2

L0:

INC41H

MOVR0,44H

CJNER0,#01H,L4

CPLP1.5

L4:

MOVR0,41H

CJNER0,#0AH,RET1

MOV41H,#00

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

当前位置:首页 > PPT模板 > 可爱清新

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

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