交通灯及时间显示控制Word格式.docx
- 文档编号:20904038
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:44
- 大小:669.99KB
交通灯及时间显示控制Word格式.docx
《交通灯及时间显示控制Word格式.docx》由会员分享,可在线阅读,更多相关《交通灯及时间显示控制Word格式.docx(44页珍藏版)》请在冰豆网上搜索。
一.交通信号灯硬件电路的设计
1.1交通信号灯的作用及工作原理:
一般情况下,红绿灯设在十字路口,或在多干道的叉口上,目的是为了调整叉口的交通秩序使各干道来往车辆能够有条不紊地行驶,否则将造成意想不到的严重后果。
当然在叉口设置合理的红绿灯后,也可大大减少交通管理部门的人力、物力。
叉口交通信号等的基本作用:
红灯亮表示车辆、行人禁止通行,绿灯亮表示车辆、行人可以通行,绿灯转换成红灯前几秒,可用黄灯亮来暗示驾驶员或行人即将禁止通行。
该系统的屏幕时间显示用倒计时方式表示红绿灯的切换时间,时间显示器的作用是协助红绿灯工作,跟随红、绿灯反复地进行切换。
目的是为了使驾驶员和行人能够看见红绿等亮的时间还剩几秒以便停车线以内的驾驶员和行人能够更清楚地知道此时该继续通行或减速,才不会使驾驶员盲目地加速或减速停车而阻碍另一干道车辆或行人的通行,从而可以提高叉口车辆及行人的流通率,当然也可以减少事故的发生,为交通安全提供保障。
交通信号灯的工作原理:
如图1示,当A、B组红灯亮绿灯灭;
则C、D组绿灯亮红灯灭。
对A、B组或C、D组而言,每当绿灯亮转换成红灯亮前几秒(具体多长时间视实际情况而定)黄灯亮,当绿灯灭时黄灯也灭。
1.2设计要求
首先,要了解实际交通灯的变化规律.假设一个十字路口为东西南北走向.初始状态0东西方向绿灯通车,南北方向红灯,延时30s.转状态1,东西方向黄灯亮,南北方向红灯按1HZ的频率闪烁,延时5s.再转状态2,东西方向红灯亮,南北方向绿灯通车,延时20s.转状态3,东西方向红灯按1HZ的频率闪烁,南北方向黄灯亮,延时5s.最后循环至状态0.这里的延时采用定时器0延时.
其次,当有紧急救护车出现时,应使东西南北四个方向全亮红灯,并延时10s,以便急救车通过,同时对通行时间进行倒计时,从P1口及P3口输出在发光二极管,使用8051定时器/计数器0作为定时器实现子程序延时.技术上可用外部中断0发出一单脉冲向CPU申请中断.
再次,一般交通信号灯控制程序中使用软件延时,软件延时是靠执行一个循环程序以进行时间延迟.软件定时的特点是时间精确,且不需外加硬件电路.但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不宜太长.本程序使用定时器/计数器0来定时,定时电路已经集成在芯片中,这种由硬件电路完成,不占CPU时间.它通过对系统时钟脉冲的计数来实现,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1.计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便.
1.3设计方法
⑴选用MCS-51单片机来实现,根据设计要求,交通信号灯控制器的外部输出信号为主、副车道红、黄、绿灯共12个驱动信号;
编程使相应位复/置位来实现信号灯的亮/灭控制,使得十字路口的红、绿灯交替点亮;
在灯色交换时,黄灯闪烁提醒。
⑵设计要求有紧急车辆通过时,十字路口均显示红灯。
可以通过软件中断来完成紧急任务,定义T0为计数中断并为下降沿触发,编写对应中断向量子程序和中断服务程序,完成中断处理。
⑶设计还对定时控制有所要求。
对于精确定时,应该用计数器加以控制,硬件实现复杂度增加。
考虑到该设计对时间精度要求不高,所以采用软件定时可以大大简化电路。
先计算出程序单部执行的时间,设置循环参数,利用if语句按设计要求完成定时控制。
二.系统组成
2.1控制要求
⑴主、支干道交替通行,主干道每次放行30秒,支干道每次放行20秒;
⑵绿灯亮时表示可以通行,红灯亮时表示禁止通行;
⑶每次绿灯变红灯时,黄灯先亮5秒(此时另一干道上的红灯不变);
⑷十字路口要求有数字显示,作为时间提示,以便人们更直观地把握时间,具体
要求主、支干道通行时间及黄灯亮的时间均以秒为单位做减数器;
5在黄灯亮时,原红灯按1HZ的频率闪烁;
6当有急救车到达时,路口的信号灯全部变红,让急救车通过。
假定急救车通过
时间为10s,急救车通过后,交通灯恢复先前状态。
2.2硬件控制线路图
图2原理图
2.3工作原理
采用单片机的I/O口P1口和P3直接和交通灯连接,控制程序放在MCS-51单片机如8051的ROM中,在十字路口的四组红、黄、绿交通灯中,受单片机P1.0~P1.7和P3.0、P3.1、P3.3、P3.7控制,由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接,因此I/O口输出低电平时,与之相连的相应指示灯会亮,I/O口输出高电平时,相应指示灯会灭。
紧急车请求通过的信号由人工控制,以中断方式输入单片机,无紧急车通过时,中断引脚INT0通过电阻和电源正极连接为高电平,不产生中断请求,单片机执行主程序,有紧急车通过时,中断引脚采用人工方法接地为低电平,产生中断请求,单片机执行中断服务程序,让紧急车通过,紧急车通过后,中断引脚变为高电平,返回主程序。
由于倒计时显示装置已普遍采用,因此本文未引入探讨。
2.4器件和原理
2.4.1.什么是单片机
单片机是将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM或EPROM)、定时器芯片和一些输入/输出接口电路集成在一个芯片上的微控制器(Microcontroller)。
中央处理器包括运算器、控制器和寄存器3个主要部分,是单片机的核心。
存储器按工作方式可以分为两大类:
随机存储器RAM和只读存储器ROM。
RAM可被CUP随机地读写,断电后存储的内容消失;
ROM中的信息只能被读取,一般用于存放固定的程序。
ROM中的内容只能用编程器专用设备写入。
输入/输出接口(I/O接口)是单片机的重要组成部分。
程序、数据以及现场信息需要通过输入设备送到单片机,计算结果需要通过输出设备输出到外设。
常用的输入有按键、键盘、A/D等,输出设备一般有LED、电机等。
为了方便理解,我们可以将单片机和PC机进行一个比较。
一台能够工作的计算机要由CPU、RAM、ROM、输入/输出设备等几个部分组成。
在PC机上这些部分被分成若干块芯片,安装在主板上。
而单片机相当于集成了以上所有芯片的一块集成电路芯片。
有一些单片机中除了上述基本的功能,还集成了其他部分功能,如A/D、D/A等。
一个标准的89C51单片机的引脚功能图如图3所示。
图389C51单片机及其引脚
1.AT89C51单片机性能介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.主要特性:
1.与MCS-51兼容
2.4K字节可编程闪烁存储器
3.寿命:
1000写/擦循环
4.数据保留时间:
10年
5.全静态工作:
0Hz-24Hz
6.三级程序存储器锁定
7.128*8位内部RAM
8.32可编程I/O线
9.两个16位定时器/计数器
10.5个中断源
11.可编程串行通道
12.低功耗的闲置和掉电模式
13.片内振荡器和时钟电路
3.管脚说明:
——VCC:
供电电压。
——GND:
接地。
——P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
——P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL
门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由
于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表2-1所示:
口管脚
备选功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
——RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间.
——ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
——/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
——/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
——XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
——XTAL2:
来自反向振荡器的输出。
2.4.2什么是单片机系统
单片机系统的基本结构框图如图4所示。
从图中可以看出,对于一个典型的单片机系统而言,主要由单片机、晶振和复位电路、输入控制电路、输出显示电路以及外围功能器件5个部分组成。
除了上文中介绍过的单片机外,单片机系统中的其他4个部分的主要作用和器件如下。
⑴晶振和复位电路:
单片机系统的必要组成部分,控制单片机的机器周期和功能复位。
⑵输入控制:
是指在一定要求下,采取何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机。
常用的输入控制方法有按键、矩阵键盘、串行通信等方式。
图4单片机系统的基本组成
⑶输出显示:
是指单片机将需要显示的数据发送到LED、液晶等显示模块,并控制LED等显示模块按照一定的格式显示的功能。
此外,输出对象还有电机、传感器等特殊的功能器件。
⑷外围功能器件:
单片机只是控制器件,对应与一定的设计要求,需要加入特定功能的器件。
例如外部存储器,单片机通过对外部存储器的读写操作,完成对数据的存储器的读写操作,完成对数据的存储和读取,从而扩展单片机的存储单元和数据。
此外,常用的外围器件还有A/D、D/A、74LS07门电路以及特定功能的传感器等。
单片机的最简单系统是指单片机能正常工作所必须的外围元件,主要由单片机、晶振电路和复位电路构成。
而输入/输出部分则通过单片机的I/O口实现。
2.4.3单片机系统的应用
单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。
其主要的用途可以分为以下方面。
●显示:
通过单片机控制发光二极管或是液晶,显示特定的图形和字符。
●机电控制:
用单片机控制机电产品做定时或定向的动作。
●检测:
通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。
●通信:
通过RS-232串行通信或者是USB通信,传输数据和信号。
●科学计算:
用来实现简单的算法。
那么单片机是不是解决上述应用的惟一选择呢?
当然不是!
目前,在自动控制中,一般有3种选择,分别是嵌入式微机、DSP和单片机,他们的性能比较如表2-2所示。
表2-2嵌入式微机、DSP、单片机性能比较
指标
嵌入式微机
DSP
单片机
运算速度
一般
快
慢
信息处理量
大
小
体积和重量
系统集成度
高
低
开发成本
适中
典型器件
SUPERDX型嵌入式模块
DSP-56800
TMS320C54X
MCS-51
MCS-98
单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。
这是因为这类芯片的生产量很大,技术也很成熟。
其次,单片机的体积也远小于其他两种方案。
单片机本身一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。
当然,单片机无论在速度还是容量方面都远小于其他两种方案,但是实际上工作中并不是任何需要计算机的场合都要求计算机有很高的性能。
例如,控制电冰箱温度的控制器就不需要使用嵌入式系统,用一片51就可以轻松实现。
所以应用的关键是看是否够用,是否有很好的性能价格比。
51系列的单片机已经面世十多年,依然没有被淘汰,还在不断的发展中,这就说明是它有广阔的应用前景。
2.5部分电路功能
2.5.1晶振电路
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。
单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
一个机器周期包括12个时钟周期。
如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12*(1/12)us,也就是1us。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。
为了衡量指令执行时间的长短,又引入一个新的概念:
指令周期。
所谓指令周期就是指执行一条指令的时间。
例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1us。
而DJNZ指令是双周期指令,所以执行一次要2us。
如果该指令需要执行500次,正好1000us,也就是1ms。
机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。
例如一个单片机选择了12MHz晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
1、晶振的选择
晶振一般分为晶体振荡器和晶体谐振器。
在单片机系统中,晶体振荡器将外围的电容集成到振荡器的内部,无需再设计晶振电路,只需要将电源加载到晶振上,晶振就可以起振,并通过两个引脚输出到单片机的晶振引脚上。
一般的,由于晶体振荡器的体积较大,价格较贵,在实际使用中,还可以选择晶体谐振器,也就是常说的立式晶振。
该晶振需要外部的晶振电路才可以起振,但是由于该电路非常简单,并且使用灵活,在单片机系统中也有广泛地应用。
2、通用的晶振电路
单片机的晶振电路是一种典型电路,分为内部时钟方式和外部时钟方式两种。
内部时钟方式的电路如图4所示。
图4单片机的内部晶振电路
内部始终的晶振频率一般都选择在4MHz~12MHz之间,外接两个谐振电容。
该电容的典型值为30PF,但是在实际应用时,需要根据实际起振情况选择。
如果单片机的时钟必须使用某一个外接的时钟信号,就不要外接晶振。
由于此时的外接晶振引脚上没有晶振信号输入,内部的时钟电路将停振。
这种方式称为外部时钟方式。
图5给出了两种外部时钟的电路,可以根据不同的单片机型号选择不同的电路。
HMOS型单片机CHMOS型单片机
图5单片机的外部晶振电路
3、振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.5.2复位电路
简单地说,单片机的复位就和计算机的重起一样的概念。
任何单片机在工作之前都要有个复位的过程,复位对单片机来说,是程序还没有开始执行,是在做准备工作。
一般的复位只需要5ms的时间。
复位引脚RST/Vpd通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出,在每个机器周期的S5P2有复位电路采样依次。
当振荡电路工作,并且在RST引脚加上一个至少保持2个机器周期的高电平时,就能使8051完成一次复位。
按上面所说,时间不少于5ms。
为了达到这个要求,需要在外部设计复位电路。
复位电路的实现可以有很多种方法,但是从功能上一般分为两种:
一种是电源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;
另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。
1、通用的复位电路
和晶振电路一样,复位电路也是单片机系统的典型外部电路。
基本的复位电路的原理图如图6所示。
图6单片机的复位电路
从原理上,一般采用上电复位嗲路。
这种复位电路的工作原理是:
通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。
2、改进型的复位电路
对于有着丰富电路设计经验的读者而言,可以根据自己的需要,定制满足实际要求的电路。
这里,给出了一种根据实际需要设计的上电复位电路,如图7所示。
图7改进型的复位电路
2.5.3信号灯控制电路
外围器件选择的是发光二极管,发光二极管在其两端的电压差超出其导通压降时开始工作,发光二极管的导通压降一般为1.7V~1.9V。
此外,工作电流要满足该二极管的工作电流。
满足电流和电压的要求,发光二极管就可以发光了。
单片机系统中往往是数字信号,不是5V就是0V,所以只要将二极管的正负极和电源对应上就可以了。
但还需在发光二极管和单片机连接时加一个限流电阻,这个电阻的作用在于限制通过二极管的电流,从而达到减少功耗或者满足端口对最大电流的限制。
图8信号灯控制和时间显示电路
一般二极管的点亮电流为5mA至10mA,在5V驱动时,厂家多采用470欧的限流电阻,在电路中采用了1K的电阻,电流也就3~5mA。
当然为了更亮一点,可以减小电阻值,当然,二极管的电流不要超出单片机的I/O最大电流。
发光二极管的参数分成三大类:
一是电参数;
二是光参数;
三是极限参数。
●电参数
发光二极管的电参数主要有下列几项。
正向电压Vf。
它是指:
在给发光二极管加入规定的正向电流时,发光二极管正极与负极引脚之间的电压降。
发向耐压Vr。
保证发光二极管不出现反向击穿时所允许给发光二极管加的最大反向电压。
反向漏电流Ir。
在给发光二极管加上规定的反向偏置电压时,流过发光二极管的反向电流,即从负
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 时间 显示 控制