基于89C51单片机交通灯课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
关键词:交通灯单片机数码管
一 .总体设计思路
1.1设计目的及思路
设计目的
了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED显示问题的解决。
设计思路
(1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。
(2)确定系统交通控制的总体设计,增加了倒计时显示提示。
(3)进行显示电路。
(4)进行软件系统的设计。
1.2 实际交通灯显示时序及状态转换的理论分析
图1所示为红绿灯转换的状态图。
S1 S2
图1 红绿灯状态转换图 表1 十字路口指示灯燃亮方案
说明:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒。
(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。 时间为80秒。 东西方向车流大 通行时间长。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。 (5)此表可根据车流量动态设定红绿灯初始值。
共四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一个周期,循环执行如下图所示:
状态 S1 S2 S3 S4 时间 30s 5s 30s 5s 东西道 红灯亮 红灯亮 绿灯亮 黄灯亮 南北道
绿灯亮
黄灯亮
红灯亮
红灯亮
S4
S3
图2 交通灯状态循环图
程序就是在上述四种状态下循环转化的。一个周期四个状态,在正常模式下共花费1分10秒。
二.具体设计方案
2.1方案要求:
本设计要求与交通信号实际控制一致,采用LED模拟信号灯,信号灯分东西、南北二组,分别有红、黄、绿三色。其工作状态由程序控制,启动、停止按钮分别控制信号灯的启动与停止。白天/黑夜转换开关可对信号进行控制转换。并且要求能用两位数码管(或者一位数码管)来显示红灯或者绿灯等待的时间,在黄灯的时候数码管不显示。信号灯的控制要求如下:
⑴假设东西方向交通繁忙为主干道,车流量为南北交通的两倍。因此东西方向的绿灯通行时间为是南北方向上的两倍。
⑵开始时东西方向绿灯先亮,南北为红灯。
⑶按下启动按钮开始工作,,按下停止按钮,停止工作。白天/黑夜转换开关闭合时为黑夜工作状态,这时只有黄灯来回闪烁,断开为白天工作状态。白天工作状态要求:东西方向绿灯亮40s,然后黄灯闪三下(1下/秒,共5秒),然后红灯亮20s,而南北方向为红灯亮40s然后绿灯亮20s,然后黄灯也闪三下;如此周期循环下去。
示意图
2.2方案分析
根据十字路口交通灯的要求,可将本系统分为三个模块,第一模块是控制模块,主要负责整个系统的控制和运算,从而使各模块正常工作,第二个模块式显示模块包括LED灯和数码管;第三是电源模块,给各模块提供电源,让各模块工作。其系统设计结构如图:
图3.系统设计结构图
2.3 89C51单片机引脚功能说明
89C51外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便)
┏━┓┏━┓
P1.0 ┫1 ┗┛40┣ Vcc
P1.1 ┫2 39┣ P0.0
P1.2 ┫3 38┣ P0.1
P1.3 ┫4 37┣ P0.2
P1.4 ┫5 36┣ P0.3
P1.5 ┫6 35┣ P0.4
P1.6 ┫7 34┣ P0.5
P1.7 ┫8 33┣ P0.6
RST/Vpd ┫9 32┣ P0.7
RXD P3.0 ┫10 31┣ -EA/Vpp(内1/外0 程序地址选择)
TXD P3.1 ┫11 30┣ ALE/-P (地址锁存输出)
-INT0 P3.2 ┫12 29┣ -PSEN (外部程序读选通输出)
-INT1 P3.3 ┫13 28┣ P2.7
T0 P3.4 ┫14 27┣ P2.6
T1 P3.5 ┫15 26┣ P2.5
-WR P3.6 ┫16 25┣ P2.4
-RD P3.7 ┫17 24┣ P2.3
X2 ┫18 23┣ P2.2
X1 ┫19 22┣ P2.1
GND ┫20 21┣ P2.0
┗━━━━┛
引脚说明:
①电源引脚
Vcc(40脚):典型值+5V。
Vss(20脚):接低电平。
②外部晶振
X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地
③输入输出口引脚:
P0口:I/O双向口。作输入口时,应先软件置“ 1”。
P1口:I/O双向口。作输入口时,应先软件置“ 1”。
P2口:I/O双向口。作输入口时,应先软件置“ 1”。
P3口:I/O双向口。作输入口时,应先软件置“ 1”。
④控制引脚:
RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。
RST/Vpd(9脚):复位信号输入端(高电平有效)。
第二功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。
ALE/-PROG(30脚):地址锁存信号输出端。
第二功能:编程脉冲输入。