抢答器课程设计文档格式.docx
- 文档编号:20097842
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:21
- 大小:347.41KB
抢答器课程设计文档格式.docx
《抢答器课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《抢答器课程设计文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
7
3.4软件系统程序清单·
7
结束语·
11
附录四:
元件清单·
18
附录五:
程序清单·
19
1课题任务、功能要求及设计方案
1.1课题任务
设计一个具有特定功能的四人抢答器。
1.2功能要求说明
该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
主持人按下开始按钮后,抢答开始并限定时间30S;
10S内无人抢答,蜂鸣器发出音响;
主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;
正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;
正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,显示器显示违规台号。
蜂鸣器发出音响;
各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。
1.3设计方案及工作原理
(1)基本功能:
设计一个四人智能抢答器,可同时供四名选手使用,他们所对应的编号分别是1、2、3、4个用一个抢答按钮,其对应的按键分别对应实物板的S3、S4、S5、S6;
同时给节目主持人设置了三个控制按钮S1、S2、S7分别用来启动答题时间、时间的暂停和复位。
在显示P.时主持人按下S1开始键、报警、数码管进入10秒倒计时开始指示等LED0亮10秒内无人抢答LED2亮,只有S7复位键有效,复位键按下进入P.显示状态,10秒内有人抢答、报警、抢打者对应的LED亮数码管重新30秒倒计时数码管显示抢答者台号,此时只有S2结束键有效S2按下停止倒计时,数码管静止这时只有S7复位键按下有效进入P.显示状态,当抢打者回答超时LED2亮、报警、数码管显示台号这时只有S7复位键按下有效进入P.显示状态。
(2)抢答器的设计硬件电路框图如图1所示,当启动键S1按下时,数码管显示计时30S,同时也报警表明已启动,当计时到10S时若没有选手按键按下,则蜂鸣器报警,指示灯LED2发光。
在系统倒计时抢答器要完成以下四项操作:
①优先编码电路立即将键盘扫描值进行编号,并由锁存器进行锁存,然后译码成二进制数数然数码管发光,显示十进制数编号;
②扬声器发出短暂声响,以示所按键有效;
③当有选手按键按下时,控制电路要进行封锁,避免其它选手按键有效,进行再次抢答;
④S2暂停按键是使定时器停止工作,并将剩余时间在显示器上显示,由主持人复位键清零。
图1硬件电路框图
(3)工作原理:
该项目中主要是用到AT89S52单片机的四个I/O口线,在P1口线上串接八个按钮,进行控制和信息的传递。
当主持人将S7按下时将单片机系统复位,数码管显示字符P,主持人将S1按下时单片机最小系统准备进入开始状态,此时接在P1口上的S3-S6按钮则作为抢答成员抢答按钮使用。
当有成员按下按钮时单片机系统检测到其中一个按钮被按下时,则在P0口上接的八位LED的数码管显示相对应的台号,同时要求接在P3口上的7个发光二极管在相应台号上发光显示。
同时还要用到单片机的计时,当选手按下按钮抢答时,如果没有在规定时间内完成回答,此时接在P3.1口线上的蜂鸣器报警。
其所有工作过程就是在单片机各串行接口之间进行数据传递和控制,当单片机系统检测到P1口上高电平有用信号时,单片机执行其相应的功能。
为了实现相应的功能软件控制程序采用C语言进行来编辑,通过调用一系列52单片机库函数和编辑,使用单片机的内部中断定时器0进行计时。
2课题硬件系统设计
2.1硬件系统各功能模块的简介
(1)电源模块:
电源模块为单片机提供+5V电压,保证单片机系统能够正常运行,同时为单片外部硬件电路工作提供电压。
(2)键盘:
键盘是为单片提供信号,其一端公共接地提供低电平。
当没有键盘按下时,键盘端口给单片机一个高电平信号;
当有键盘按下时,它给单片机一个低电平信号。
当单片机检测到外部有低电平时,单片机执行相应的功能模块。
(3)指示灯:
红色的发光二极管,在二极管的正上通高电平时,通过一个电阻排接到发光二极管上,二极管发光显示,为低电平时发光二极管熄灭。
发光二极管的高低电平由单片机P3口控制,所以二极管显示还是熄灭由单片机控制。
(4)数码管:
由八个LED发光二极管组成的共阳极数码管,其引出管脚分别为a、b、c、d、e、f、g、dp来控制数码管的段位显示,a、b、c、d、e、f、g、dp分别接到单片机的P0口,位控端结单片机P2口。
表1数码管显示段码代码表
(5)蜂鸣器:
蜂鸣器为有源蜂鸣器,蜂鸣器的一端直接接到三极管上而接到电源,三极管的基极接到单片机的P3.1口上,通过P3.1口给三极管提供导通电压而使三极管导通,蜂鸣器鸣响。
(6)晶振:
晶振电路是由晶体振荡器并接在两个电容上,其公共一端接地,其重要作用就是为单片机工作、执行每条指令提供使能信息,为定时器计时提供振荡周期1us,其定时计算公式如下1:
T=(213-计数初值)×
晶振周期×
12
或T=(213-计数初值)×
机器周期
(1)
(7)复位电路:
单片机复位分为上电复位和按键低电平复位,在该项目课题设计中使用的是单片机按键低电平复位方式。
复位按键主要是当在抢答过程中逢鸣报警,系统初始化而用的。
(8)下载电路:
下载电路主要是将编译好的程序经过调试,下载到单片内部储存单元中,以便单片机能按指定的操作正常工作。
2.2电路原理图、PCB图、电路元器件布局
(1)电路原理,图如附录一:
(2)PCB图,如附录二:
(3)电路元器件布局,如附录三:
2.4元器件清单
项目课题中使用的元件,其元件清单,见附录四:
3课题软件系统的设计
3.1课题中单片机资源使用情况
在该项目中主要应用到到单片机4个并行I/O口,进行信息的传递和接收,P0口接数码管段控制端,P1口接7个键盘,P2口接74HC573控制数码管的位控制端,P3口接7个LED灯。
为了计时用到了单片机内部的定时器T0和中断ET0。
定时器控制寄存器TCON的功能:
用于保存外部中断请求以及定时器/
计数器的计数溢出信号。
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TCON的字节地址:
88H;
位地址:
8FH~88H。
TCON的内容及格式如表2
下表:
表2TCON控制表
3.2软件系统中各模块功能的介绍
(1)调用52系列的函数库,同时给发光二极管定义给各个端口,以及各个按键进行定义。
(2)给数码管显示十进制数编写十六进制代码,并将0、1、2、3、4、5、6、7、8、9、P代码定义一个数组。
(3)主函数模块,对程序各个子函数进行综合调用、判断。
(4)中断定时,为抢答器定时10s、30s计数初值50ms
(5)主函数部分,对该项目各个按键及相应功能进行编写,以及各个函数的判断,对项目软件部分进行综合编辑。
(6)键扫描函数及键值进行赋值其功能,其工作流程如图2所示。
(7)显示函数、蜂鸣函数、以及延时等一些子函数。
图2键盘扫描子程序流程框图
3.3软件系统流程框图
系统软件程序设计总流程框图,如图3所示
图3流程框图
3.4软件系统程序清单
课题设计项目程序清单,见附录五
4设计结论及误差分析
4.1课题设计结论及使用说明
经过综合考虑和资源的有效利用,所设计的项目基本达到预定要求,能够实现四人抢答,并能完成计时、显示和报警。
该抢答器的使用说明如下:
(1)上电在第2个数码管上显示P.
(2)在P.显示状态时只有主持人的开始键与各选手按键均有效,如果主持人开始键没有按下而有其他选手按键按下,则显示违规台号、LED2亮和报警。
(3)在P.显示时有选手按下键LED2亮以示警告、报警、数码管显示选手台号这时只有主持人S7复位键有效S7按下,则进入P.显示状态系统还原。
(4)在显示P.时主持人按下S1开始键、报警、数码管进入10秒倒计时开始指示等LED0亮,若10秒内无人抢答LED2亮,只有S7复位键有效复位键按下进入P.显示状态;
若10秒内有人抢答、报警、抢打者对应的LED亮数码管重新30秒倒计时数码管显示抢答者台号,此时只有S2结束键有效S2按下停止倒计时,数码管静止这时只有S7复位键按下有效进入P.显示状态,当抢打者回答超时LED2亮、报警、数码管显示台号这时只有S7复位键按下有效进入P.显示状态。
4.2仿真结果
当在仿真上电时数码管显示P.如图4所示;
时按下S1时,数码管显示如图5所示;
当S1按下计时到10S时,蜂鸣器鸣叫LED2也亮,其结果如图6所示;
当S1按下此时S5按下,数码管显示3号台,数码管重新计时,仿真结果图如图7所示;
当计时超过30s时,数码管显示台号,蜂鸣器鸣叫,违规指示灯以及LED5亮,结果如图8所示。
图4
图5
图6
图7
图8
4.3误差分析
由仿真实验结果可以看出,有时当在有按键按下时,并不一定会立即看到相应的效果,有时甚至还会挡在按下S2时,显示计时并不一定会暂停显示当前数值,而是显示其它字符P,延时的精确度并没有达到实际的计时效果,其计时可能与实际计时要快一点。
引起时间与实际不一致的,这纯属于属于系统误差,因为所用晶振频率不一样,时间的精准度就可能不一样,所以这些问题是不可避免,我们只有尽量缩减误差值;
而对于有时按键单片机并不会立即做出反应,这可能属于电路硬件问题,可能按键本身就存在问题,当按下按键时接触不好,不能产生正常的高电平信号,以致单片机不能正确识别信号,而致使产生与实际并不相关的现象。
再有就是所用电路板本身就有问题,在制作板子时电路设计时,就存在一些小问题,再加上在制作电路板时,元器件选用的并不是那么精准,有时在市面上可能买不到实际我们所需要的元器件,我们只能选择与该元件功能相近的元件代替,再就是在焊制电路板时,焊的技术并不达标,再加上氧化,这就使得有些电路接触不良或者阻值变得更大,所以综合所有这些环境因素都可能造成误差。
误差是不可避免的,我们只有在软件电路设计时尽量减少不必要的误差,使它尽量与实际效果相近。
4.4设计体会
经过此次项目的设计,让我受益匪浅。
因为这是一个综合性较长的课题,需要考虑多方面的因素,同时这也是考察对知识学的扎不扎实的一种检验,因为对于同一个问题会有不同的实现方法,比如说:
“要实现抢答器的功能,我们可以用C语言进行编辑,同时也可以用汇编语言进行编辑,而这两种语言就是两种完全不同的机器语言;
功能设计也是千差万别。
”所以在做这个课题时我查阅了很多相关的资料,以及向很多同学进行请教,从他们哪里得到一些新的思维,然后通过自己总结,创造属于自己独树一帜的设计方案。
同时也加强了对单片机软件程序编写的大概思路,以及及流程,要想能够编译出简单而高效的程序出来,首先就得需要有明确的思路及流程,只有这样在编写时思路才不会混乱,不会感觉不知从何处下手。
纸上得来终觉浅,实践操练印象深。
结束语
经过把设计的硬件电路和软件部分的相结合,很好地完成了抢答器的功能。
而在硬件电路中最重要的部分是AT89S52、按钮和数码管,而课题中的软件部分主要是主程序中的各个条件判断,这是能实现抢答器各个按键相应功能的关键,再就是中断定时,这是判断各个进程的依据,通过将这些相关的实物相结合实现了一个四人抢答器。
通过课程设计的结果分析,还是存在许多不足的地方,功能还不够强大,比如在按下时间暂停键时,有时不能显示暂停时的时间值;
还有就是选手时间的暂停还通过主持人所按暂停键再暂停,不能很好地反应选手真正答题的时间,可能会存在一定误差。
所以在完成这个课题以后,启发了我新的思维设想:
“将四人抢答器,增加到八人甚至更多选手的抢答器,时间的暂停完全由选手自己控制,同时在每次显示选手台号的同时,还能显示选手到此时在抢答中所得分数。
”
参考文献
[1]李广弟,朱月秀,冷祖祁.单片机基础[M].北京:
北京航空航天大学出版社,
2007.6.134-150
LiGuangdi,ZhuYuexiu,LengZuqi.Microcontroller-based[M].Beijing:
Beijing
UniversityofAeronauticsandastronauticsPress,2007.134-150
[2]李全利.单片机原理及应用[M].北京:
高等教育出版社,2012.91-115
LiQuanli.PrinciplesandApplications[M].Beijing:
HigherEducationPress,2012.
91-115
[3]武爱平,卜耀华,孙东卫.C语言程序设计[M].长春:
吉林大学出版社,2010.
WuAiping,BoYaohua,SunDongwei.CProgrammingLanguage[M].Changchun:
JilinUniversityPress,2010.91-115
[4]马忠梅,张凯,马岩.单片机的C语言应用程序设计[M].北京:
北京航空航天
大学出版社,2007.83-93
MaZhongmei,ZhangKai,MaYan.SCMClanguageapplictiondesign[M].Beijing:
BeijingUniversityofAeronauticsandastronauticsPress,2007.83-93
致谢
本课程设计是在王韧老师的悉心教导下完成的,在本次课程设计中,虽然坎坷颇多费时间较长,但是要完成该项目课程设计,我们必须将所学到了许多在课本上学到的东西综合利用,同时也解决了一些平时在课本上不是很了解,甚至忽略了的问题而印象不是很深的问题。
让我受益颇多,在此我由衷感谢王韧老师及其他帮助我完成课题的好友!
最后再一次感谢所有在此次课程设计中曾帮助过我的老师,以及在设计中被我引用或参考的论著的作者及好友,没有你们的悉心指导,凭我一人成员之力是无法按时完成此次课程设计。
附录
附录一:
图9原理图
图10CAD绘制原理图
附录二:
图11底层PCB图
图12顶层PCB图
附录三:
图13元件布局图
表3元件清单
序号
元器件名称
规格
数量
1
瓷片电容
33uF
2
电解电容
22uF
发光二极管
LED
9
小按键
5
电源插口
6
ISP下载口
蜂鸣器
8
单片机
AT89S52
三极管
9012
10
电阻
1K
电阻
200
数码管
13
六角开关
14
无源晶振
12MHz
15
单片机锁紧座
40P
16
排阻
470
程序清单
/*项目名称:
抢答器*/
/*设计者:
桂文杰*/
/*设计时间:
2013年12月22日*/
//硬件介绍:
//1.七个独立按键S1-S7接P1口S9不使用,S1为开始键、S2计时暂停、S3-S6为选手按//键,S7为复位键。
//2.八个LED灯LED0-LED7接P3口上
//3.蜂鸣器通过跳线接P3.1与LED1并接在一个端口上(原本蜂鸣器通过短路冒接P3.1口鸣叫是影响LED1
//P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)
//使用方法:
//1.上电显示P.
//2.在P.显示是只有主持人的开始键与各选手键有效
//3.在P.显示时有选手按下键LED2亮以示警告、报警、数码管显示选手台号
//这时只有主持人S7复位键有效S7按下进入P.显示状态
//4.在显示P.时主持人按下S1开始键、报警、数码管进入10秒倒计时开始指示等LED0亮
//10秒内无人抢答LED2亮,只有S7复位键有效复位键按下进入P.显示状态
//10秒内有人抢答、报警、抢打者对应的LED亮数码管重新30秒倒计时数码管显示抢答者台号
//此时只有S2结束键有效S2按下停止倒计时,数码管静止这时只有S7复位键按下有效进入P.显示状态
//当抢打者回答超时LED2亮、报警、数码管显示台号这时只有S7复位键按下有效进入P.显示状态
/////*****************调用函数**************////////////
#include<
reg52.h>
#defineucharunsignedchar
sbitled0=P3^0;
sbitled1=P3^1;
sbitled2=P3^2;
sbitled3=P3^3;
sbitled4=P3^4;
sbitled5=P3^5;
sbitled6=P3^6;
sbitled7=P3^7;
/////*****************显示代码数组**********/////////////
//共阳代码表格,分别对应:
0,1,2,3,4,5,6,7,8,9,P.,灭//////////////////
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xF8,0x80,0x90,0x0c,0xff};
ucharled[8]={11,11,11,11,11,11,11,10};
staticunsignedlongcount=0;
bits1=0,s2=0,s7=0,bxs=0,c=1;
ucharpb=0x80,temp;
uchara=30,xuans;
//a为倒计时的起始时间,xuans为选手序号
voiddey();
//延时子函数
voiddfwei();
voidBELL();
voiddisplay();
//显示子函数
voidanjiang();
//按键子函数
////////////////*****************延时1ms子函数*********/////////////
voiddey(void)//误差0us
{
unsignedchara,b,c;
for(c=1;
c>
0;
c--)
for(b=142;
b>
b--)
for(a=2;
a>
a--);
}
////////////////*****************中断定时部分**********////////////////
voidtime0()interrupt1using1
{count++;
if(count==20)//count等于20表示1s时间到达
{count=0;
a--;
//a为倒计时初值,每一秒减一一次
}
TH0=0x3c;
TL0=0xb0;
//50ms计数初值
}
////////////////*****************主函数**************/////////////
voidmain()
{
while
(1)
{s1=0,s2=0,s7=0,bxs=0,pb=0x80,c=1,a=30;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
TH0=0x3c;
TL0=0xb0;
P3=0xff;
//将所有指示灯熄灭
while(a)
{
display();
anjiang();
if(bxs==1){led[0]=xuans;
}//如果选手键按下,选手序号送缓冲单元
if(s1==1){led[6]=a/10;
led[7]=a%10;
}//如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抢答 课程设计