八路智能抢答器Word文档格式.docx
《八路智能抢答器Word文档格式.docx》由会员分享,可在线阅读,更多相关《八路智能抢答器Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。
而且在显示时抢答器会发出叮咚声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。
关键词:
单片机矩阵式键盘显示抢答器
第一章概述
1.1八路智能抢答器的概述
本设计是利用单片机实现的一个八路抢答器,其具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较高的推广价值的无线遥控抢答器,它由8个发射器和1个接收器组成,可用于8组或8组以下的智力竞赛中。
比赛前,将参赛组从0至7编号,每组发给对应的一个发射器。
将接收器放于各组中央或前方。
主持人按一下启动键后,抢答开始。
此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出3次清脆的“叮咚”声。
以后,按下任何一路抢答键均不起反映。
只有主持人再次按动启动键后,才能进行下一次抢答该电路由直流稳压电源、抢答器、超时报警与电子计分四部分组成。
1.2本设计的任务及要求
基本功能
(1)抢答器同时供8名选手或8个代表队比赛,分别用8个按键S0~S7表示。
(2)设置一个系统清除按键,该开关由主持人员控制。
(3)抢答器具有锁存与显示功能。
即选手按动抢答按键,锁存相应的编号,在LED数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
1.3系统主要功能
每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。
抢答开始后,若有选手按抢答按钮,刚该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。
同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0为止。
抢答器具有计分、显示功能。
预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10分,答错扣10分。
抢答器具有定时抢答的功能。
一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s左右。
选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0为止。
第二章系统硬件设置
2.1芯片的选择
本设计使用到的元器件包括:
8051芯片、数码LED显示器、七段LED数码管的译码。
2.2工作原理
基于这个设计的上述要求,根据功能要求,须设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。
通过复位按键FW,电路进入就绪状态,等待抢答。
首先由主持人根据题目的难易程度,可以用“JIASHI”和“JIANSHA”两个按键,设定时间在(0S-99S)之间,然后再由主持人发布抢答命令(按下KS按键)同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。
在电路中“S1-S8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P2口输出抢答者号码的七段码值,经GAL16V8驱动,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。
如果在设定的时间中没有一个人按下按键,一到时间,则产生报警信号已经超时,不可以抢答。
当要进行下一次的抢答时,由主持人先按一下复位按键FW,电路复位,进入下一次抢答的就绪状态。
2.3系统的硬件构成及功能
2.3.1抢答器的电路
如图2-1为电路框图。
其工作原理为:
接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;
主持人将开关置,“开始”状态,宣布“开始”抢答器工作。
定时器倒计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:
优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器
显示剩余时间。
如果再次抢答必须由主持人再次操作"
清除"
和"
开始"
状态开关。
图2-1抢答器框图
如下是抢答器原理仿真图:
2.3.2单元电路设计
(1)抢答器电路
参考电路如图2-3完成两个功能:
一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;
二是禁止其他选手按键操作无效。
工作过程:
开关S置于“清除”端时,RS触发器的端均为0,4个触发器输出置0,使74LS148的=0,使之处于工作状态。
当开关S置于"
时,抢答器处于等待工作状态,当有选手将键按下时(如按下S5),74LS148的输出经RS锁存后,1Q=1,=1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为"
5"
。
此外,1Q=1,使74LS148=1,处于禁止状态,封锁其他按键的输入。
当按键松开即按下时,74LS148的此时由于仍为1Q=1,使=1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。
如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一轮抢答。
74LS148为8线-3线优先编码器,表2-1为其功能表。
图2-3抢答器电路
如下表2-174LS148的功能真值表
(2)时序控制电路设计
时序控制电路是抢答器设计的关键,它要完成以下功能:
a.主持人将控制开关拨到"
位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。
b.当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。
(3)复位电路的设计
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位*作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位*作通常有两种基本形式:
上电复位和上电或开关复位。
8051的复位方式可以是自动复位,也可以是手动复位,见下图。
此外,RESET/Vpd还是一复用脚,VCC掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
2.3.2定时电路的设计
为达到抢答的合理性、完整性、可控性,所以本设计设置了抢答定时电路。
它包括两个按键,一个是加(JIASHI)、另一个是减(JIANSHI),该两个按键由主持人用于在发布开始命令之前设定时间(可以设定在00S-99S),每按一下“JIASHI”按键就会在原来的数字的基础上加上一,如果是按的“JIANSHI”按键就会在原来的数值上减去一。
图2-4可预置时间的定时电路
由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。
可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图2-4所示。
2.3.4报警电路设计
报警电路用于报警,当遇到报警信号时,发出警报。
一般喇叭是一种电感性
图2-5报警电路图。
8051驱动喇叭的信号为各种频率的脉冲。
因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。
在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。
不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。
选手在设定的时间内抢答时,实现:
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次*作"
图面是数字抢答器的报警电路图。
其中555构成多谐振荡器,振荡频率fo=1.43/[(RI+2R2)C],其输出信号经三极管推动扬声器。
PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。
图2-5报警电路
第三章系统软件设置
3.1系统主程序设计
为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,所以应该得根据题目的难易程度事先设定时间,因而在编开始抢答前的程序得先编写设定时间的程序,在硬件电路中可以看到有两个按键(JIANSHI和JIANSHI)所以按下硬件的这两个按键相应的在软件进行对数据的加减。
当时间设好了之后,主持人发布抢答命令按下KS按键同时二极管变亮,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。
当在扫描到有人按下了键,马上关闭T0、调用显示程序、封锁键盘。
3.2抢答器的源程序
八路智能抢答器程序清单:
P1.0-P1.7为八路抢答输入数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。
P3.0为开始抢答,P3.7为停止。
KEQU20H;
抢答开始标志位;
将P1口与P2口互换,P3.0-P1.0,P3.1-P1.7
RINGEQU22H;
响铃标志位
ORG0000H
AJMPMAIN
ORG0003H
AJMPINT0SUB
ORG000BH
AJMPT0INT
ORG0013H
AJMPINT1SUB
ORG001BH
AJMPT1INT
ORG0040H
MAIN:
MOVR1,#0FH;
初设抢答时间为15s
MOVR2,#0AH;
初设答题时间为10s
MOVTMOD,#11H;
设置未定时器/模式1
MOVTH0,#0F0H
MOVTL0,#0FFH;
越高发声频率越高,越尖
MOVTH1,#3CH
MOVTL1,#0B0H;
50ms为一次溢出中断
SETBEA
SETBET0
SETBET1
SETBEX0
SETBEX1;
允许四个中断,T0/T1/INT0/INT1
CLROK
CLRRING
SETBTR1
SETBTR0;
一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TH2
;
***查询程序***
START:
MOVR5,#0BH
MOVR4,#0BH
MOVR3,#0BH
ACALLDISPLAY;
未开始抢答时候显示FFF
JBP3.0,NEXT
ACALLDELAY
JBP3.0,NEXT;
去抖动,