基于单片机的八路抢答器(数码管版)详细介绍

随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。

本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

基于单片机的八路抢答器(数码管版)(独立按键、四位共阳极数码管、指示灯)

0、文末的链接中下载全套资料,全套资料中包括如下内容:(请阅读(使用前必读)文件下的内容)

1、系统组成:单片机最小系统、独立按键、两个四位共阳极数码管、指示灯。

2、系统功能:通过定时器实现计时,可按键调整时间。具有开始,新一轮和按键抢答等功能。时间设置完成后,需要按下界面切换按键方可进行抢答倒计时,等到有玩家抢答后,其它玩家抢答无效。 

3、各个模块简介:

3.2、数码管显示模块:

3.2.1 仿真中的图如下:(和实物不一样的)

程序设计部分程序如下:(带详细注释)


#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char 
#define uint unsigned int

uchar dd[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0x00};
//共阳极数码管断码表 
uchar count=0; //定义计数时间变量
uchar fen=1,miao=20;  //定义时间初始值
  //定义数码管时间和玩家变量
uchar qi=11,ba=11;

    //定义按键接口
sbit s0=P3^7;//界面切换按键

sbit s1=P3^0;//分秒切换
sbit s2=P3^1; //时间加
sbit s3=P3^2; //时间减
sbit s4=P3^3; //开始抢答
sbit s5=P3^4; //新一轮开始

sbit k1=P1^0;  //  1号
sbit k2=P1^1;    // 2号
sbit k3=P1^2;    //3号
sbit k4=P1^3;      // 4号
sbit k5=P1^4;  //  5号
sbit k6=P1^5;    // 6号
sbit k7=P1^6;    //7号
sbit k8=P1^7;      // 8号

sbit led1=P3^5;    //led接口   抢答环节指示灯
sbit led2=P3^6;    //复位、抢答结束指示灯

//定义按键标志位 用于后期的切换和判断
bit s0_flag=1;//0:显示抢答界面  1:显示时间调整界面   
bit s1_flag=0;//0:时间调节为分  1:时间调节为秒
uchar k_flag=0;  
//选手标志位 用于判断是否已经有选手抢答,有则其他选手抢答无效

需要完整代码扣作者。 

物联沃分享整理
物联沃-IOTWORD物联网 » 基于单片机的八路抢答器(数码管版)详细介绍

发表评论