当前位置:文档之家› 基于51单片机的智能交通灯课程设计

基于51单片机的智能交通灯课程设计

目录摘要 (1)1 系统硬件设计 (2)1.1 80C51单片机引脚图及引脚功能介绍 (2)1.2 74LS245引脚图及功能 (4)1.3 八段LED数码管 (5)1.4 硬件系统总控制电路 (6)1.5各模块控制电路 (8)1.5.1 交通灯控制电路 (8)1.5.2 倒计时显示电路 (9)1.5.3 紧急通行电路 (12)1.5.4 声音警示装置 (13)2 系统程序设计 (14)2.1 主程序流程图 (14)2.2 显示子程序流程图 (15)3 心得体会 (16)参考文献 (17)附录源程序 (18)摘要近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。

计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。

单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。

在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现交通的井然秩序呢?靠的是交通信号灯的自动指挥系统,来实现交通的井然有序。

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

本系统采用美国ATMEL公司生产的单片机AT80S51,以及其它芯片来设计交通灯控制。

实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,输出设置显示时间。

交通灯的点亮采用发光二极管实现,时间的显示采用七段数码管实现。

单片机系统采用的直流供电。

关键词:AT89S51单片机;智能交通灯控制系统;基于51单片机智能交通灯设计1 系统硬件设计1.1 80C51单片机引脚图及引脚功能介绍80C51系列中,用CHMOS工艺制造的单片机都采用双列直插式(DIP)40脚封装,引脚信号完全相同。

图1-1为引脚图图1-1 80C51引脚图这40根引脚大致可分为:电源(V CC、V SS、V PP、V PD)、时钟(XTAL1、XTAL2)、I/O口(P0~P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、、、)等几部分。

它们的功能简述如下:1.电源Vcc(引脚号40),芯片电源,接+5V;Vss(引脚号20),电源接地端。

2.时钟XTAL1(引脚号18)内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。

当采用外部振荡器时,此引脚接地。

XTAL2(引脚号19)内部振荡器的反相放大器输出端,是外接晶振的另一端。

当采用外部振荡器时,此引脚接外部振荡源。

3. 控制总线(1)ALE/(引脚号30): 正常操作时为ALE功能(允许地址锁存),用来把地址的低字节锁存到外部锁存器。

ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。

因此,它可用作对外输出的时钟信号或用于定时。

但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。

ALE端可以驱动(吸收或输出电流)8个LSTTL电路。

在8751单片机EPROM编程期间,此引脚接编程脉冲(功能)。

(2)(引脚号29):外部程序存储器读选通信号。

在从外部程序存储器取指令(或数据)期间,在每个机器周期内两次有效。

可以驱动8个LSTTL电路。

(3)RST/VPD(引脚号9):复位信号输入端。

振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。

此引脚还可接上备用电源。

在Vcc掉电期间,由向内部RAM提供电源,以保持内部RAM中的数据。

(4) /Vpp(引脚号31):为内部程序存储器和外部程序存储器的选择端。

当为高电平时,访问内部程序存储器(PC值小于4K);当为低电平时,访问外部程序存储器。

对于87C51单片机,在EPROM编程期间,此端为21V编程电源输入端。

4. I/O线(1)P0口(引脚号32~39):单片机的双向数据总线和低8位地址总线。

在访问外部存储器时实现分时操作,先用作地址总线,在ALE信号的下降沿,地址被锁存;然后用作为数据总线。

它也可以用作双向输入/输出口。

P0口能驱动8个LSTTL负载。

(2)P1口(引脚号1~8):准双向输入/输出口,它能驱动4个LSTTL负载。

(3)P2口(引脚号21~28):准双向输入/输出口。

在访问外部存储器时,用作高8位地址总线。

P2口能驱动4个LSTTL负载。

(4)P3口(引脚号10~17):准双向输入/输出口,它能驱动4个LSTTL负载。

P3口的每一引脚还有另外一种功能:P3.0——RXD:串行口输入端P3.1——TXD:串行口输出端P3.2——:外部中断0中断请求输入端P3.3——:外部中断1中断请求输入端P3.4——T0:定时器/计数器0外部输入端P3.5——T1:定时器/计数器1外部输入端P3.6——:外部数据存储器写选通信号P3.7——:外部数据存储器读选通信号1.2 74LS245引脚图及功能74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

它的功能引脚图如图1-2所示。

图1-2 74LS245引脚图74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。

由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G 接地,P2口与驱动器输入线对应相连。

P0口与74LS245输入端相连,E端接地,保证数据线畅通。

8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。

1.3 八段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。

LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。

以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阳极连在一起,如图1-3所示。

这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。

为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。

图1-3 八段共阳管示意图LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如表1所示。

表1 驱动代码表相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。

LED8段数码管的设置为每个方位上的一对2为显示器。

四个方位上总共用4个LED接在单片机的IO口上。

虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的IO口是对称的。

1.4 硬件系统总控制电路本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成。

其具体的硬件电路总原理图如图1-4所示。

其中P0用于送显四片LED数码管,P2用于控制红绿黄发光二极管,P1.0,P1.1,与P1.1和P1.2对数码管进行片选,P3口为紧急情况处理按键,既根据车流量控制红绿黄发光二极管通断时间。

系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P2口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。

时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启三个外部中断,其一为全部路口紧急情况处理中断,一旦信号有效,即按键为低电平时进入中断服务子程序,东西南北路口的状态禁止通行。

其二为东西方向或南北方向禁止通行,一旦信号有效将进入相应中断服务子程序,某一方向状态禁止通行。

其三为通行时间调整中断,若按键有效,进入相应的中断子程序,对时间进行调整,可延长或减少某一路段的通行时间,此后再按确定键则中断结束返回。

图1-4 控制系统总原理图1.5各模块控制电路1.5.1 交通灯控制电路这里我们采用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。

在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,控制受单片机P2.1~P2.6控制。

单片机的I/O接口与交通灯电路的具体连接方式为:P2.1~P2.3分别接东西方向的红、黄、绿共6个放光二极管,P2.4~P2.6分别接南北方向的红、黄、绿共6个发光二极管。

12个发光二极管采用了共阴极的连接方式,因此I/O口输出高电平时,与之相连的发光二极管会亮,I/O口输出低电平是,相应的发光二极管会灭。

初始东西绿灯亮,南北红灯亮,东西路口车通行,时隔20s,黄灯闪烁5次。

之后,南北绿灯亮,东西红灯亮,方向开始通车,时隔20s,南北黄灯闪烁5次,然后又切换成东西方向通车,如此重复。

当某一方向发生交通意外或者需要停止方向通行是,这一方向亮红灯。

处理完之后,按下确定键,重新按上述方式工作。

当发生交通意外(中断产生)时,全部亮红灯,进行交通事故的处理。

当事故处理完毕,按下确定键,重新按上述方式工作。

当南北路口的流量大时,可以增加南北路口亮绿灯的时间,当东西路口的流量大时,可以增加东西路口亮绿灯的时间,结束后调回正常状态。

交通灯电路如图1-5所示。

图1-5 交通灯电路1.5.2 倒计时显示电路倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。

驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。

倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。

四个路口的计时显示都是由P0口控制,又P1口的P1.0~P1.2片选这些显示管,而东西两个方向的显示时间一样,南北方向时间也一样,片选信号能控制东西也南北显示不同的时间。

当某一方向为绿灯时,在绿灯倒计时结束后会再显示一个5S的倒计时,以供黄灯显示使用。

显示管连接图如图1-5所示。

在单片机与显示器之间加了一个8*4.7k的排阻与一个74LS245芯片,排阻的作用是上拉电阻,防止电流过高烧掉显示管,起到保护显示管的作用,其连接图如图1-6所示。

相关主题