您当前的位置:五五电子网电子知识应用领域交通控制指示基于AT89S52的模拟交通灯控制系统的综合实验设计 正文
基于AT89S52的模拟交通灯控制系统的综合实验设计

基于AT89S52的模拟交通灯控制系统的综合实验设计

点击数:7572 次   录入时间:03-04 11:51:55   整理:http://www.55dianzi.com   交通控制指示

      本文介绍了模拟交通灯控制系统的综合实验设计,系统以AT89S52为核心,采用多种中断处理和P口分时复用功能来控制数码管和LED灯,实现了各种情况下交通灯的正常指示和倒计时功能。实验采用的软件有KeilC51、Proteus、Protel等,统计数据表明,通过实验能使学习者较完整地掌握单片机系统设计。

    随着各种车辆的增多,经常遇到交通堵塞问题,作为交通控制主要工具的交通灯,扮演着重要的角色,本文设计了一种交通灯控制系统综合实验,该系统包括:主控制器AT89S52、键盘模块、数码管显示模块、LED灯模块等,为使学习能综合练习从输入到输出的完整过程。系统中可采用主控器的外部中断功能、定时中断功能、动态扫描功能等,这些功能放入一个程序中,可使学习者能更深刻地理解它们的实际应用。

1 实验的设计目的
   
(1)通过学习该实验,掌握单片机并行口传输数据的方法,以控制数码管和发光二极管的亮灭。(2)掌握用动态扫描方法解决多位LED共用一个P口显示的问题。(3)通过单片机程序的编写,熟练掌握计数器/定时器和中断的使用方法。(4)通过系统的硬件设计,掌握驱动芯片的使用及数码管的连接,将所学的电路理论联系到实践中去。

2 硬件设计
2.1 模拟交通灯控制系统框图
   
系统主要由单片机最小系统、功能键模块、特殊事件处理模块、接口电路、驱动电路及LED显示模块组成。其中,单片机为系统的主控部件,用以控制其他模块协调工作,文中选择AT89S52为主控芯片。LED显示模块用以显示各车道的通行情况及时间(红灯表示该车道禁止通行;绿灯表示该车道允许通行,黄灯为中间过渡时间);驱动电路用以驱动LED和数码管工作;特殊事件处理模块以外部中断方式进入;接口电路则起到各模块间的连接作用,以使整个系统正常工作。模拟交通灯控制系统的硬件框图如图1所示。

a.JPG


2.2 各模块的硬件结构
   
(1)LED板模块。由于交通实际情况是右转不受红绿灯限制,车辆直行与人行道的直行一致,因此该实验设计每块LED板包含一个两位数码管U1、6个LED灯D1~D6,其中,6个LED灯排成两行,每行有红(R)、黄(Y)、绿(G)3个灯,上面一行指示车辆和人行的直行(S)通行,下面一行指示车辆的左转(L)通行。6个LED的阴极连接到一个公共段G1上,当G1为低电平,a为高电平时就可以点亮D1;同样,若要点亮D6,只要使G1为低电平,f为高电平即可。
    (2)驱动电路。ULN2003是常见的驱动芯片,一片可提供8路驱动信号,两片ULN2003共16路,用于驱动8位数码管及4组2×3LED灯的阴极,其中U2为LED灯的阴极驱动芯片,U3为数码管的驱动芯片;8个三极管Q1~Q8组成的共集电极电路用于驱动8位数码管的段及LED灯的阳极。
    (3)单片机接口电路。系统中的单片机选择AT9S52芯片,对交通灯的控制主要用其中的定时器完成,一方面要完成对各模块的控制,另一方面是协调好各模块的时序及口线冲突问题。如图1所示,P1为数码管段码和LED灯阳极的控制口,P0和P2分别为数码管和LED灯的位选信号控制口。
    (4)按键模块。图1中,在P3口的P3.2~P3.6引脚各装有一个按键K1~K5,其中,K1用于外部中断0发出一单脉冲向CPU申请中断,K2用于外部中断1发出一单脉冲向CPU申请中断进行模式选择,K3~K5是设置倒计时时间的功能键,K3用于数码管的换位,K4用于进行加1操作,K5用于确认操作。



www.55dianzi.com


3 软件设计
3.1 工作模式说明
   
系统分3种工作模式:正常模式、特殊事件模式和时间设置模式,并且通过图1中K1、K2按钮可实现模式选择。交通灯的主要状态示意图,如图2所示,南北方向交通灯亮灭顺序及时间长短如图3所示。

b.JPG


    (1)正常模式。
    状态1 如图2程序开始运行先南北段通行60 s,其中车辆和人行道的直行通行40 s,数码管显示时间40 s,此时南北段直行通行绿灯亮(SG)、左转红灯亮(LR),东西段直行左转红灯都亮60 s,同时南北段和东西段方向的数码管分别从40 s和60 s开始倒计时。
    状态2 南北段直行倒计时至最后5 s时,直行绿灯同时黄灯闪烁(SG SY);左转红灯同时黄灯闪烁(LR LY),如图3所示。
    状态3 如图2所示,南北段直行倒计时为0时,数码管显示时间从20 s开始倒计时,直行通行红灯亮(SR)、左转绿灯亮(LC),表示禁止车辆和人的直行,允许左转,左转通行20 s,东西段红灯继续倒计时。
    状态4 南北段左转倒计时至最后5 s时,直行红灯继续亮(SR),左转绿灯同时黄灯闪烁(LG LY),如图3所示。
    状态5 南北段左转倒计时为0时,数码管显示时间从60 s开始倒计时,直行红灯亮(SR)、左转红灯亮(LR),表示禁止南北段的直行和左转。东西段状态与南北段交替,开始允许直行通行40 s后左转通行20 s,再循环至状态1。
    (2)特殊事件模式。特殊事件指临时需紧急通行的事件,比如急救车、消防车、警车等。此时,应使东西南北4个方向全亮红灯,并延时10 s,以便特殊事件得到解决。
    (3)时间设置模式。如果某路段的时间初始值与该路段的车辆通行状况不符,可按下中断键进入时间设置模式,对该路段各个路口的直行、左转时间长度进行设置。
3.2 程序流程图
   
软件设计主要用C语言编程,总程序分为3部分:主程序;显示控制、状态处理等子程序;定时、特殊事件和时间设置等中断处理程序。
    (1)主程序流程。系统以正常状态下交通信号灯各状态的循环显示为主程序,如图4所示。在主程序中,调用数码管倒计时子程序和中断延时以实现各种交通状态。

c.JPG

 



www.55dianzi.com


    (2)显示控制。数码管采用动态方式显示交通指示灯的计时时间,查询判断是否计满50 ms,记满后需重置计数初值,循环显示20次直至完成定时1 s,倒计时时间减1。流程如图5所示。

d.JPG


    (3)特殊事件通行控制。发生特殊事件时通行受特殊事件强行通过按键控制,将此按键按下,无论原来信号灯的状态如何,一律强制4个路口红灯点亮,禁止其他车辆通行,使特种车放行10 s,其流程如图6所示。

e.JPG



4 实验结果与分析
   
设计中学习者首先需要在KeilC51环境下对编写的程序进行编译调试,然后要用Proteus软件对模拟交通灯控制系统进行仿真分析,实现系统运行所需的功能,最后可在Protel中画出PCB图,动手制作PCB板并组装完成。
    为检验学习者做该交通灯综合实验的学习效果,实验前后对63名学习者关于AT89S52单片机部分软硬件设计知识的掌握情况,进行了填表调查,结果如表1所示。

f.JPG


    实验结果表明,学习者通过做该模拟交通灯综合实验,可以更灵活、有效、全面地掌握单片机软硬件设计。

5 结束语
   
该模拟交通灯控制系统硬件部分具有电路简单、成本低、可扩展等优点,通过软件部分,控制4块LED板上的数码管倒计时及红、黄、绿二极管的点亮与熄灭,实现基本的交通灯功能,时间设置功能和特殊事件处理等功能。




本文关键字:控制系统  交通灯  交通控制指示应用领域 - 交通控制指示