交通灯控制 单片机(5)

2018-12-17 11:05

成都理工大学毕业论文 — 交通灯

机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。其图如图[5-4],而我们用的是独立式键盘,如上图[5-3]。

图5-4 矩阵键盘的原理图

按键在编写程序时,应注意问题,如消颤,一般有物理消颤和软件消颤,我们这使用 软件消颤。具体操作是,当按键按下,用软件延时一段时间,再次扫描按键情况,如果确实有按键按下,就进入相应的操作。当操作完后要做一个按键是否断开的判断,其依据如图[5-5]:

图5-5 键闭合和断开时的电压抖动

21

成都理工大学毕业论文 — 交通灯

按键程序: void key_scan()

{

if (KEY1 == 0) {

Delay1Ms(10); //按下延时消颤if (KEY1 == 0) {

if(key_flag == 1) key_flag = 0; //取消 else

key_flag = 1; //确定 }

while(KEY1 == 0);

Delay1Ms(5); //弹起延时消颤 while(KEY1 == 0); }

if (KEY2 == 0) {

Delay1Ms(10); //按下延时消颤if (KEY2 == 0) {

if(key_flag == 2) key_flag = 0; //取消 else

key_flag = 2; //确定 }

while(KEY2 == 0);

Delay1Ms(5); //弹起延时消颤 while(KEY2 == 0); }

if (KEY3 == 0) {

Delay1Ms(10); //按下延时消颤if (KEY3 == 0) {

if(key_flag == 3) key_flag = 0; //取消 else

key_flag = 3; //确定

22

成都理工大学毕业论文 — 交通灯

}

while(KEY3 == 0);

Delay1Ms(5); //弹起延时消颤 while(KEY3 == 0);

}if (KEY4 == 0) {

Delay1Ms(10); //按下延时消颤 if (KEY4 == 0) {

if(key_flag == 4) key_flag = 0; //取消 else

key_flag = 4; //确定 }

while(KEY4== 0);

Delay1Ms(5); //弹起延时消颤 while(KEY4 == 0); }}

23

成都理工大学毕业论文 — 交通灯

第六章 测试、数据及结果分析

6.1状态灯显示测试

当电路连接完毕后,将写好的测试程序刷写到芯片内,开启电源开关K,以及按下K1 和K2分别给端口送高电平和低电平,通电即可检测。

6.2数码管的测试

将串口和电路板上的接口连接,通过专业烧写软件,将写好的相应测试程序及.HEX文件刷写到芯片内,我们这用的ISPlayv15下载线编程软件,其显示的效果图如图6-1,开电源即可测试。

图6-1 ISP下载软件

6.3整体电路测试

24

成都理工大学毕业论文 — 交通灯

系统上电,刷写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,(默认140秒)灯的显示状态是否正常,同时观察倒计的计数是否正常,以及按键调节突发事件,是否正常。

总 结

由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则的效率还不是很高等等,这需要在实践中进一步完善。且功能的全面性还不够强,经过这么长的时间的失败到成功的过程,让我更加清楚的明白单片机的运用就是对其端口的控制,同时外围电路的设计以及了解,让我对以前学过的知识能更加了解和认识,比如:电路、数、模电子技术、单片机技术、自动检测技术、电路板设计、智能仪器的设计应用与传感器的使用。在这段时间中,李老师们给了我很大的帮助,还有很多班上的同学及网上好友,你们对我的帮助和指导我非常感谢!

25


交通灯控制 单片机(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北关街道“三责”教育活动方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: