图3.2 AT89C2051内部结构图
3.2.4 AT89C52芯片最小系统
一个最简单的单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,
以及其他外围模块(如通信、数据采集等)。
(1)时钟电路
首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz、本系统采用11.0592MHz晶振,电容
选22pF或30pF均可。
(2)复位电路
系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时,也
需要进行系统复位。复位电路有很多种,有上电复位,手动复位等。
(3) EA脚的功能及接法
13
单片机的EA脚控制程序从内部存储器还是从外部存储器读取程序。由于现在单片机内部的flash容量都很大,因此基本都是从内部的存储器读取程序,即不需
要外接ROM来存储程序,因此,EA脚必须接高电平。
本设计中复位方式采用上电∕按键手动复位方式,时钟采用内部时钟。如下图
3.3所示。
图3.3 本系统复位与时钟方式
3.3其它硬件介绍及连接 3.3.1车流量检测电路及模拟
为了达到对红绿灯的时间控制,需要对道路上的车流量进行检测。当前比较流行的车流量检测器件,是一种自感式的车辆传感器。其工作原理是当车辆经过传感器时,引起其自感的变化,考虑到单片机系统的便利性,本次设计用一种手动的操作方式,即车流量的检测电路用拨断开关代替。其基本思路为:当车流量大时,有拨断开关送出一个高电平。另外,再单片机和坡度按开关之间加了光电隔离。下面
叫简绍光电隔离,以TLP550为例。
TLP550是日本东芝公司生产的一款光耦,该光耦没有和基极连接,适合与再噪声比较大的环境中应用。TLP550的工作原理如下:当2.3叫的电压为正,且能时发光二极管正常发光时,控制的发光二极管发光,使得输出端的光敏二极管导通。这样输出端的基极相当于与8引脚连接,其电平为高,使得三极管导通,及5.6两个引脚导通。由于5引脚接地,这样输出端6叫就为低电平。再实际使用中,6.8引脚通常会连接一个电阻。这样当2.3引脚的电压不足使发光二级光发光时,输出端三极管就不到同,就相当于输出端6引脚通过一个电阻接到了8脚上。相对于后面的连接电路来书,其为高电平。这样就可以通过控制2.3引脚之间的电压,来控制输出6引脚的电平,达到电压耦合的隔离的作用。车流量检测电路如下图3.4所示。
14
图3.4 车流量检测电路
基于光电隔离的作用,再加上拨断开关和LED,为了避免干扰信号,可以加入光电耦合器。如图所示,当开关状态如图所示时,LED点亮,同时低电平被单片机捕获。当开关拨下时LED熄灭,同时高点平被单片机捕获,这样单片机通过捕获的
电平状态做出相应的控制,与LED的状态即车流量的状态互相配合协调。
3.3.2违规检测电路及模拟 在红灯和黄灯期间,车辆是禁行的,为了对那些违反规则的车辆进行检测,可使用超声波车辆传感器。但是,用于受到条件的限制,本系统设计中只是使用了普
通光敏二极管。
图3.5 违规检测电路
其基本设计思想是:将光敏二极管放在停车线上,当车辆行驶过将光敏二极管遮住,这样,光敏二极管就不导通,单片机检测到这一信号执行警报操作。违规检
测电路如下图3.5所示。
但是除了使用光敏二极管,还需使用三极管,三极管的型号是9031.由于普通光敏二极管的开关特性不太好,所以设计在电路中加入了三极管作为开关。由于普通光敏二极管在导通的情况下的电阻都能达到0.5-1K,所以在设计中将光敏二极管
15
直接连到了电源上。同时三极管还可以起到一定的隔直作用。当光敏二极管关闭时,三极管的基极为低电平,基极与发射基之间的电压为零,三极管关断,检测口的电压为高电平。同理,当光敏二极管导通时,三极管的基极电压为高,基极与发射极之间的电平为高,三极管导通,检测口的电压为低电平。基于此就可以检测是否有
违规车辆了。 3.3.3八段LED数码管
LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阳极连在一起,如图3.6所示。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段LED数
码显示管,其他类形的显示管与其类似。
图3.6 LED数码管
LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动
代码,代码表如下表3.1所示。
16

