1、 交通信号灯实时控制系统设计 一、设计目的 1学习单片机基本电路的设计,加深对单片机理论知识的理解 2掌握单片机内部各功能模块的功能与应用,学会单片机基本外设电路的 设计 3、学习单片机汇编语言及程序设计方法,掌握单片机汇编语言的程序设计 4掌握单片机应用系统的软件和硬件设计过程、调试方法及功能实现 二、设计要求 1、根据实际交通状况,分别控制红、绿、黄灯的燃亮与熄灭情况 2、各信号灯的燃亮时间为:绿灯:60秒,红灯:80秒,黄灯:5秒 3、红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S 后然后 恢复正常。 4、绿灯倒计时时,检测车流量 三、 硬件电路设计 1芯片选用 选用设备80
2、51 单片机一片,8255 并行通用接口芯片一片,74LS07 两片, MAX692看门狗一片,共阴极的七段数码管两个双向晶闸管若干,7805 三端 稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。 8051 是MCS-51 系列单片机的典型产品,8051 单片机包含中央处理器、程 序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断 系统等几大单元及数据总线、地址总线和控制总线等三大总线。 8051引脚图 8255 可编程并行接口芯片有三个输入输出端口,即A口、B 口和C 口,对应 于引脚PA7PA0、PB7PB0 和PC7PC0。其内部还有一个控制寄存
3、器,即控制 口。 通常A 口、 B 口作为输入输出的数据端口。 C 口作为控制或状态信息的端口, 它在方式字的控制下,可以分成4 位的端口,每个端口包含一个4 位锁存器。它 们分别与端口A配合使用,可以用作控制信号输出或作为状态信号输入。 8255引脚图 74LS373 是一种带三态门的8D 锁存器, 其管脚示意图如图1: 其中: 1D-8D 为 8 个输入端。1Q-8Q 为8 个输出端。LE 为数据打入端:当LE 为“1”时,锁存 器输出状态同输入状态;当LE 由“1”变“0”时,数据打入锁存器OE 为输出允 许端:当OE=0 时,三态门打开;当OE=1 时,三态门关闭,输出高阻。 74LS
4、373 芯片管脚图 2系统工作原理 (1)开关键盘输入交通灯初始时间,通过 8051 单片机 P1 输入到系统 (2)由 8051 单片机的定时器每秒钟通过 P0 口向 8255 的数据口送信息,由 8255 的 PA口显示红、绿、黄灯的燃亮情况;由 8255 的 PC 口显示每个灯的 燃亮时间。 (3) 8051 设置各个信号灯的燃亮时间, 通过 8051 设置,绿、 红时间分别为 60 秒、80 秒循环,由 8051 的 P0 口向 8255 的数据口输出。 (4)通过 8051 单片机的 P3.0 位来控制系统是工作或设置初值,当为 0 就对 系统进行初始化,为 1 系统就开始工作。 (
5、5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S 后然后恢 复正常。 (6)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0 端口的电平是否 为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记 入。 (7)绿灯时间倒计时完毕,重新循环。 三、 软件设计 1 1秒脉冲的产生 延时方法可以有两种一中是利用MCS-51 内部定时器才生溢出中断来确定1 秒的时间,另一种是采用软件延时的方法。 2计数器硬件延时 2.1 设置计数器初值 定时器工作时必须给计数器送计数器初值,这个值是送到TH 和TL 中的。他 是以加法记数的,并能从全1 到全0 时自动产生溢出中断请
6、求。因此,我们可以 把计数器记满为零所需的计数值设定为C 和计数初值设定为TC 可得到如下计算 通式: TC=M-C 式中, M 为计数器摸值, 该值和计数器工作方式有关。 在方式0 时M 为213 ; 在方式1 时M 的值为216;在方式2 和3 为28 2.2 计算公式 T=(MTC)T 计数或 TCT 计数 T 计数是单片机时钟周期的12 倍;TC 为定时初值;如单片机的主脉冲 频率为12MHZ,经过12 分频: 方式:TMAX213 *微秒8.192 毫秒 方式:TMAX216 *微秒65.536 毫秒 显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软 件相结合的办法才能解决这个问题。 2.3 秒计时 我们采用在主程序中设定一个初值为20 的软件计数器和使0 定时50 毫 秒这样每当0 到50 毫秒时CPU 就响应它的溢出中断请求,进入他的中断服 务子程序。在中断服务子程序中,CPU 先使软件计数器减,然后判断它是否为 零。为零表示秒已到可以返回到输出时间显示程序。 2.4