77范文网 - 专业文章范例文档资料分享平台

基于单片机的6路抢答器设计(5)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

西安航空职业技术学院 毕业设计论文

{ }

TR0=0; p=5;

second=dt_time; beep=0;

for(i=0;i<20;i++) { } beep=1; qd=0;break;

display();

case 6:

{ }

TR0=0; p=6;

second=dt_time; beep=0;

for(i=0;i<20;i++) { } beep=1; qd=0;break;

display();

}

}

if(dt==1) {

//答题标志开启时

if(start==0) {

display(); if(start==0)

18

西安航空职业技术学院 毕业设计论文

}

}

}

}

{ }

beep=0;

for(i=0;i<20;i++) { } beep=1; TR0=1;

display();

}

if(second==0) { }

beep=0; qd=0; dt=0;

//为0时报警

4.2 数码管显示程序

4.2.1 程序流程图

在写程序之前需要先测出数码管显示数字时它各个引脚的电平情况,从而得出各个数字的代码,控制单片机输出不同的代码,就能显示不同的数字。本次的程序采取动态扫描的编程方式,一般显示的频率在50hz左右,眼睛不会感到有闪烁感,因此应该适当地选择显示延时的时间。

开始 查表取得代码 位码送驱动显示 19 西安航空职业技术学院 毕业设计论文

段码送数码管显示 延时 图4-2 数码管显示程序流程图

4.2.2 程序注释

数码管显示程序如下:

void display(uchar shiwei,uchar gewei,uchar xuanshou) {P2=0xfd;

/*位选*/

P0=shiwei; /*段选*/ delay_us(80); /*延时显示*/ P2=0xfe; P0=gewei; delay_us(80); P2=0xf7; P0=xuanshou; delay_us(80); }

4.3 蜂鸣器发声程序

4.3.1程序流程图

发声部分主要是通过改变蜂鸣器的通断频率去改变声调,具体是改变高低电平的延迟时间,频率越高则声调越高,频率越低则声调越低。

开始 输出音频脉冲低电平 延时 20 西安航空职业技术学院 毕业设计论文

输出音频脉冲高电平 延时 图4-3 蜂鸣器发声程序流程

4.3.2程序注释

蜂鸣器发声程序如下:

void sound_ok() /* { uchar a,b; TR1=0;

for(a=4;a>0;a--) {for(b=900;b;b--)

{ beep=1; /* delay_us((a+5)*10); /* beep=0; /* delay_us((a+5)*10); /* } } }

void sound_err(void) /* {uchar a,b; TR1=0;

for(a=1;a<5;a++) {for(b=900;b;b--)

{ beep=1; /* delay_us((a+5)*10); /* beep=0; /* delay_us((a+5)*10); /* } } }

回答正确子程序*/ 开蜂鸣器*/

改变高电平持续时间*/ 关蜂鸣器*/

改变低电平持续时间*/ 回答错误子程序*/ 开蜂鸣器*/

改变高电平持续时间*/ 关蜂鸣器*/

改变低电平持续时间*/ 21

西安航空职业技术学院 毕业设计论文

5 设计调试及性能测定

数码管的调试,因为在硬件各模块中出错机会比较大的就是数码管的显示混乱。按照设计前测出的位码和段码编写一小程序,四位同时依次显示0至9,测试段码的编码是否正确,看是否有显示错误的段位。因此,本设计采用动态扫描的显示方式,然后是位码的测试,将程序改为让数码管的1至4位依次显示数字1~4,经测试后,显示正常。数码管经测试功能正常。

根据功能要求编写程序,在单独测试中各个模块的程序功能正常,但将各个部分结合在一起的时候遇到了一个问题,就是显示程序与发声程序之间有一定的冲突,例如要求在倒计时开始和结束的时候要求有一声0.5秒左右的鸣叫声,但是发现在发声的这段时间里数码管没有了显示,因为单片机在同一个时间里只能执行一条程序。经过一番努力终于想到的解决的方法,因为原来的数码管显示间隔与计时倒数是公用同一个定时器的,因此间隔过大,解决方案为:数码管显示程序用另外一个定时器来调用,并使用较小的显示间隔,这样当要发声时数码管上仍然有显示,因为这时程序在发声和显示模块之间快速的来回跳动,而且数码管没有闪烁感。

设计各个部分功能调试完毕,显示正常,发声正常,抢答正常,并且性能良好。

22

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的6路抢答器设计(5)在线全文阅读。

基于单片机的6路抢答器设计(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/613211.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: