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

news2025/1/11 15:06:06

随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以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.coloradmin.cn/o/981609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python UI自动化 —— pytest常用运行参数解析、pytest执行顺序解析

pytest常用Console参数: -v 用于显示每个测试函数的执行结果-q 只显示整体测试结果-s 用于显示测试函数中print()函数输出-x 在第一个错误或失败的测试中立即退出-m 只运行带有装饰器配置的测试用例-k 通过表达式运行指定的测试用例-h 帮助 首先来看什么参数都没加…

QT 第四天

一、设置一个闹钟 .pro QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend…

RHCE——十八、shell编程之sed

RHCE 一、概念工作原理 二、基本语法1、格式2、参数3、定址符4、操作 三、输出文本范例文件 四、文本替换1、范例文件2、格式3、示例4、使用替换实现删除 五、删除文本1、注意2、示例 六、插入文本1、注意2、格式3、示例4、注意 七、练习 一、概念 sed命令是一个非交互式的文本…

[keil] uv编译分析

假设Keil安装路径: C:\Keil_v5\ 假设工程在 d:\HELLO , 工程Targets名:Simulator [在Manage Project Items中可修改] 如下指令为:Build(F7) C:\Keil_v5\UV4\UV4.exe -b d:\HELLO\Hello.uvproj -j0 -t Simulator -o d:\HELLO\uv4.log 如下指令为:Rebuild(CtrlAltF7) C:\Kei…

PEX装机

目录 一、PXE是什么? 二、PXE的组件: vsftpd/httpd/nfs tftp dhcp 三、配置vsftpd 四、配置tftp 1.安装tftp-server 2.启动tftp 五、准备pxelinx.0文件、引导文件、内核文件 1.准备pxelinux.0文件 2.准备引导文件、内核文件 六、配置dhcp …

【基础建设】浅谈企业网络安全运营体系建设

引言 在网络安全环境复杂又严峻的当前,国内各大企业已开始组建自己的网络安全团队,加强企业自身安全能力建设,朝着网络安全运营一体化迈进。但企业安全运营也已逐步从被动式转变为主动式,成为将人、管理与技术结合,全…

C高级day1 shell 指令的补充学习

使用cut截取出Ubuntu用户的家目录,要求:不能使用":"作为分割 2.思维导图

【WPF C#】PorphyStruct类卟啉和类咕啉的结构分析

前言 首先,热烈祝贺家姐申请到了国家自然科学基金(8月底),找一些化学领域的程序和软件,助我姐一臂之力,顺便自己研究一下源码。 卟啉类化合物的结构分析 PorphyStruct,一种用于分析不同卟啉类非…

tlog实现链路追踪

tlog实现链路追踪 TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志,使用简单, 产生全局唯一追踪码。除了追踪码,TLog还支持SpanId和上下游服务信息 标签的追加。你还可以自定义方法级别的标签,让日志的定位轻而易…

春秋云镜 CVE-2017-5638

春秋云镜 CVE-2017-5638 S2-045/S2-046 靶标介绍 2.3.32 之前的 Apache Struts 2 2.3.x 和 2.5.10.1 之前的 2.5.x 中的 Jakarta Multipart 解析器在文件上传尝试期间具有不正确的异常处理和错误消息生成,这允许远程攻击者通过精心制作的内容执行任意命令-Type、C…

Mysql 流程控制

简介 我们可以在存储过程和函数中实现比较复杂的业务逻辑,但是需要对应的流程控制语句来控制,就像Java中分支和循环语句一样,在MySQL中也提供了对应的语句,接下来就详细的介绍下。 1.分支结构 1.1 IF语句 IF 表达式1 THEN 操作1…

亚信科技AntDB数据库携“U8C+AntDB联合产品”亮相“2023全球商业创新大会”,开启生态合作新篇章

8月18-19日,近万人齐聚上海国家会展中心,带着对数字化、数智化趋势和热点的关注,以满腹热情投身到以“数据驱动 智能运营”为主题的“2023全球商业创新大会”,共商新技术条件下企业信息化出现的新课题、新挑战,共享数智…

【MQTT接收数据写入数据库】

MQTT接收数据写入数据库 1.搭建MQTT服务器 参考上一篇文章 2.安装数据库mysql sudo apt update sudo apt install mysql-server创建一个数据库和数据表存储mqtt消息 首先,登录到MySQL服务器: mysql -u root -p输入你的root用户密码。默认root 3.创…

Json字符串内容比较-超实用版

背景 之前有类似接口diff对比,数据对比的测试需求,涉及到json格式的数据对比,调研了几个大神们分享的代码,选了一个最符合自己需求的研究了下。 说明 这个对比方法,支持JsonObject和JsonArray类型的数据对比&#x…

攻防世界-crypto-工业协议分析2

打开附件得到 尝试直接搜索flag关键字,未果 发现存在关于ARP、UDP、SNA协议的流量包,仔细分析后发现大量的UDP包大小都一样,只有少量的是不同的,一个一个找下去,发现如下包有异常字符: 提取字符串&#xff…

MyBatis: 向oracle表中插入null字段的处理

一、可以在SQL中指定类型: Insert("insert into student values(#{name},#{age})")二、可以进行全局配置(单独使用MyBatis时可如下配置) 如果不进行配置,将报错

移动安全测试框架-MobSF WINDOWS 环境搭建

安装python python-3.11.5-amd64.exe 安装Win64OpenSSL-3_1_2.exe 安装VisualStudioSetup.exe github下载安装包 https://github.com/MobSF/Mobile-Security-Framework-MobSF/archive/refs/heads/master.zip GitHub - MobSF/Mobile-Security-Framework-MobSF: Mobile Secur…

【Apollo】自动驾驶技术的介绍

阿波罗是百度发布的名为“Apollo(阿波罗)”的向汽车行业及自动驾驶领域的合作伙伴提供的软件平台。 帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 百度开放此项计划旨在建立一个以合作为中…

2023年软件测试常见面试题

测试花费的成本,要深入在那个环节上,(前提准备上,需求理解上,业务逻辑,排错上,业务名词上理解,通过什么样的方法,有谁能解决这样的问题) 软性热身题 1.自我…

Matlab图像处理-高斯低通滤波器

高通滤波 图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。高通滤波就是为了高消除模糊,突出边缘。因此采用高通滤波器让高频成分通过,消除低频噪声成分削弱,再经傅里叶逆变换得到边缘锐化的图像。 …