单片机抢答器课程设计.docx
- 文档编号:5805234
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:8
- 大小:173.97KB
单片机抢答器课程设计.docx
《单片机抢答器课程设计.docx》由会员分享,可在线阅读,更多相关《单片机抢答器课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
单片机抢答器课程设计
单片机抢答器课程设计
摘要
抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。
目前大多数抢答器均使用单片机(如MCS-51型)和数字集成电路。
本设计利用89C51单片机及外围接口实现多路抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
关键词:
抢答器;单片机89c51;数字集成电路;定时器/计数器
Abstract
Responderisakindofwidelyusedequipment,inallkindsofcompetition,viestoanswerfirstoccasion,itcanquicklyandobjectivelyidentifytheplayersgetvoice.Earlyresponderonlybyafewtriode,SCR,luminoustube,etc,canthroughtheluminoustubeinstructionsrecognitionplayernumber.NowmostoftheresponderalluseSCM(suchasMCS-51type)anddigitalintegratedcircuit,ThistopicUSES89c51andperipheralinterfaceimplementationviestoanswerfirstsystem,withthehelpofthemicrocontrollertimer/countertimingandnumberprinciple,softwareandhardwareorganically,andmakesthesystemcancorrectlytothetime,atthesametimemakedigitaltubedisplaythetimecorrectly.
KeyWords:
Responder,89c51,Digitalintegratedcircuit,Timer/counter
1.引言
目前电视节目日益丰富,其中的竞赛环节也越来越多,其中抢答器是不可或缺的器材。
它能准确、公正、直观地判断出第一抢答者。
本次设计通过Proteus软件设计并利用KeilC软件编辑程序,仿真验证。
使系统能够完成多路抢答。
2.设计方案及原理
本次设计的抢答过程主要分为准备抢答,开始抢答,开始答题以及答题结束四个阶段。
本方案以AT89C51单片机作为主控核心,与晶振、数码管等构成二路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时电路等,本设计的系统实用性强、判断精确、操作简单、扩展功能强。
3.硬件设计
在抢答中,只有规定开始后抢答才有效,如果在开始抢答前抢答为无效;显示灯可以显示是哪位选手有效抢答,抢答时间和回答问题时间倒记时显示在数码管上,时间用尽后系统自动复位;如系统原理电路所示P1.0为开始抢答,P1.1为开始抢答倒计时,P3.0-P3.1为二路抢答输入,P3.6-P3.7为与选手对应的提示灯,P0.0-P0.7为数码管,RST复位,XTAL1和XTAL2接晶振电路。
图3.1系统原理电路图
4.软件设计
两路抢答器由两个按键控制,程序一致判断是否有按键按下,若没有按键按下则循环判断,直到有按键按下后,立即把通过按键输入的信号储存起来然后对2路输入信号进行扫描判断,最后根据扫描结果转入查表程序取数同时发光二极管亮起,表示抢答成功。
软件设计利用中断系统的基本构成原理编写中断服程序,其信号由按键电路提供,由CPU响应中断,并输出响应。
用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。
程序流程图如图4.1所示。
图4.1系统流程图
5.系统仿真及实际调试
图5.1开始抢答倒计时仿真结果图
图5.2开始答题倒计时仿真图
6.总结
本次课程设计的题目是基于单片机的多路抢答器设计,在设计的过程中出现了以下几种问题。
例如利用Proteus软件仿真的时候多次出现数码管不亮的情况,并且复位键按下电路无反应的现象,通过对程序的调试并重新装入才解决了数码管不亮的问题。
而复位键不灵敏的问题则是因为时间过短导致复位显示不明显。
此外,开始的时候并没有体现出多路抢答,后来在老师的指导下添加了两路电路才使得本次课程设计圆满完成。
本次单片机课程设计,充分的将理论与实际结合起来,并且遇到了很多实实在在的需要亲自解决的问题,通过查阅相关资料,问题最终得到解决。
而这些才是作为一名工科学生最宝贵的财富。
参考文献
[1]王思明,张金敏,苟军年,张鑫,杨乔礼.单片机原理及应用系统设计[C].北京:
科学出版社.2012.9:
90-151.
[2]李华,王思明,张金敏.单片机原理及应用[C].兰州:
兰州大学出版社.2001.5:
59-86.
[3]柯文松.十路抢答器的设计[J].龙岩师专学报.1988.2.
[4]吕锴.部德才.徐明达.单片机串行通讯在抢答器设计中的应用[J]齐齐哈尔大学学报.2011.4:
73-75.
[5]宋春华,江涛,王贵恩,裴小英.基于单片机控制的数字抢答器[J]河南机电高等专科学校学报.2005.5:
32-33.
8.附录
#include
sbitstart=P1^0;
sbitplease=P1^1;
sbitstop=P1^2;
sbitans=P1^3;
sbitp1=P3^0;
sbitp2=P3^1;
sbitlight1=P3^6;
sbitlight2=P3^7;
sbitS=P2^0;
sbitG=P2^1;
unsignedcharcodetime[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsignedcharcont=0,shi,ge,i;
unsignedcharT;//答题时间
voidinter()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cont++;
}
main()
{
while
(1)
{
//1.待机阶段
while(start==1)
{
S=1;
G=0;
P0=time[0];
for(i=0;i<100;i++);
P0=0xff;
S=0;
G=1;
P0=time[0];
for(i=0;i<100;i++);
P0=0xff;
}
//2.抢答阶段
while
(1)
{
//1).开始抢答
ans=0;
//判断那个选手抢到题
while
(1)
{
if(p1==0)
{
light1=0;
break;
}
if(p2==0)
{
light2=0;
break;
}
}
//禁止其他选手再选题
while(please==1);
//2).开始答题
ans=1;
T=6;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(T<200&&stop==1)
{
shi=T/10;
ge=T%10;
S=1;
G=0;
P0=time[shi];
for(i=0;i<100;i++);
P0=0xff;
S=0;
G=1;
P0=time[ge];
for(i=0;i<100;i++);
P0=0xff;
if(cont>20)
{
cont=0;T--;
}
}
//3).停止答题
P3=0xff;
break;
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 抢答 课程设计