基于单片机八路抢答器的仿真与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机八路抢答器的仿真与设计作者:***
来源:《微型电脑应用》2019年第08期
摘要:设计了一种基于STC12C5A60S2单片机的八路抢答器,由P3口八位控制八路抢答选手,抢答成功的同时对应选手位置的LED小灯点亮,与选手对应的指示灯由P1口控制。设计包括数码管显示模块,用来进行显示复位、开始、选手号与提示时间信息,单片机控制模块,处理按键与数码管显示,按键模块对选手是否抢答进行按键检测,和报警模块,实现超时未抢答和倒计时时间进行报警功能等四部分。实验结果表明,该8路抢答器的设计达到了预期的要求,具有反应快、操作简便、硬件电路简单、成本低廉等特点。
关键词:
报警; 锁存; 按键; 抢答器; 数码管
中图分类号: TP368.12
文献标志码: A
Design and Simulation of Eight-way Responder Based on MCU
WANG Fajie
(Institute of Electronic Engineering,Xi’an Aeronautical Polytechnic Institute,
Xi’an710089)
Abstract:
An 8-way answering device based on STC12C5A60S2 MCU is designed. The 8-way answering contestant numbers are controlled by the P3 ports. At the same time, the LED light corresponding to the contestant position is lit, and the corresponding indicator light is controlled by the P1 ports. The design includes a digital display module for display reset, start, player number and prompt time information. The MCU control module handles the display of keys and digital tubes, and the keyboard module detects which competitor presses the button firstly. Alarm module achieves timeout and no answer and countdown time for alarm functions. Experimental results show that the design of the 8-way responder including the above four modules meets the anticipated requirements and has the characteristics of fast response, simple operation, simple hardware circuit and low cost.
Key words:
Alarm; Latch;Button;Responder; Nixie tube
0;引言
随着各类比赛和娱乐活动的层出不穷,对抢答器功能和性能要求越来越高,目前市场上的智力竞赛抢答器多数是由数字电路设计组成,虽然功能强大,但是线路复杂,可靠性、稳定性不高,功能相对简单,当抢答器路数多时,成品面积较大、运维较困难[1];。因此设计以单片机为核心的新型智能抢答器,利用STC12C5A60S2单片机及外围接口实现抢答系统,结合单片机的定时器的功能,将软件编程与硬件设计结合起来,使得系统能够准确地进行计时,通过数码管显示选手号和时间,能够准确、公平、公正判断出抢答选手,该系统制作过程简单,易于安装和维护,具有一定的使用和推广价值。
1;硬件系统设计
八路抢答器系统采用STC12C5A60S2单片机为控制芯片,与四位一体共阳数码管
SM410561D3B和10只自复位轻触开关按键组成[2];。系统的总框图如图1所示。
按键模块包括抢答复位和抢答开始按键,用于电路的复位和主持人提示抢答开始进行倒计时,以及八位选手进行抢答的八个按键,如果选手抢答成功则数码管显示该选手按键号,同时对应选手按键的LED小灯发光,数码管的后两位显示答题时间,倒计时5S时,蜂鸣器报警提示[3];。由于数码管的段选和位选均由单片机P0口控制,所以通过74HC573锁存器来确定位选和段选,锁存器的使能端由单片机P2.6和P2.7控制。
2;软件程序设计
2.1;按键模块设计
八位选手的按键由P3口的八位分别控制,P2.0控制抢答器复位按键,P2.1控制抢答开始按键,P1 口的八位分别控制与八位选手按键相对应的八只LED小灯。程序设计时,将按键模块设计一个“KEY.H”头文件供主函数调用[4];。按键函数对十个按键进行编程控制,根据硬件电路图,先通过程序进行按键消抖,对选手按键操作时,用“if语句”判断按键是否按下,延时一段时间后再确定是否按下,如果按键按下,数码管则显示相应的按键序号,同时与该按键对应小灯发光,按键标示为清零,例如判断按键1是否按下,主要代码“if(flag==1){if
(key1==0) { delay(10); if(key1==0){ num=1; flag=0; P1=0xfe;} }”,其中,“flag==1”表示主持人已按下“开始”按键标志位,当“flag==0”时,表示按下开始按键的前提条件下,进一步判断是哪位选手抢答成功,并执行“ if(flag==0) {show(num,11,temp2/10,
temp2%10);}”語句,将选手号“num”显示在第一位数码管上,第二位数码管“g”段发光,第三位数码管显示答题时间的十位,第四位数码管显示答题时间的个位。其他七位选手按键操作类似,只是对应调整判断按键号码,即第一位数码管显示数值和小灯对应点亮即可。
2.2;显示模块设计