单片机原理与应用课程设计
I
宁波理工学院
第一章 概述
1.1 红绿灯仿真设计背景
随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城
市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,
通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的
延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流
量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交
通现状。
目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜
色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安
全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在
以下缺点:1.两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一
个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较
少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,
臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
1.2 设计思路分析
本系统是以 AT89C51 单片机作为控制系统的核心,模拟定周期交通信号
灯的工作状态。并采用 PROTEUS 进行仿真,仿真结果满足预期性能要求。
利用 AT89C51 单片机设计一十字路口交通灯控制系统。
1、系统由单片机系统、数码管显示、交通灯演示系统组成。
2、具有人行道、左转、右转,以及基本的交通灯的功能。
3、具有数码管倒计时功能。
4、要求甲乙车道的车辆交替运行,每次通行为 60 秒。为绿灯的车道先显
示 40 秒的直行,再显示 20 秒的左行。
2
5、要求黄灯先亮四秒,才能变换车道,黄灯亮时要求闪亮。
第二章 红绿灯仿真原理
2.1 原理知识
2.1.1 中断
CPU 与外围设备(如按键、显示器等)联系沟通的方法有查询和中断两种。
中断方法是指当外围设备需要服务时,外设会主动告诉 CPU,CPU 得知有外围
设备需要服务时,才去执行中断处理子程序,所以省去了依次查询的时间,提
高 CPU 的利用率。
其中中断源及中断服务程序入口地址如表 1 所示。
表 1 中断矢量表
中断源 中断标志 中断矢量 引脚 优先次序
INT0 外部中断 0
IE0 0003H P3.2
高
低
定时/计数器 0 中
断
TF0 000BH P3.4
INT1 外部中断 1
IE1 0013H P3.3
定时/计数器 1 中
断
TF1 001BH P3.5
串行中断
TI/RI 0023H
2.1.2 LED 显示
LED 动态显示,在多位 LED 显示时,为了简化电路,降低成本,将段选位
并联在一起,由一个八位的 I/O 口控制,而位选由另一个口控制, 段选码、位
3
选码每次送入后演示 1ms,而人的视觉暂留时间为 0.1s,所以在人看来数码管
一直亮着,从而在应用中通过动态扫描的方法显示。
2.2 系统总体框图
图 1 交通灯仿真系统框图
控制流程分析:
(1)从十字路口交通灯分析可知:东西、南北方向信号灯控制是中心对称的 ,
即无论是主干道还是支干道两侧系统对同方向的信号灯控制是同步的。
(2)分析可知,人行道各个方向,系统对两侧的信号灯的控制也是同步的,
且人行道的红绿灯变化和行车道的红绿灯变化应该是一致的。
(3)通过上面的分析,可以采用单片机的 P0-P3 口及 R0 到 R7 寄存器配合来
实现控制发光二极管灯和数码管。
系统的硬件设计:
4