抢答器控制器的设计.docx
- 文档编号:7184427
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:15
- 大小:322.84KB
抢答器控制器的设计.docx
《抢答器控制器的设计.docx》由会员分享,可在线阅读,更多相关《抢答器控制器的设计.docx(15页珍藏版)》请在冰豆网上搜索。
抢答器控制器的设计
第1章绪论
抢答器以AT89C51单片机作为主控核心,与MAX232、发光二极管、数码管、蜂鸣器等构成硬件操作,再利用C语言编程,来控制抢答器的功能实现。
本设计的系统实用性强、判断精确、操作简单、扩展功能强。
其实在以往企业或学校等举行自己搞的知识竞赛中,都是主持人读题,观众选手得安静仔细听题目,有条件的花上万元买个电子抢答器,算是给知识竞赛赛场添彩了。
1.1抢答器概述
抢答器在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。
通过抢答者的指示灯显示、数码显示和警示显示等手段指示出第一抢答者。
一般抢答器由单片机以及外围电路组成,分为八路十路等不同,八路和十路的差别是,抢答器背面的接口有几组,和外形没有关系。
子抢答器的中心构造一般都是由抢答器由单片机以及外围电路组成,其搭配的配件不同又分为,非语音非记分抢答器和语音记分抢答器。
与电视播放的那些竞赛场面对照——选手坐在显示器前答题,观众看着大屏幕显示题目和答案,大屏幕有抢答显示计分排行等,绚丽的画面有节奏的音乐——差距很大,但这些都不是电视台的专利,利用竞赛软件,运用互动式多媒体技术,将竞赛题目制作成演示程序。
1.2抢答器控制技术状况
电路选用优先编码器74LS148和锁存器74LS297来完成。
该电路主要完成两个功能:
一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号(显示电路采用七段数字数码显示管);二是禁止其他选手按键,其按键操作无效。
工作过程:
开关S置于"清除"端时,RS触发器的R、S端均为0,4个触发器输出置0,使74LS148的优先编码工作标志端(图中5号端)=0,使之处于工作状态。
当开关S置于"开始"时,抢答器处于等待工作状态,当有选手将抢答按键按下时(如按下S5),74LS148的输出经RS锁存后,CTR=1,RBO(图中4端)=1,七段显示电路74LS48处于工作状态,4Q3Q2Q=101,经译码显示为“5”。
此外,CTR=1,使74LS148优先编码工作标志端处于禁止状态,封锁其他按键的输入。
当按键松开即按下时,74LS148的此时由于仍为CTR=1,使优先编码工作标志端=1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。
如有再次抢答需由主持人将S开关重新置“清除”然后再进行下一轮抢答。
74LS148为8线-3线优先编码器,表1为其功能表。
该部分主要由555定时器秒脉冲产生电路、十进制同步加减计数器74LS192减法计数电路、74LS48译码电路和2个7段数码管即相关电路组成。
具体电路所示。
两块74LS192实现减法计数,通过译码电路74LS48显示到数码管上,其时钟信号由时钟产生电路提供。
74192的预置数控制端实现
尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。
留有设计余地。
在设计硬件电路时,要考虑到将来修改扩展的方便。
因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。
程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。
I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。
如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。
如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。
第2章总体方案论证与设计
本系统采用单片机AT89C51为抢答器的控制核心,抢答器显示模块、控制器模块的选择。
下面对各模块的设计逐一进行论证比较。
2.1抢答器显示模块
方案一:
使用液晶屏显示时间。
液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。
方案二:
在使用传统的数码管显示。
数码管具有:
低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。
数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。
根据以上的论述,采用方案二。
2.2控制器模块
方案一:
采用FPGA(现场可编程门列阵)作为系统的控制器。
FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可以应用EDA软件仿真、调试,易于进行功能扩展。
方案二:
采用ATMEL公司的AT89C51作为系统控制器的CPU方案。
单片机算术运算功能强,软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。
基于以上分析拟订方案二。
2.3抢答器系统框图
为使该模块化抢答器控制系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。
硬件电路包括抢答器显示模块电路和控制器模块电路。
其系统框图如图2-1所示。
图2-1系统框图
第3章系统硬件设计
为使该模块化抢答器系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。
硬件电路包括控制器模块,抢答器显示模块二大模块。
3.1抢答器显示模块的硬件设计
在步进电机控制过程中,系统需要对运行的时间和转向、相数做必要的显示。
其中数码管的显示可以分为两种:
静态显示和动态显示。
静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的CPU时间少。
其显示模块原理图如图3—1所示。
图3-1显示模块电路图
动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共端COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
从电路上,按数码管的接法不同又分为共阴和共阳两种,它们的发光原理是一样的,只是它们的电源极性不同而已。
3.2控制器模块电路硬件设计
FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。
但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。
静态显示,电路图中所示。
显示器由9个共阳极数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
9个串/并移位寄存器芯片74LS164首尾相连。
控制模块原理图如图3—2所示。
图3-2控制模块原理图
第4章系统的软件设计
软件是该抢答器系统的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
4.1主程序设计
其主程序流程图如图4—1所示。
图4-1主程序流程图
我们组所设计的抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。
本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序
流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。
为便于识别,绘制流程图的习惯做法是:
方框表示:
要执行的处理(Process)
平行四边型表示:
代表资料输入(Input)
不规则图形代表资料输出(Output)或报表输出(Print)
菱形表示:
决策或判断(例如:
If...Then...Else)
4.2数码显示软件设计
图4-2数码管显示流程图
采用静态显示,显示器由9个共阳极数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
9个串/并移位寄存器芯片74LS164首尾相连。
共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),七它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻,这里的限流电阻选为100Ω。
第5章系统调试与测试结果分析
5.1使用的仪器仪表
AT89C51单片机
复位电路
上拉电阻
数码管
按钮及扬声器
5.2系统调试
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
由于在系统设计中采用模块设计法,抢答器显示模块、控制器模块所以方便对各电路模块功能进行逐级测试最后将各模块组合后进行整体测试。
5.2.1硬件调试
对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。
5.2.2软件调试
软件调试采用应用软件对所作的程序进行仿真和调试,从而达到制作此产品的前提条件。
5.2.3硬件软件联调
将调试好的硬件和软件进行联调,主要调试系统的实现功能。
5.3测试结果
此次系统设计结果较好,抢答器可以根据选手的先后按键顺序较好的反应出效果,并能发出音效,功能得到了全面的应用。
结论
电子智能抢答计分器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
抢答组数可以在八组以内任意使用,本系统设计为模块形式采用九针插头进行连接,系统工作原理本系统采AT89S51单片机作为核心。
控制系统的五个模块分别为:
单片机最小系统(六位并行数码显示、4*4矩阵式键盘)、显示模块、显示驱动模块、抢答开关模块、音乐音频输出模块。
本系统采用单片机作为整个控制核心。
控制系统的四个模块为:
显示模块、存储模块、语音模块、抢答开关模块。
该系统通过开关电路四个按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。
在知识比赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
通过软硬件的仿真调试,实现了本次设计的基本功能。
参考文献
[1]李光飞.单片机课程设计实例指导[M].北京:
北京航天航空大学出版社.2004
[2]李朝青.单片机原理及接口技术(第3版)[M].北京:
北京航空航天大学出版社.2002
[3]胡伟.单片机C程序设计及应用实例[M].北京:
人民邮电出版社.2003
[4]冯育长.单片机系统设计与实例指导[M].北京:
西安电子科技大学出版社.2007
[5]高伟.AT89单片机原理及应用[M].北京:
国防工业出版社.2008
[6]何利民.单片机应用系统设计[M].北京:
北京航空航天大学出版社.1991
[7]李朝青.单片机原理与接口技术[M].北京:
北京航空航天大学出版.1994
[8]黄正谨.综合电子设计与实践[M].东南大学出版社.2002
[9]李华.单片机实用接口技术[M].北京:
北京航空航天大学出版.1993
附录1程序
#include
sbitk0=P1^0;
sbitk1=P1^1;
sbitk2=P1^2;
sbitk3=P1^3;
sbitd0=P1^4;
sbitd1=P1^5;
sbitd2=P1^6;
sbitd3=P1^7;
sbitB0=P3^7;
sbitl0=P2^0;
sbitl1=P2^2;
sbitl2=P2^3;
sbitl3=P2^4;
sbitkz=P3^0;
unsignedcharqiangdanum=0x3f;
unsignedcharcodetable[]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedcharge=0,shi=0;
unsignedintnum=0,time=0;
voiddisplay();/*显示函数*/
voiddelay(unsignedint);
main()
{
TMOD=0X01;/*采用方式一,即十六位计数器*/
TH0=(65536-50000)/256;/*设置初始值*/
TL0=(65536-50000)%256;
IT0=0;
EA=1;ET0=1;/*开启总中断源*/
EX0=1;/*启动外部中断0*/
{while
(1)
{display();
if(kz==0)
TR0=1;/*开启定时器0中断*/
if(num==20)
{num=0;
time++;
if(time==60)/*60秒的计时*/
time=0;
}
}
}
}
voidexter0()interrupt0/*外部中断程序*/
{EA=0;l0=0;
if(k0==0)/*开关0按下*/
{d0=0;qiangdanum=1;B0=1;
}/*1号选手抢答成功,数码管显示1,蜂鸣器响,第1个二极管亮*/
if(k1==0)/*开关1按下*/
{d1=0;qiangdanum=2;B0=1;
}/*2号选手抢答成功,数码管显示2,蜂鸣器响,第2个二极管亮*/
if(k2==0)/*开关2按下*/
{d2=0;qiangdanum=3;B0=1;
}/*3号选手抢答成功,数码管显示3,蜂鸣器响,第3个二极管亮*/
if(k3==0)/*开关3按下*/
{d3=0;qiangdanum=4;B0=1;
}/*4号选手抢答成功,数码管显示4,蜂鸣器响,第4个二极管亮*/
}
voidtime0()interrupt1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}/*1秒定时函数*/
voiddelay(unsignedintz)
{unsignedintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}/*延迟函数*/
voiddisplay(void)
{shi=time/10;
ge=time%10;
P2=0xef;
P0=table[ge];
delay(5);
P2=0xf7;
P0=table[shi];
delay(5);
P2=0xFE;
P0=table[qiangdanum];
delay(5);
}/*显示函数:
来显示0-60的计数*/
附录2仿真效果图
东北石油大学课程设计成绩评价表
课程名称
单片机课程设计
题目名称
抢答器控制器设计
序号
评价项目
指标
满分
评分
1
工作量、工作态度和出勤率
按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。
20
2
课程设计质量
课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。
45
3
创新
工作中有创新意识,对前人工作有一些改进或有一定应用价值。
5
4
答辩
能正确回答指导教师所提出的问题。
30
总分
评语:
指导教师:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抢答 控制器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)