交通灯控制电路设计.docx

上传人:b****6 文档编号:4783233 上传时间:2022-12-08 格式:DOCX 页数:25 大小:397.18KB
下载 相关 举报
交通灯控制电路设计.docx_第1页
第1页 / 共25页
交通灯控制电路设计.docx_第2页
第2页 / 共25页
交通灯控制电路设计.docx_第3页
第3页 / 共25页
交通灯控制电路设计.docx_第4页
第4页 / 共25页
交通灯控制电路设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

交通灯控制电路设计.docx

《交通灯控制电路设计.docx》由会员分享,可在线阅读,更多相关《交通灯控制电路设计.docx(25页珍藏版)》请在冰豆网上搜索。

交通灯控制电路设计.docx

交通灯控制电路设计

交通灯控制电路设计

作者姓名:

2B

专业名称:

测控技术与仪器

指导教师:

2B讲师

摘要

本设计主要分为三大模块:

输入控制电路、时钟控制电路和显示电路。

以AT89C51单片机为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红灯、绿灯和黄灯的燃亮功能;为了系统稳定可靠,采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。

关键词:

AT89C51LED显示交通灯控制

Abstract

Thisdesignmainlydividedintothreemodules:

inputcontrolcircuit,controlcircuitandtheclockdisplaycircuit.WithAT89C51single-chipmicrocomputerasthecenterdevicetodesigningtrafficlightcontroller,realizetheAT89C51chipP0mouthredlights,agreenlightandsetuptheyellowlightsbrightenfunction;Inordertosystemisstableandreliable,andUSES74LS14Schmitttogglecircuitchipawayshaking,toavoidthesystemfortheinputsignaljitterproducefalseoperation;ShowtimedirectlythroughtheP2mouthAT89C51output,drivenbyCD4511LEDdigitaldisplayredlightlitthetime.

Keywords:

AT89C51,LED,display,traffic,control

[参考文献]22

附录23

DJNZR1,DEL226

1绪论

1.1道路交通控制的发展背景

随着经济发展,城市化速度加快,机动车辆占有量急剧增加,由此引发出日益严重的交通问题:

交通拥挤甚至堵塞,交通事故频繁,空气和噪声污染严重,公共运输系统效率下降等。

解决这一问题通常有两种办法,一种是修路造桥,这对道路交通状况的改善是一种最直接的办法,但它需要巨额的投资,且在城市中心区受拆迁的限制,很难实施.另一种是在现有的道路交通条件下,实施交通控制和管理,充分发挥现有道路的通行能力,大量事实已经证明这种方法的有效性。

通常,一个经验丰富的交通警察能在极短的时间内把一个交叉路口的交通阻塞缓解或解除,但他的作用范围往往局限于单个交叉路口。

而现代的道路交通非常复杂,常常是几个或几十个甚至是成百上千路口互相关联,在这种情况下,任何一个经验丰富的交通警察都无能为力了.因此,人们越来越关注把先进的科学技术用于交通管理,从而促进了交通自动控制技术的不断发展[1]。

1.2道路交通控制的目的和作用

道路交通控制的目的可定义为:

在确定的行政规定约束下,采用合适的营运方法来确保公共和私人运输方式具有最佳的交通运行状态。

围绕这一目的研制出的道路交通控制系统,把受控对象看成一个整体,采用对交通流科学地时间分割的方法,最大限度地保证交通流运动的连续性,使受控区域的交通流减少冲突,同时平稳地、有规则地运动[1]。

道路交通控制的作用主要表现为以下几个方面:

1)改善交通秩序,增加交通安全。

2)减少交通延误,提高经济效益。

3)降低污染程度,保护生态环境。

4)节省能源和土地消耗。

2设计方案与比较

2.1设计任务下图1为本设计十字路口交通信号灯控制示意图,信号灯的动作受按键开关总体控制:

图1十字路口交通信号灯控制示意图

1)按一下开始按键,信号灯系统开始工作,并周而复始地循环动作;

2)按一下停止按键,所有信号灯全部熄灭;

3)三基色发光管与AT89C51的连接图1所示,其中奇数口代表红色,偶数口代表绿色,奇偶同用为黄色。

当只有奇数口输出1时,红灯亮;当只有偶数口输出1时,绿灯亮;当两个输出都为1时,黄灯亮。

4)本设计,红灯亮9S,绿灯亮5S,绿灯闪亮2S,黄灯亮2S。

具体控制要求见表

1。

表1十字路口交通信号灯控制要求

东西

信号

绿灯亮

绿灯闪亮

黄灯亮

红灯亮

时间

5s

2s

2s

9s

南北

信号

红灯亮

绿灯亮

绿灯闪亮

黄灯亮

时间

9s

5s

2s

2s

2.2总体方案设计

2.2.1方案比较

本方案主要以8031为核心,用一块74LS373锁存器,2764扩展片外存储器电路特点扩展电路复杂。

图2方案一方框图

方案二

本方案主要以AT89C51为核心,利用8255扩展I/O口。

电路特点I/O口总数

图3方案二方框图

 

本电路采用AT89C51为核心,用一块CD4511译码器,一块74LS14反相器(施密特)解决按键抖动问题。

采用AT89C51芯片使电路更加智能化,可靠性高,电路成本大大下减。

用三基色发光管形象的把交通灯模拟出来,更好达到设计的效果。

电路特点系统电路简单,容易实现,不用扩展I/O口。

3

复位

硬件消抖

开始

电路

程序控制芯片

模拟交通灯发光管电路,四路方向灯。

三基色发光管4只

电源指示灯,CPU指示灯电路

图4方案三方框图

2.2.2方案论证与确定

综合上述三个方案,各有特点和缺点:

方案一:

采用老式的8031,其本身无内部存储器,为了扩展电路,使电路复杂化,而且无按键消抖电路,容易发生误操作,难以实现设计目的。

方案二:

采用AT89C51和扩展口8255组成,电路I/O口较多,但在本电路中造成I/O口浪费和成本的提高。

同样无消抖电路,容易发生误操作。

方案三:

采用AT89C51、CD4511译码器和74LS14施密特反相器,且用三基色发光管,本方案克服了方案一和方案二之中共同存在的容量少、无消抖、成本较高、电路复杂的问题。

系统电路不复杂,设计合理,可靠性高,较容易实现交通灯的控制。

所以,经论证和比较决定采用第三个方案更符合实际和经济。

3系统原理分析

3.1工作原理简介

当AT89C51上电复位后,给AT89C51置数,让四方向的红灯全亮,四方向的LED全显示0。

进行测试,后等待开始命令。

当按下开始按钮,中断INT1非响应,并执行中断服务子程序:

南北红灯亮,东西绿灯亮5S→南北红灯亮,东西绿灯闪亮2S→南北红灯亮,东西黄灯亮2S→延时1S→东西红灯亮,南北绿灯亮5S→东西红灯亮,南北绿灯闪亮2S→东西红灯亮,南北黄灯亮2S→不断循环上述过程。

LED数码管同时倒计时显示四方向红灯亮的时间。

当有停止命令,按下SB2,INT0非响应,因为其为优先级中断,所以不管INT1非执行到任何地方都中断。

INT0非中断响应后,LED数码管与交通灯全灭,等待再次开始.

3.2总体方框图见图4

3.3系统电路模块分析

3.3.1消抖电路

在单片机应用系统中,按键起到了人机对话的主要设备,用于向单片机应用系统输入数据、程序和操作命令。

当按钮按下或松开时,会向单片机CPU输入一个0电平或1电平,CPU根据接收到的0或1电平信号,决定具体的操作。

但是,在按键的按下和松开时,开关的机械触点会产生抖动,一般抖动时间是5~10ms左右,抖动的波形如图5。

在拉动期间CPU不能按收到稳定的电平而无法做出正确的判断,因此,需在对按钮进行去抖动处理。

 

1k

图5按钮产生抖动的波形示意图

为了消除抖动,如图6所示,是利用反相器集成电路来实现消除抖动功能的。

当开始按钮按下时,反相器的①端为高电平,尽管按下按键会产生抖动,但由于反相器的作用,在②端产生一个稳定的低电平。

在按钮松开的过程中,由于①变为低电平,同样由于反相器的作用,在②端产生一个稳定的高电平。

停止消抖动电路原理一样。

R1

VCCSB1

SW-PB

GND

图6除抖动电路原理图

74LS14芯片介绍:

74LS14是一个6反相器,如果输入端为高电平,那么输出为低电平。

如果输入低电平,那么输出为高电平。

本电路用74LS14而不用74LS04。

74LS14与74LS04都是74系列的非门。

两者不同的是输入不一样。

74LS04输入是TTL电平,74LS14输入是施密特输入(有滞回特性)。

因为输入不一样,两个芯片的应用场合也有所不同。

74LS04多用于板内一般数据的“非”控制,而74LS14一般用于某些信号的整形或者异受干扰信号的缓冲等[3]。

大部分情况下74LS14可以替代74LS04。

3.3.2振荡、时钟电路和CPU时序

1)振荡、时钟电路

振荡、时钟电路。

如图7所示,时钟是单片机的心脏,各部分都以时钟频率为基准,有条不紊地一拍一拍的工作。

因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

常用的时钟电路有内部时钟和外部时钟两种。

本设计利用AT89C51内部一个高增益的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。

这两个引脚外接一个石英晶体或陶瓷谐振器就可以与片内振荡器一起构成一个自激振荡器。

对外接电容的要求虽然没有严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性。

对电容C4和电容C5的要求为:

石英晶体:

30PF10PF;

陶瓷谐振器:

40PF10PF。

把一个12.0MHZ晶振和两个33PF电容器组成的外部时钟振荡电路,接于XTAL1(19脚)和XTAL2(18脚)之间。

这样振荡器发出的脉冲直接送入内部的时钟电路。

GND图7时钟电路

2)CPU时序单位因为单片机系统经常要控制一些外部的实时器件,这需要单片机系统提供实时的时钟信号,为了与CPU同步故必须采用同样的时钟信号。

单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。

振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。

Fosc振荡频率l2分频后形成机器周期MC。

所以,1个机器周期包含有6个状态周期或12个振荡周期。

1个到4个机器周期确定一条指令的执

行时间,这个时间就是指令周期。

AT89C51单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。

4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特

率、定时器的定时时间等)的基本时序单位。

下面是本设计单片机外接晶振频率12MHz时的各种时序单位的大小:

振荡周期=1/fosc=1/12MHz=0.8335us

状态周期=2/fosc=2/12MHz=1.6665us

机器周期=12/fosc=12/12MHz=1us

指令周期=(1~4)机器周期=1~4us

3.3.3复位电路

当MCS-5l系列单片机的复位引脚RST(全称RESET出)现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

本设计的AT89C51的系统时钟频率为12MHZ,那么,它的复位脉冲至少应为2us以上。

复位期间,ALE、PSEN、P0口、P1口、P2口和P3口都要保持高电平

复位后SP=07H,此时堆栈的栈底为07H。

内容为00H的特殊功能寄存器表明复位后其值被清零。

P0口、P1口、P2口、P3口这四个端口的锁存器为1,使它们为输入状态。

根据应用的要求,复位操作通常有两种基本形式:

上电复位和上电或开关复位。

本设计采用了上电或开关复位。

上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。

常用的上电或开关复位电路如图8所示。

上电后,

由于电容C3的充电和反相器的作用,使RST持续一段时间的高电平。

当单片机已在运行当中时,按下复位键SB3后松开,也能使RST为一段时间的高电平,从而实

现上电或开关复位的操作

3.3.4LED驱动显示电路

为了更加直观的显示红灯燃亮时间,本设计采用了LED数码管显示。

这里用常用的8字型数码管,既它由8只发光管组成,管子上所显示的数字与8只LED管的发光情况相联系。

也就是说,我们要显示一个数据其实就是控制数码管上8只管的亮暗组合,具体显示原理下面介绍。

为了

能驱动LED电路,本系统利用CD4511BCD码—七段码译码器,特点如下:

具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路,能提供较大的拉电流,可直接驱动LED显示器。

1)CD4511集成块

1

16

2

15

3

14

4

13

5

12

6

11

7

10

8

9

CD4511

A4

A1

A2

VCCfgabcde

图9D4511引脚图其功能介绍如下:

BI:

4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。

LT:

3脚是测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入状态

如何,七段均发亮,显示“8”。

它主要用来检测数码管是否损坏。

LE:

锁定控制端,当LE=0时,允许译码输出。

LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。

A1、A2、A3、A4为8421BCD码输入端。

a、b、c、d、e、f、g为译码输出端,输出为高电平1有效。

CD4511的内部有上拉电阻,在输入端与数码管段选端接上限流电阻就可工作。

逻辑功能如下表:

表2CD4511逻辑功能

2)LED数码管

1、LED数码管的外形如图10所示

1

a

2

b

a

3

c

4

d

fg

b

5

e

6

f

ed

c

7

gdp

dp

8

GND

9

图10LED数码管的外形图

2、LED灯的显示原理:

通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形。

如g,f,e,d,c,b,a管脚上加上3FH,SP上显示0,不亮其余为TTL高电平,全亮则显示为8。

采用共阴极连接:

LED的输入a至g与CD4511的输出a至g相连接。

3、驱动代码表

表3驱动代码表

显示数值

dopgfedcba

驱动代码(16进制)

0

00111111

3FH

1

00000110

06H

2

01011011

5BH

3

01001111

4FH

4

01100110

66H

5

01101100

6DH

6

01111100

7DH

7

00000111

07H

8

01111111

7FH

9

01100111

67H

3)本设计的数码管显示模块,用一个CD4511驱动四个数码管,四个数码管分别显示东西南北四方向的红灯燃亮的时间。

P1.0和P1.1控制数码管。

由于AT89C51单片

机的I/O口输出电流只有约1.2mA,驱动能力不够,P1口输出应先接三极管的基极,

放大电流后,集电极再接数码管的接地端。

电路图如下图11所示:

图11驱动数码管显示图

1)AT89C51芯片简介

AT89C51是美国ATMEL公司生产的,一种带4K字节闪速可编程可擦除只读存储

器(FPERO—MFlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦除100次。

由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,功能强大,适合于许多较复杂的控

制应用场合。

AT89C51的管脚排列如图12:

图12AT89C51引脚图

2)设计主要用到AT89C51的P0口、P1口、P2口、INT0(P3.2)、INT1(P3.3)、RST、ALE、EA/VPP、XTAL1和XTAL2。

具体功能介绍如下:

P0.0-0.7:

是漏极开路双向口,可以写为1使其状态为悬浮用作高阻输入。

P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线。

P1.0-1.7:

是带内部上拉的双向口,向P1口写入时,P1口被内部上拉为高电平,可用作输入口。

当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流。

P2.0-2.7:

是带内部上拉的双向口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。

INT0(P3.2):

外部中断0。

INT1(P3.3):

外部中断1。

RST:

复位输入线。

当晶振在运行中,只要复位管脚至少出现2个机器周期高电平即可复位。

ALE:

地址锁存允许/编程线。

访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定为1/6振荡频率。

并可用作外部时钟或定时,注意每次访问外部数据时一个ALE脉冲将被忽略。

EA/VPP:

片外程序存储器访问/编程器电源线。

在访问整个外部程序存储器时,

EA必须置低。

如果为高时,将执行内部程序,除非程序计数器包含大于片内FLASH的地址[5]。

XTAL1:

反相振荡放大器输入和内部时钟发生电路输入。

XTAL2:

反相振荡放大器输出。

3)为了实现设计的目的,用AT89C51控制外围电路。

P0口低四位控制四方向的红灯、绿灯和黄灯,P1控制四方向LED数码管。

考虑到P1口输出电流小,驱动发光管电压不够,先接上拉电阻,后再驱动发光管发亮。

显示时间直接通过P2口输出到CD4511的输入端。

外部中断0和外部中断1控制单片机的停止和开始工作。

ALE引脚接限流电阻R6,后使发红光的二极管亮,达到显示电源和CPU指示灯效果。

总原理图如下:

图13总原理图

在以上各部分独立设计时,考虑了各部分的可实现性,在整个系统的原理设计时具体端口功能如下:

P0.0

南北方向绿灯控制口

P0.1

南北方向红灯控制口

P0.2

东西方向绿灯控制口

P0.3

东西方向红灯控制口

P1.0

东西LED数码管控制口

P1.1

南北LED数码管控制口

P2.0

CD4511A输入口

P2.1CD4511B输入口

P2.2CD4511C输入口

P2.3CD4511D输入口

3.3.6辅助电源设计

硬件要工作,要有电源供电。

本设计用到+5V电源。

具体电路用到整流桥和7805稳压器等。

3.4程序设计

硬件系统作为实体,为单片机工作提供了基础和条件,但要使单片机有效工作,还必须有软件配合。

概括地说,计算机的软件系统包括系统软件、应用软件和程序设计语言三部分。

但单片机由于硬件支持和需要所限,为特定应用而设计的软件不明显区分系统软件和应用软件,而是把两者结合起来,只是程序设计时采用模块化设计,使软件系统设计方便,有易于维护。

3.4.1主程序设计

本设计用到AT89C51单片机的两个外部中断源(INT0和INT1),INT1是开始控

制,INT0是停止控制。

主程序开始先进行初始化。

程序主要设计如下:

ORG

0000H

AJMP

MAIN

ORG

0003H

AJMP

INT_A

;外部中断

0入口

ORG

0013H

AJMP

INT_B

;外部中断

1入口

ORG0030H

MAIN:

MOVA,#0FAH

MOVP0,A

MOVA,#00H

MOVP2,A

CLRP1.0

CLRP1.1

SETBEA

CLRIT0

CLRIT1

SETBEX0

SETBEX1

SETBPX0

3.4.2

;所有方向红灯

;四方向同时为“0”

;位选东西、南北LED

;开中断打开

;低电平触发有效;低电平触发有效;外部0中断开放;外部1中断开放;外部0停止优先中断

P0口的算法

P0口输出控制三基色发光管,实现对模拟的交通灯的控制。

P0口的具体控制为:

南北红灯亮,东西绿灯亮5S→南北红灯亮,东西绿灯闪亮2S→南北红灯亮,东西黄灯亮2S→东西红灯亮,南北绿灯亮5S→东西红灯亮,南北绿灯闪亮2S→东西红灯亮,南北黄灯亮2S。

具体字节算法如下:

表4P0口的字节表

南北

时间

东西

时间

P0口字节

状态

南北禁止通行,东西可以通行

5S

5S

F6

南北红灯亮

东西绿灯亮

2S

2S

F2

南北红灯亮

东西绿灯

南北红灯亮

东西绿灯灭

F6

南北红灯亮

东西绿灯亮

2S

2S

FE

南北红灯亮

东西黄灯亮

南北时

东西

时间

P0口字节

状态

东西禁止通行,南北可以通行

5S

5S

F9

南北红灯亮

东西绿灯亮

2S

2S

F8

南北红

灯亮

东西绿

灯闪

南北红灯亮

东西绿灯灭

F9

南北红灯亮

东西绿灯亮

2S

2S

FB

南北红灯亮

东西黄灯亮

3.4.3程序流程图

1)主程序流程图:

图15主程序流程图

2)外部中断1程序流程图:

调用延时1S,R5-1。

内容

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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