抢答器的设计与制作.docx
- 文档编号:6127025
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:724.79KB
抢答器的设计与制作.docx
《抢答器的设计与制作.docx》由会员分享,可在线阅读,更多相关《抢答器的设计与制作.docx(12页珍藏版)》请在冰豆网上搜索。
抢答器的设计与制作
抢答器的设计与制作
【摘要】文章介绍了一种单片机控制的智能化抢答器,该抢答器可克服普通抢答器存在的缺陷。
详细介绍了其硬件结构和软件设计方法。
设计了一种以单片机AT89C51为核心的四路抢答器,从硬件和软件两方面详细介绍了抢答器的设计方法,结合Proteus软件的仿真结果,根据电路图焊接实物,软件仿真及硬件调试结果表明,该抢答器的设计实现了预期的目标。
【关键词】抢答器;有效抢答;违规抢答;单片机
AbstractThispaperintroducesamicroprocessorcontrolledintelligentResponder,theResponderRespondercanovercomethecommondefects.Detailsoftheirhardwareandsoftwaredesignmethods.DesignedamicrocontrollerAT89C51asthecoreoffourResponder,bothfromthehardwareandsoftwaredescribedindetailResponderdesignapproach,combinedwiththesimulationresultsProteussoftware,accordingtothecircuitdiagramweldingkind,softwaresimulationandhardwaredebuggingresultsshowthattheResponderisdesignedtoachievethedesiredobjectives.
KeywordsResponder;effectiveanswer;violationResponder;SCM
引言
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等“智能型”工业产品。
在知识竞赛抢答中,简单电路设计的抢答器,只靠人的能力很难判断出哪一组先抢答,且故障率高、体积大应用不方便。
利用单片机编程设计抢答器,能轻松地分辨出抢答的次序,且具有体积小、故障率低的优点。
一、抢答器的组成与原理
抢答器又称第一信号鉴别器,应用于各种知识竞赛、文娱活动等场合。
普通抢答器存在以下缺陷:
1)在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理。
因而,使该次抢答过程变为无效。
2)当有多个违规抢答时,普通抢答器只能“抓住”其中一个,出现“漏洞”。
3)当同时出现多个有效抢答信号时,普通抢答器或采用优先编码电路选择其中一个;或利用抢答电路电子元件的“竞争”选择其中一个。
对于后者,由于抢答电路制作完毕后电子元件被固定,各路抢答信号的“竞争”能力也被固定,因而本质上也具有优先权。
普通抢答器因而存在不公平性。
抢答器是各种智力竞赛中必不可少的一种硬件设备。
实现抢答器的方式有多种多样,传统的抢答器普遍采用模拟电路、数字电路或者模数混合电路来设计。
这类抢答器所需元器件比较多,随着功能增多,电路也越复杂,并且成本偏高,故障率高,操作不方便,不便于参数调节及功能的升级换代。
本文介绍一种以单片机为控制核心的智能型抢答器,它对采样获得的各路抢答信号进行分析,识别超前违规信号、有效抢答信号,并对它们进行处理。
使每一次抢答过程都有效。
利用存储器记忆多个违规信号,克服“漏洞”现象。
当同时出现多个抢答信号时,利用程序软件,随机选择其中一个,十分公平。
具有倒计时、验键、违规显示等功能。
本文采用AT89C51为核心,结合键盘、数码管、蜂鸣器等外围设备,设计了具有抢答、计时、时间调整、蜂鸣器报警等功能的4路抢答器。
1.1电路组成与原理
硬件电路原理图见图1。
采用AT89C51单片机作为控制核心。
AN0~AN7为8个抢答键,P0.0~P0.7为8路抢答信号输入端,当有抢答键按下时,对应的输入端为低电平“0”,反之为高电平“1”。
AN8为抢答启动键,在抢答开始时,按动一下AN8键,向单片机申请一次INT0中断,单片机在中断服务程序中对抢答信号进行采样和识别处理。
采用二位LED共阴数码管以动态扫描方式对抢答键号、违规抢答键号、倒计时时间等信息进行显示。
倒计时时间由选择开关K2进行选择,本设计共有4个时间档供选择(15秒、30秒、60秒、90秒)。
AN10为违规显示键,按动AN10键,可对一次抢答过程中出现的所有超前违规抢答的键号进行显示。
K1为验键功能选择开关,当需要验键时,将K1闭合,可检验各抢答键能否正常工作,验键完毕,将K1打开。
LED1为违规指示灯,当一次抢答过程存在违规抢答信号时,LED1发光指示。
1.2主体电路的功能
一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。
工作过程:
开关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,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。
如有再次抢答需由主持人将S开关重新置“清除”然后再进行下一轮抢答。
可预置时间的定时电路;由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。
可预置时间的电路选用十进制同步加减计数器74LS192进行设计。
1.3控制系统的工作原理
当主持人按下RESET键时,智能抢答器系统立即完成复位操作,此时抢答器进入正常的工作状态(等待选手按键);当主持人宣布抢答开始时,参赛选手开始进行抢答按键操作,当其中的某一个选手成功按下抢答键时(例如S4按键被按下),AT89C51单片机P0口对应的口线P0.3就由高电平变为低电平。
当CPU检测到该口线为低电平时,将P1.0口线由原来的高电平状态切换为低电平状态,发光二极管DS1亮,同时P1.7口线也由原来的高电平状态切换为低电平状态,蜂鸣器B1发出响声,提示主持人和现场观众已经有选手成功地实现了抢答操作。
与此同时,CPU立即将成功进行抢答操作的选手编号通过P2口进行输出,将选手的编号显示在由七段数码管构成的选手编号指示器上。
这样一来无论是参赛选手、现场观众,还是主持人都会很清楚地观察到成功实现抢答操作的选手的编号,进而由该选手进行现场答题。
二、总体设计
2.1设计需求
按照设计需求,本系统具有以下几个主要功能:
(1)抢答器可同时供4名选手或四支参赛队伍使用;
(2)抢答或回答时间主持人可自行设置;(3)能够显示抢答或答题时间的倒计时;(4)在有人犯规时可以显示选手号、闪烁显示以及蜂鸣器报警;(5)答题时间还剩5s时,蜂鸣器报警提示。
2.2抢答器的工作原理
利用单片机控制各个功能模块实现抢答功能,单片机收集选手的抢答信号,运用寄存器来识别并记录第一个选手号,传输信息给数码管显示,同时部定时器工作,记录有关时间并产生超时信号,在抢答成功、倒计时结束都伴随有蜂鸣器警报提醒,从而实现单片机抢答的功能。
根据设计需求,结合单片机的作原理,设计抢答器的工作流程图如下图所示。
2.3硬件设计
在硬件设计方面利用单片机AT89C51控制抢答模块、显示模块、计时及调整模块、蜂鸣提示模块和复位模块,从而实现单片机的抢答。
系统硬件设计原理图如下图所示。
上图中U1为单片机AT89C51,K1~K4分别为4路抢答按钮,分别接到p1.0到p1.3中;开始键和结束键分别接到单片机的10、11脚,由于单片机的10、11脚既有串行接口RXD、TXD功能又有P3.0、P3.1的IO端口功能,此处按键用到单片机10、11脚的IO端口功能。
抢答时间调整按键和回答时间调整按键分别接到单片机的13,14管脚,“加一”按键和“减一”按键分别接到单片机的15、16管脚。
4位七段数码管段选接P0口,位选接P2口的低3位,蜂鸣器输出信号端接P3.7口。
2.4显示模块
显示模块采用常见的4位七段共阳数码管,利用其动态显示的方法来实现。
数码管的7个输入端A~G段分别接到AT89C51的P0.0~P0.6,位选码COM1、COM3、COM4分别接到单片机P2.0、P2.1、P2.2,由单片机来决定当前该显示的是哪一位。
由于AT89C51单片机的P0口没有置上拉电阻,本系统采用外接10kΩ上拉电阻(采用A103排阻),保证P0口没有数据输出的时候是处于高电平状态。
2.5按键输入模块
抢答器的输入信号采用11个按键控制,其中4个为抢答按键、4个为倒计时调整按键、1个开始按键、1个结束按键和1个复位按键。
各按键均有一根信号线与单片机电路相连,所有按键有一公共端,各按键相互独立互不影响。
当有键按下时,相应的单片机引脚做出反应,产生有效的输入信号。
2.6蜂鸣提示模块
本设计中利用AT89C51的16引脚经驱动器驱动蜂鸣器发声。
压电式蜂鸣器约需10mA的驱动电流,可以采用三极管的电流放大作用驱动蜂鸣器实现发声提示。
2.7复位模块
复位模块由复位键、电阻R1以及电解电容C3构成。
由于单片机是高电平复位,所以当复位键按下时单片机9脚RESET管脚处于高电平,此时单片机处于复位状态,当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。
本设计中使用了硬件复位和软件复位两个功能。
硬件复位后各个状态、寄存器以及存储器的值都恢复到了初始值。
调整抢答和回答倒计时时间,需要记忆功能,故采用软复位,当程序执行完毕后,跳转指令将程序跳转到程序执行的起始地址。
三、软件设计
系统软件由主程序和INT0中断服务程序组成。
主程序由验键、违规显示、倒计时等功能子程序组成。
系统完成初始化后,循环检查各个功能,当用户使用某个功能时,按下相应的按钮(或开关),单片机进入相应的功能处理。
INT0中断服务程序完成抢答信号采样和识别处理。
主程序框图见下图。
3.1违规抢答信号的记录
抢答开始按动AN8键,单片机进入INT0中断服务程序。
先采样P0口,并将采样值送入工作寄存器R0,使LED显示“HH”字形,提示抢答开始。
显然,R0中寄存了抢答开始前最后一瞬间各路抢答输入信号。
若无违规抢答,R0值为FFH;若有违规抢答,R0值不为FFH,R0中为0的位对应的抢答键属违规。
若R0=10111110B,表示AN0和AN6二路抢答键违规;出现R0=00H时,表示八路抢答全部违规,LED显示“UU”,并发出音响,延时5秒后返回主程序,需重新抢答。
所谓“有效抢答信号”是指从LED显示“HH”字形提示抢答开始之后的抢答信号。
在抢答提示之前的抢答信号属于“违规信号”,最先到达的有效抢答信号称为“第一有效抢答信号”。
3.2第一有效抢答信号的识别及处理
抢答提示之后,单片机再采样P0口,用于检测抢答信号。
将采样值送入工作寄存器R1,若R1值为FFH表示还无人抢答,继续采样P0口;若R1值不为FFH,表示有人按下抢答键。
但还应判断是否由违规抢答所导致,这只需将R1值与R0值进行比较,若R1与R0值相同,表示是由违规抢答所导致,则继续采样P0口;若R1与R0值不相同,则表示存在有效抢答,不再采样P0口。
此时,R1中含有第一有效抢答信号。
为了提取R1中第一有效抢答信号,抛弃其中的违规抢答信号,可进行如下处理:
将R0与R1相“异或”再与R0相“与”。
并将运算结果送工作寄存器R2,即
(R0⊕R1)·R0→R2
经上述逻辑运算可知:
若抢答键ANi(i=0,1,2,…,7)产生第一有效抢答信号,则R2中第i位为1(R2.i=1)。
若R2值为0表示无有效抢答信号。
表1为抢答过程中可能出现的4种抢答信号处理过程。
(R2=(R0⊕R1)·R0,i=0,1,2,…,7)
3.3多个第一有效抢答信号的处理
在抢答过程中,往往会出现多个抢答键同时按下,或者时间差非常短,单片机无法识别它们之间的时间差。
此时,R2中会出现多个为1的位。
即出现多个第一有效抢答信号。
但每次抢答过程只能输出显示一个第一有效抢答信号。
公正处理这个问题的方法是随机地挑选其中一个。
本设计采用一种随机定位查找方法:
将R2中各位的查找顺序排成一个环,如图4所示。
然后找出一个随机数x,从第x位开始按上述查找顺序环规定的查找顺序查找R2中为1的位,第一个被找到值为1的位,其对应的抢答信号作为被选择的第一有效抢答信号。
本设计抢答键的数目为8个,随机数x可选择为0~7。
例如,假设x=3,R2=01010001B,即出现三个第一有效抢答信号(对应AN6、AN4、AN0三个键),根据上述方法,则从D3位开始查找,第一个被找到为1的位是D4,因而抢答键AN4被选中。
抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,选手通过键盘按键进行抢答,再通过单片机将其转换成能在七段数码管上显示的字型码。
抢答完毕,数码管上显示抢答选手表示抢答成功并开始倒计时。
根据此设计思路,系统软件设计流程图如图3所示。
系统采用Keil软件参照软件流程图编写汇编语言。
以显示模块为例,相应程序段如下:
DISPLAY:
MOVDPTR,#DAT1;
查表显示程序,P0.0~P0.6段选,P2.0~P2.2位选;
MOVA,R5
MOVCA,A+DPTR
MOVP2,#01H
MOVP0,A
ACALLDELAY
MOVDPTR,#DAT2
MOVA,R4
MOVCA,A+DPTR
MOVP2,#02H
MOVP0,A
ACALLDELAYMOVA,R3
MOVCA,A+DPTR
MOVP2,#04H
MOVP0,A
ACALLDELAY
RET
DAT1:
DB00H,06H,5bH,
4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;
DAT2:
DB3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H71H;
3.4中断
中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。
有5种中断源:
外部中断0、外部中断1、定时器中断0、定时器中断1、串行中断。
对它们的描述见表。
(2)中断允许控制寄存器IE:
对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,既可以按字节寻址,也可以按位寻址。
当单片机复位时,IE被清零。
(3)串行控制寄存器SCON:
定时/计数器的控制方法,在启动定时/计数器工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数的初始化。
定时/计数器的初始化通过定时/计数器的方式,由寄存器TMOD和控制寄存器TCON来完成。
①定时/计数器方式寄存器TMOD
②中断程序的编写步骤:
根据要求设置IE(中断允许寄存器)的对应位EA(EA—总中断允许位:
EA=1,开放所有的中断;EA=0,禁止所有的中断),某个中断源还有相应的中断允许位。
(4)INT0,INT1设定触发方式IT0(外部中断触发方式控制位)当其为0时:
低电平触发;当其为1时:
下降沿触发。
(5)返回值是Void中断函数名(interrupt)。
四、基于Proteus的系统仿真
Proteus软件不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。
本设计经仿真后,实现了预期的抢答器的功能。
4.1抢答成功模块
图(左上)显示4号选手抢答成功,并且答题时间还剩余52秒,当答题时间还剩5秒时,会有蜂鸣警报。
4.2非法抢答模块
图(右上)显示的是1号选手在主持人未按下开始键下的非法抢答,此时数码管上不停的闪烁并伴有蜂鸣警报。
时间调整模块
图(左下)显示通过“加一”或“减一”键来调整抢答时间和答题时间的时间,此时在数码管上显示的为时间设置成58秒。
4.3复位模块
图(右下)显示刚开始工作以及复位后,数码管上显示初始状态“FFF”。
本设计采用了硬件复位和软件复位两种方式:
在只采用系统默认的抢答时间和答题时间时,2种复位都能达到所需求的目的;当已经重新设置过倒计时时间时,需要应用软件复位,其只是执行命令后跳转,对片通用寄存器的容没有影响。
而硬件复位会使专用寄存器的状态初始化。
4.4硬件实现
在Proteus仿真实现预定目标的基础上,将单片机AT89C51、复位电路、蜂鸣器电路、显示电路、按键电路和电源电路进行焊接,制作完成的4路抢答器如下图所示。
五、结论
本设计的特点是利用程序软件,对各种抢答信号进行识别和处理,克服普通抢答器存在的缺陷,具有智能特性。
并充分利用软件实现倒计时、验键等功能,电路结构简单,成本低廉。
本设计经实验证明性能良好,其最大时间误差为8us(晶振频率为12MHZ)。
本设计以实际电路作为最终成果形式,实现了预期的抢答、倒计时、报警等各项功能,可适用于一般的竞赛场合,具有一定的实用价值。
此外,本设计具有较强的扩展性,如自动控制记分器进行记分,并通过串行口与PC机通信,用PC机统计选手得分情况,实现智能化、公平、公正的抢答,减小人为因素的影响。
也可将抢答按键采用无线设备实现,如红外线,使抢答选手可以远距离地进行抢答,简化按键模块的线路布置。
参考文献
[1]新民,王燕芳.微型计算机控制技术.人民邮电.1999
[2]朝青.单片微机原理及应用技术.南开大学.1999
[3]明武,邹红雨.步进电机工作原理的探讨[J].2008,1.
[4]许实章.电机学(上下册)[M].:
机械工业,1990.
[5]顾绳谷.电机及拖动基础(上下册)[M].:
机械工业,2001.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抢答 设计 制作