已有的抢答器多是由分离元件和大规模集成电路组成,其功能有限且电路结构复杂。本文将介绍利用8031单片微机制成的智力竞赛抢答器电路及程序流程简图。其功能为连续可调的0至19秒定时;同时实现16路抢答;定时终止有低频铃声;抢答有效为高频铃声。
硬件设计
硬件电路图如图1所示。图中由4只IN4003组成桥式整流电路,输出的直流作为整机电源。IC1输出的+9V电源作为显示器的供电。IC2输出的+5V作为单片机的电源。IC3为微处理器,型号为8031。IC4为地址锁存器74LS373,IC5为程序存储器2764。

8031的P1口有双重功能。其一为输出显示的字段控制,P1.0至P1.6控制显示器个位的A、B、C、D、E、F、G等7段,P1.7控制十位的“1”的显示。其二为与P3.1和P3.3组成抢答16组的键盘开关。
显示器用8×8发光二极管组成,每段4只串联。显示器的十位仅显示“1”,故定时最大显示为“19”。显示器与高低频铃声配合,显示出定时和抢答组别。V1至V8为显示驱动放大管。P3.0用于显示控制,通过V9与V10组成复合管作为显示的开关。
P3.4输出的S17作为抢答发令开关,当触发此开关后,定时器复零后开始计时,等待抢答。P3.5输出的S18为定时设置开关。在比赛之前,按下此开关,整定竞赛的定时时值。P3.7为抢答有效显示的灯光控制和声响铃声信号的驱动控制。V11驱动VD17发光,V12驱动扬声器发声。
IC5可以采用2732或2764。全部控制程序在编程器中写入。
软件组成
整机程序流程图的简化图如图2。

初始程序包括输入输出端口初始状态设置,定时器工作方式选择及定时中断设置。由于本机采用软件译码,所以在初始化程序中还包括0~9的十进制至7段显示的译码程序。
主程序主要由4部分组成:
1.定时整定
由P3.5输出控制的S18被闭合时,处理器收到整定时间的信号,即片内定时标志位被复位。这样给片内用于定时设置的单元连续地进行加1操作,其过程的状态通过显示器显示出来。由于显示最大值为“19”,所以定时时间达到19秒则自动停止。若应用中需要更长的定时,例如需要30秒定时,则可把时限定为15秒,重复两次启动,则可得到30秒的定时控制。当断开整定键开关后,程序转入下步的访问。
2.时间显示
当P3.4输出控制的S17被按下时,则等待抢答开始,同时时钟启动,片内定时器对时钟脉冲计数,定时中断服务程序周期性地工作。指定用作时钟的寄存器的状态通过显示器显示出来,被显示的时间进程每秒数据加1,同时发出短的秒脉冲声响时号。实际走时的时值,不断与整定值比较。未到达整定值时,自动转至后道程序。当到达整定值时无人抢答,则时钟自动停止并鸣低音铃声报警。铃声子程序设置3个计数器,其中一个的循环长度用作控制铃声音的频率,另一个的循环长度用作控制声音的断续,第三个的循环长度用作铃声持续的时间。
3.控制键开关程序
控制键开关程序,即对S17与S18的访问程序。每次访问时先经过一段防触点跳动的消噪程序,其作用是为防止误动作和提高可靠性。当判断完键开关的状态后,置位或复位片内的标志位。当整定按键按下时,复位整定定时标志位。当抢答启动按键按下时,复位启动抢答的标志位;清零时钟计数器并打开时钟;清零组号寄存器并打开抢答查询程序。若抢答启动按钮不触发,则抢答标志位为“1”,程序不经过抢答处理部分,而定时查询。此时若有人抢答,则视为无效而拒绝显示组别。
4.抢答按键及处理程序
当S17触发后进入允许抢答程序时,则按顺序访问方式查询抢答按键的状态。由于查询的速度很快,故不影响抢答组别的先后判断。查询中若遇有抢答者按键闭合触点,则经处理计算后从显示器显示出抢答组号,并发出声光显示。
查询抢答按键,同样有一段消噪的子程序以防止误动作。查询得到的组号码暂存于单片机内指定的单元,同时完成下述操作:即关闭定时时钟;封闭抢答查询,以保证以后抢答者无效;把组号经软件译码送至显示器;发出抢答有效的声光信号。关于软件尚有两点说明:
1.高低音频铃声的音调,连续铃声持续的时间长短,显示发光二极管发光持续的时间等均通过软件设置的专用计数器循环延时来完成。
2.抢答访问触点的程序,虽然是一点一点顺序进行,但因采取在方向上正逆交替和计算机的高速查询,对于手动按键操作的机械过程而言,客观效果等于连续等待。(刘彦茂)