APP下载

基于单片机的四路抢答器的设计

2021-10-18陈娟顾吴华

电脑知识与技术 2021年26期
关键词:抢答器数码管单片机

陈娟 顾吴华

摘要:随着人们生活的多样性,抢答器作为一个重要的设备广泛应用于各类竞赛中。文章设计的四路抢答器以STC89C51单片机作为主控芯片,实现的功能主要是:主持人按下 “抢答开始”按键后,倒计时3秒钟,选手抢答并且显示抢答成功的小组号。该系统软硬件相结合,并且通过校“强国知识竞赛”活动验证了抢答器产品的良好性能。

关键词:单片机;抢答器;数码管

中图分类号:TP368.1      文献标识码:A

文章编号:1009-3044(2021)26-0168-03

开放科学(资源服务)标识码(OSID):

1 引言

抢答器作为一款能准确、直观、公正地判断出第一抢答者的电子应用设备,常用于各种各样的竞赛中,抢答器的种类和功能也层出不穷。然而,传统的抢答器大多采用一些基本的数字电路来实现,不仅体积大,而且布线复杂烦琐、成本较高。随着科技的发展,集成度高、控制能力强的单片机已经深入到了各个应用领域[1-3]。

2 整体设计介绍

本系承担了校“强国知识竞赛”的组织任务,要求设计一款功能准确的四路抢答器应用于竞赛活动中。将该任务功能设计为:主持人按下“抢答开始”按键,然后3秒倒计时,如果单片机检测到有选手按下抢答器按键,则显示该选手的编号,如果再次抢答,必须由主持人再次按下“抢答开始”按键。

3 硬件设计

3.1 总体设计

在本设计中采用STC公司生产的STC89C51 单片机作为主控芯片,结合简单的外围电路来实现设计任务。该系统可以进行运算控制、抢答信号识别与处理以及显示功能的实现。具体表现为:用四个独立按键作为选手抢答键,一个独立按键作为主持人键,数码管用作显示组号和倒计时时间,利用4个LED灯作为选手抢答成功的指示灯。如果主持人按键没有按下,而选手按键提前按下抢答,则单片机不予处理选手按键,即抢答无效。硬件电路的总体设计框图如图1所示。

3.2 单片机及独立按键电路

STC89C51单片机是STC公司推出的51内核单片机,包含有4个8位的并行I/O接口,分别为P0、P1、P2和P3口;其中P1、P2、P3口都是带内部上拉电阻的双向I/O口,因此在使用时不需要再外接上拉电阻,可简化电路;而且P1口是唯一的单功能口,仅能作通用的数据输入/输出口[4-5]。所以将P1.0—P1.3作为四路抢答信号输入端,K0—K3为四个选手抢答按键;P1.4是主持人宣布开始信号输入端,K4为主持人的“抢答开始”按键,单片机在中断中循环检测P1口的信号,当有按键按下时,I/O口相应的位为低电平。具体电路如图2所示。

3.3 显示电路

本系统采用1个4位0.56寸小型共阳极数码管,数码管均采用三极管驱动,5V电源,当显示倒计时和选手组号时,数码管工作。P0.0—P0.7为信号的输出端,接数码管的a—dp管脚。具体电路图如图3所示。

4 软件设计

4.1 流程图

本系统的单片机编程在keil uVision4环境下完成,用单片机程序控制系统,实现的功能比较灵活,能较方便地对系统进行功能的扩张和改进。抢答器开始工作时,先进行初始化,完成对相关参数进行配置,以及对定时器进行设置等工作。

然后判断主持人按键是否按下,如果未按下,则返回等待;否则进入倒计时状态,倒计时结束,再判断是否有选手抢答按鍵按下,如果未按下,则原处等待;否则显示该抢答成功的选手组号;如进行新的一轮抢答,由需主持人按键重新按下。

主程序的流程图如图4所示。

4.2 主程序

void main ()//主程序

{

Timer0Init();//初始化定时器0

TR0=0;//定时器0停止计时

while (1) //主循环

{

if(Cont==0)//初始化抢答器

{

Display(3,0);//调用显示子程序

Display(4,0);//调用显示子程序

Cont=1;//进入抢答开始工作状态

}

if(Cont==1)//抢答开始

{

Display(3,0);//调用显示子程序

Display(4,0);//调用显示子程序

if(K4==0)//判断主持人按键是否按下

{

Delay(50);//调用延时子程序

if(K4==0)//再次判断主持人按键是否再次按下

{

Miao=3;//初始化倒计时时间为3秒

TR0=1;//定时器0开始计时

Cont=2;//进入倒计时3秒工作状态

}while(K4!=1);//判断主持人按键是否释放

}

}

if(Cont==2)//倒计时3秒

{

Display(4,Miao);//调用显示子程序

if(Miao==0)//判断倒计时3秒结束

{

TR0=0;//定时器0停止计时

Cont=3;////进入选手抢答工作状态

}

}

if(Cont==3)//选手抢答

{

Display(3,Key_Num/10);//调用显示子程序

猜你喜欢

抢答器数码管单片机
基于单片机的SPWM控制逆变器的设计与实现
Arduino编程
基于单片机的层次渐变暖灯的研究
MC9S08FL16单片机数码管静态显示分析
基于单片机的便捷式LCF测量仪
单片机控制的四位数码管动态显示编程
基于Qt的数码管数字编码系统的设计与实现
4路抢答器的设计与研发
基于STC12C5A60S2单片机的6路抢答器设计
Microchip推出两个全新PIC单片机系列