随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以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;
//选手标志位 用于判断是否已经有选手抢答,有则其他选手抢答无效
需要完整代码扣作者。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.服务器托管网net
相关推荐: 单片机通用学习-什么是寄存器?什么是寄存器?
什么是寄存器? 寄服务器托管网存器是一种特殊的存储器,主要用于存储和检查微机的状态。CPU寄存器用于存储和检查CPU的状态,具体包括计算中途数据、程序因中断或子程序分支时的返回地址、计算结果为零时的负值、计算结果为零时的信息、进位值等。 由于CPU的通用寄存器…