单片机模拟交通灯控制器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟交通灯控制器
一、设计目的:
在完成“单片机原理及应用”课程的学习后,通过设计小型的单片机应用系统,加深对所学知识的理解和提高单片机系统的设计能力。
二、设计任务和要求:
1、设计任务:设计基于AT89C51单片机的十字路口交通灯控制电路。
2、具体要求:
(1)设计硬件电路,包括:单片机最小系统、2位LED数码管显示器、3个按钮的键盘(SET、UP、DOWN)、12个led指示灯(红黄绿三种颜色,东西并联、南北并联),等。(2)基本功能:
a.要求东西方向(A方向)车道和南北方向(B方向)车道
两条交叉道路上的车辆交替通行,每次通行时间为N秒(红灯、绿灯亮的时间为N秒,N≤60S) ,可以设置。
b. 在绿灯转为红灯时,要求黄灯先亮3秒(固定),才能交换运行车道。
c. 剩余秒数显示:2位LED数码管,倒计时方式:
(N+3)~1
可选的扩展功能:
a. 黄灯亮时,要求0.5s闪烁一次。
b. A方向、B方向的通行时间可以不同,如:A方向通行50s,B方向通行30s。
三、硬件设计原理
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示:
图1 交通状态
1、通过具体的路口交通灯状态的演示分析我们可以把这
四个状态归纳如下:
◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红
灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向
允许通行。
◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时
5秒。此状态下,除了已经正在通行中的其他所以车辆都需
等待状态转换。
◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红
灯亮,倒计时20秒。此状态下,东西向允许通行,南北向
禁止通行。
◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时
5秒。此状态下,除了已经正在通行中的其他所以车辆都需
等待状态转换。
2、下面我们可以用图表表示灯状态和行止状态的关系如下:
3、交通状态及红绿灯状态
状态1 状态3 状态4 状态6 东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯 1 1 0 0 东西黄灯0 0 0 1
东西绿灯
0 0 1 0 南北红灯
0 0 1 1 南北绿灯
1 0 0 0 南北黄灯 0 1 0 0 东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表1所示。说明:0表示灭,1表示亮。
四、单片机交通控制系统的基本构成及原理
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED 数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急情况处理与时间调整功能。
图2系统的总体框图
单片机 最小系统
外围接口电路 LED 数码管显示
红黄绿信号灯
按键 控制电路
据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。系统的总体框图如上所示。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中随时调用急停按键和时间调节中断。
五、交通灯控制系统的硬件设计
1、AT89C51单片机简介
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写
“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)