抢答器的设计及制作.doc
-抢答器的设计与制作【摘要】文章介绍了一种单片机控制的智能化抢答器,该抢答器可克制普通抢答器存在的缺陷。详细介绍了其硬件构造和软件设计方法。设计了一种以单片机AT89C51为核心的四路抢答器,从硬件和软件两方面详细介绍了抢答器的设计方法,结合Proteus软件的仿真结果,根据电路图焊接实物,软件仿真及硬件调试结果说明,该抢答器的设计实现了预期的目标。【关键词】抢答器;有效抢答;违规抢答;单片机Abstract This paper introduces a microprocessor controlled intelligent Responder, the Responder Responder can overe the mon defects. Details of their hardware and software design methods. Designed a microcontroller AT89C51 as the core of four Responder, both from the hardware and software described in detail Responder design approach, bined with the simulation results Proteus software, according to the circuit diagram welding kind, software simulation and hardware debugging results show that the Responder is designed to achieve the desired objectives. Key words Responder; effective answer; violation Responder; SCM目录抢答器的设计与制作1引言2一、抢答器的组成与原理21.1电路组成与原理31.2主体电路的功能31.3控制系统的工作原理4二、总体设计42.1设计需求42.2抢答器的工作原理42.3硬件设计52.4显示模块62.5按键输入模块62.6蜂鸣提示模块62.7复位模块7三、软件设计73.1违规抢答信号的记录73.2第一有效抢答信号的识别及处理83.3多个第一有效抢答信号的处理83.4中断9四、基于Proteus的系统仿真104.1抢答成功模块104.2非法抢答模块104.3复位模块104.4硬件实现11五、结论11参考文献12引言单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等"智能型工业产品。在知识竞赛抢答中,简单电路设计的抢答器,只靠人的能力很难判断出哪一组先抢答,且故障率高、体积大应用不方便。利用单片机编程设计抢答器,能轻松地分辨出抢答的次序,且具有体积小、故障率低的优点。一、抢答器的组成与原理抢答器又称第一信号鉴别器,应用于各种知识竞赛、文娱活动等场合。普通抢答器存在以下缺陷:1在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进展处理。因而,使该次抢答过程变为无效。2当有多个违规抢答时,普通抢答器只能"抓住其中一个,出现"漏洞。3当同时出现多个有效抢答信号时,普通抢答器或采用优先编码电路选择其中一个;或利用抢答电路电子元件的"竞争选择其中一个。对于后者,由于抢答电路制作完毕后电子元件被固定,各路抢答信号的"竞争能力也被固定,因而本质上也具有优先权。普通抢答器因而存在不公平性。抢答器是各种智力竞赛中必不可少的一种硬件设备。实现抢答器的方式有多种多样,传统的抢答器普遍采用模拟电路、数字电路或者模数混合电路来设计。这类抢答器所需元器件比拟多,随着功能增多,电路也越复杂,并且本钱偏高,故障率高,操作不方便,不便于参数调节及功能的升级换代。本文介绍一种以单片机为控制核心的智能型抢答器,它对采样获得的各路抢答信号进展分析,识别超前违规信号、有效抢答信号,并对它们进展处理。使每一次抢答过程都有效。利用存储器记忆多个违规信号,克制"漏洞现象。当同时出现多个抢答信号时,利用程序软件,随机选择其中一个,十分公平。具有倒计时、验键、违规显示等功能。本文采用AT89C51为核心,结合键盘、数码管、蜂鸣器等外围设备,设计了具有抢答、计时、时间调整、蜂鸣器报警等功能的4路抢答器。1.1电路组成与原理硬件电路原理图见图1。采用AT89C51单片机作为控制核心。AN0AN7为8个抢答键,P0.0P0.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。此外,1Q1,使74LS1481,处于制止状态,封锁其他按键的输入。当按键松开即按下时,74LS148的此时由于仍为1Q1,所以74LS148仍处于制止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将开关重新置"去除然后再进展下一轮抢答。可预置时间的定时电路;由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进展预置,计数器的时钟脉冲由秒脉冲电路提供。可预置时间的电路选用十进制同步加减计数器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,K1K4分别为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个输入端AG段分别接到AT89C51的P0.0P0.6,位选码1、3、4分别接到单片机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,即(R0R1)·R0R2经上述逻辑运算可知:假设抢答键ANi(i=0,1,2,7)产生第一有效抢答信号,那么R2中第i位为1(R2.i=1)。假设R2值为0表示无有效抢答信号。表1为抢答过程中可能出现的4种抢答信号处理过程。(R2=(R0R1)·R0,i=0,1,2,7)3.3多个第一有效抢答信号的处理在抢答过程中,往往会出现多个抢答键同时按下,或者时间差非常短,单片机无法识别它们之间的时间差。此时,R2中会出现多个为1的位。即出现多个第一有效抢答信号。但每次抢答过程只能输出显示一个第一有效抢答信号。公正处理这个问题的方法是随机地挑选其中一个。本设计采用一种随机定位查找方法:将R2中各位的查找顺序排成一个环,如图4所示。然后找出一个随机数x,从第x位开场按上述查找顺序环规定的查找顺序查找R2中为1的位,第一个被找到值为1的位,其对应的抢答信号作为被选择的第一有效抢答信号。本设计抢答键的数目为8个,随机数x可选择为07。例如,假设x=3,R2=01010001B,即出现三个第一有效抢答信号(对应AN6、AN4、AN0三个键),根据上述方法,那么从D3位开场查找,第一个被找到为1的位是D4,因而抢答键AN4被选中。抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进展时间设定,选手通过键盘按键进展抢答,再通过单片机将其转换成能在七段数码管上显示的字型码。抢答完毕,数码管上显示抢答选手表示抢答成功并开场倒计时。根据此设计思路,系统软件设计流程图如图3所示。系统采用Keil软件参照软件流程图编写汇编语言。以显示模块为例,相应程序段如下:DISPLAY:MOVDPTR,#DAT1;查表显示程序,P0.0P0.6段选,P2.0P2.2位选;MOVA,R5MOVCA,A+DPTRMOVP2,#01HMOVP0,AACALLDELAYMOVDPTR,#DAT2MOVA,R4MOVCA,A+DPTRMOVP2,#02HMOVP0,AACALLDELAYMOVA,R3MOVCA,A+DPTRMOVP2,#04HMOVP0,AACALLDELAYRETDAT1: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 新民,王燕芳.微型计算机控制技术.人民邮电.19992 朝青.单片微机原理及应用技术.南开大学.19993 明武,邹红雨.步进电机工作原理的探讨J .2008,1.4 许实章.电机学上下册M.:机械工业,1990.5 顾绳谷.电机及拖动根底上下册M.:机械工业,2001. z.