- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杜晔单片机设计性实验报告交通灯.doc
本科学生设计性实验报告
学号 124090409 姓名 杜晔
学院 物理与电子信息学院 专业、班级 12级光电班
实验课程名称 模拟交通灯控制技术实验
教师及职称 蔡武德教授
开课学期 2013 至 2014 学年 第二 学期
填报时间 2014 年 6 月 15 日
云南师范大学教务处编印
引言
如今,道路上有各种各样的交通灯,它无时无刻的保护行人与汽车的安全,维持道路的畅通无阻。
交通灯的历史最早要追溯到1868年模拟交通灯控制技术实验2014.6.3 实验室 114实验室
状态1 状态2
状态3 状态4
状态5 状态6
图1交通状态
用表格来描述此方案为:
信号灯控制需求表
东西
南北
信号
时间
信号
时间
直行绿灯亮
26s
红灯亮
60s
直行绿灯闪烁
3s
左转绿灯亮
26s
直行绿灯闪烁
3s
黄灯亮
2s
红灯亮
60s
直行绿灯亮
26s
直行绿灯闪烁
3s
左转绿灯亮
26s
直行绿灯闪烁
3s
黄灯亮
2s
表1
用表格表示交通灯的工作情况
南北方向
东西方向
左
直行
黄
红
左转
直行
黄
红
灭
亮
灭
灭
灭
灭
灭
亮
灭
闪烁
灭
灭
灭
灭
灭
亮
亮
灭
灭
灭
灭
灭
灭
亮
闪烁
灭
灭
灭
灭
灭
灭
亮
灭
灭
亮
灭
灭
灭
灭
亮
灭
灭
灭
亮
灭
亮
灭
灭
灭
灭
灭
亮
灭
闪烁
灭
灭
灭
灭
灭
亮
亮
灭
灭
灭
灭
灭
灭
亮
闪烁
灭
灭
灭
灭
灭
灭
亮
灭
灭
亮
灭
表2
设南北方向为A,东西方向为B,左转绿灯为TR,直行绿灯为G,黄灯为Y,红灯为R。根据方案用单片机P1接口控制8个指示灯,那么真值表如表3所示
A
B
P1_7
P1_6
P1_5
P1_4
P1_3
P1_2
P1_1
P1_0
TL
G
Y
R
TL
G
Y
R
1
0
1
1
1
1
1
0
1
0or1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0or1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0or1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0or1
1
1
1
1
1
1
0
1
1
0
1
表3
各种情况的程序流程图如下
正常通行流程图
特殊任务流程图 紧急任务流程图 3.实验设备及材料
(1)单片机开发板;
(2)单片机;
(3)红、绿、黄三色LED若干;
(4)4个共阳极数码管
(5)杜邦线 4.实验方法步骤及注意事项
方法步骤:
确定设计需求,编画程序流程图。
应用Keil软件写程序,写好后经过调试无误后把单片机开发板链接到计算机上把Hex文件烧写在89C52RC单片机中
在单片机开发板上进行调试,确保程序能够运行
应用Proteus画出仿真图。
将hex文件载入仿真图的单片机中,运行程序观察灯与数码管的工作情况。
程序如下:
/ //程序:ex6.c
//功能:交通灯控制程序
#include AT89X52.H
//#include REG51.H
unsigned char t0,t1; //定义全局变量,用来保存延时时间循环次数
//函数名:delay0_5s1
//函数功能:用T1的方式1编制0.5秒延时程序,假定系统采用12MHz晶振,定
// 时器1、工作方式1定时50ms,再循环10次即可定时到0.5秒
//形式参数:无
//返回值:无
void delay0_5s1()
{
for(t0=0;t00x0a;t0++) // 采用全局变量t0作为循环控制变量
{
TH1=0x3c; // 设置定时器初值
TL1=0xb0;
TR1=1; // 启动T1
while(!TF1); // 查询计数是否溢出,即定时50ms时间到,TF1=1
TF1=0; // 50ms定时时间到,将定时器溢出标志位TF1清零
}
}
//函数名:delay_t1
//函数功能:实现0.5秒~128秒延时
//形式参数:unsigned char t;
// 延时时间为0.5秒×t
//返回值:无
文档评论(0)