模拟交通灯的控制.docx
- 文档编号:24878189
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:17
- 大小:759.96KB
模拟交通灯的控制.docx
《模拟交通灯的控制.docx》由会员分享,可在线阅读,更多相关《模拟交通灯的控制.docx(17页珍藏版)》请在冰豆网上搜索。
模拟交通灯的控制
模拟交通灯的控制
一、选题的原因
通过对模拟交通灯控制系统的制作,进一步熟悉51单片机,掌握定时器和中断系统的综合应用,熟练软、硬件的调试方法。
二、任务要求
设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯的控制:
(1)正常情况下双方向轮流点亮交通灯,交通灯的状态如表1所示。
(2)特殊情况1:
特殊情况时,A通道放行。
(3)特殊情况2:
有紧急车辆通过时,A、B通道均为红灯,紧急情况优先级高于特殊情况。
表1交通灯显示状态
东西方向(简称A方向)
南北方向(简称B方向)
状态说明
红灯
黄灯
绿灯
红灯
黄灯
绿灯
灭
灭
亮
亮
灭
灭
A方向通行,B方向禁行
灭
灭
闪烁
亮
灭
灭
A方向警告,B方向禁行
灭
闪烁
灭
闪烁
灭
灭
A方向警告,B方向禁行
亮
灭
灭
灭
灭
亮
A方向禁行,B方向通行
亮
灭
灭
灭
灭
闪烁
A方向禁行,B方向警告
闪烁
灭
灭
灭
闪烁
灭
A方向禁行,B方向警告
三、电路分析、仿真图及元器件选择
1、电路分析:
根据任务可以看出,该系统涉及定时控制东、南、西、北四个方向的12个交通信号灯,且出现特殊和紧急情况时,能及时调整交通灯的指示状态。
采用12个LED发光二极管模拟红、黄、绿交通灯,用单片机的P1口控制发光二极管的亮灭状态;交通灯控制端口线分配及控制状态如表2所示。
需要采用两个按键S1、S2模拟紧急情况和特殊情况的发生,当S1、S2为高电平(不按按键)时,表示正常情况,当S1为低电平(按下按键)时,表示紧急情况,将S1信号接至
脚(P3.2)即可实现外部中断0的中断申请,当S2为低电平(按下按键)时,表示特殊情况,将S2信号接至
脚(P3.3)即可实现外部中断1的中断申请。
根据以上分析,交通灯控制端口线分配及控制状态如下表2所示:
表2交通灯控制端口线分配及控制状态
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
P1端口
数据
状态说明
A红灯
A黄灯
A绿灯
B红灯
B黄灯
B绿灯
1
1
0
0
1
1
F3H
状态1:
A通行,B禁行
1
1
0、1交
替变换
0
1
1
状态:
2:
A绿灯闪,B禁行
1
0、1交
替变换
1
0、1交
替变换
1
1
状态3:
A警告,B禁行
0
1
1
1
1
0
DEH
状态4:
A禁行,B通行
0
1
1
1
1
0、1交
替变换
状态5:
A禁行,B绿灯闪
0、1交
替变换
1
1
1
0、1交
替变换
1
状态6:
A禁行,B警告
2、仿真图:
根据以上的分析,用proteus画出仿真图如下图1所示。
图1proteus仿真电路图
3、元器件选择:
根据图1所示的电路图,列出该电路的元器件清单如表3所示。
表3元器件清单
元器件名称
参数
数量
作用
IC插座
DIP40
1
固定芯片
单片机
STC89C52
1
晶体振荡器
12MHz
1
瓷片电容
30pF
2
发光二极管
红、黄、绿
12
模拟交通信号灯
电阻
10KΩ
3
电解电容
22μF
1
弹性按键
3
电阻
300Ω
12
限制通过二极管的电流
四、程序设计
1、程序流程图:
(1)正常情况下交通灯控制程序流程:
在正常情况下,A、B方向交通灯每55秒变换一次,变化时,绿灯、黄灯、红灯分别闪烁3次,每次延时1秒,其控制流程如下图2所示。
图2在正常情况下交通灯控制程序流程
(2)特殊情况1流程:
特殊情况1为仅允许A向通行,采用外部中断1方式进入与其相应的中断服务程序,并设置该中断为低优先级中断,控制A方向单向通行时间为60s,其流程如图3所示。
图3特殊情况1流程图
(3)特殊情况2:
特殊情况2为有紧急车辆通过时,A、B通道均为红灯,特殊情况2优先级高于特殊情况1,这种情况我们也设置两边均为红灯的时间为30s。
当有紧急车辆通过时,采用外部中断0的方式进入与其相应的中断服务程序。
图4特殊情况2流程图
2、源程序
#include
unsignedchart0,t1;//定义全局变量,用来保存延时时间循环次数
//函数名:
delay0_5s1
//函数功能:
用T1的工作方式1编制0.5s延时程序,假定系统采用12MHz晶振,定时器1、工作方式1定时50ms,再循环10次即可定时到0.5s
//形式参数:
无
//返回值:
无
voiddelay0_5s1()
{
for(t0=0;t0<0x0a;t0++)//采用全局变量t0作为循环控制变量
{
TH1=0x3c;//设置定时器处初值
TL1=0xb0;
TR1=1;//启动T1
while(!
TF1);//查询计数是否溢出,即50ms定时时间到,TF1=1
TF1=0;//50ms定时时间到,将定时器溢出标志位TF1清零
}
}
//函数名:
delay_t1
//函数功能:
实验0.5s~128s延时
//形式参数:
unsignedchart;延时时间为0.5s*t
//返回值:
无
voiddelay_t1(unsignedchart)
{
for(t1=0;t1 delay0_5s1(); } //函数名: int_0 //函数功能: 外部中断0中断函数,紧急情况处理,当CPU响应外部中断0的中断请求时,自动执行该函数,实现两个方向红灯同时亮10s //形式参数: 无 //返回值: 无 voidint_0()interrupt0//紧急情况中断 { unsignedchari,j,k,l,m; EA=0;//关中断 i=P1;//保护现场,暂存P1口,t0,t1,TH1,TL1 j=t0; k=t1; l=TH1; m=TL1; EA=1;//开中断 P1=0xdb;//两个方向都是红灯 delay_t1(120);//延时60s EA=0;//关中断 P1=i;//恢复现场,暂存P1口,t0,t1,TH1,TL1 t0=j; t1=k; TH1=l; TL1=m; EA=1;//开中断 } //函数名: int_1 //函数功能: 外部中断1中断函数,特殊情况处理,当CPU响应外部中断1的中断请求时,自动执行该函数,实现A道放行5s //形式参数: 无 //返回值: 无 voidint_1()interrupt2//特殊情况中断 { unsignedchari,j,k,l,m; EA=0;//关中断 i=P1;//保护现场,暂存P1口,t0,t1,TH1,TL1 j=t0; k=t1; l=TH1; m=TL1; EA=1;//开中断 P1=0xf3;//A道放行 delay_t1(120);//延时60s EA=0;//关中断 P1=i;//恢复现场,暂存P1口,t0,t1,TH1,TL1 t0=j; t1=k; TH1=l; TL1=m; EA=1;//开中断 } voidmain()//主函数 { unsignedchark; TMOD=0x10;//T1在工作方式1 EA=1;//开总中断允许位 EX0=1;//开外部中断0中断允许位 IT0=1;//设置外部中断0为下降沿触发 EX1=1;//开外部中断1中断允许位 IT1=1;//设置外部中断1为下降沿触发 while (1) { P1=0xf3;//A绿灯,B红灯 delay_t1(110);//延时55s for(k=0;k<3;k++)//A绿灯闪烁3次 { P1=0xf3; delay_t1 (2);//延时1s P1=0xfb; delay_t1 (2);//延时1s } for(k=0;k<3;k++)//A黄灯闪烁3次,A黄灯,B红灯 {P1=0xeb; delay_t1 (2);//延时1s P1=0xff; delay_t1 (2);//延时1s } P1=0xde;//A红灯,B绿灯 delay_t1(110);//延时55s for(k=0;k<3;k++)//B绿灯闪烁3次 { P1=0xde; delay_t1 (2);//延时1s P1=0xdf; delay_t1 (2);//延时1s } for(k=0;k<3;k++)//B黄灯闪烁3次 { P1=0xdd; delay_t1 (2);//延时1s P1=0xff; delay_t1 (2);//延时1s } } } 五、硬件连接情况及运行情况 1、硬件链接情况: 硬件连接如下图4所示: 图4硬件实物图 2、电路运行情况: (1)A方向通行,B方向禁行: A方向通行,B方向禁行时,电路如下图5所示: 图5A方向通行,B方向禁行 (2)A方向禁行,B方向通行: A方向禁5行,B方向通行时,电路如下图6所示: 图6A方向禁行,B方向通行 (3)黄灯闪烁时: 黄灯闪烁时,电路如下图7所示 图7黄灯闪烁 (4)特殊情况1时: 特殊情况1时,电路如下图8所示: 图8特殊情况1: 仅A方向通行 (5)特殊情况2时: 特殊情况2时,电路如下图9所示: 图9特殊情况2: A、B方向均为红灯 六、实现过程 1、选题目、设计任务; 2、分析、设计硬件电路图,并选择所需电子元器件; 3、仿真并修改电路直到得出仿真结果; 4、购买元器件、搭建硬件电路; 5、将程序下载到单片机中,并检查、调试电路; 6、给电路板上电,观察电路运行效果; 7、整理资料,作总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 交通灯 控制