【51单片机】【protues仿真】基于51单片机八路抢答器数码管系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示
2、主持人按下开始,8位选手开始抢答
3、第一次使用要设置抢答时间,支持掉电存储
4、选手抢答成功,数码管会显示其号码
5、按下主持人按键进入新一轮

二、使用步骤

基于51单片机的八路抢答器数码管系统设计主要包含硬件电路搭建和软件编程两部分,核心功能是通过数码管显示抢答选手编号及倒计时信息。

三、硬件资源

1、51单片机核心模块
2、按键模块
3、数码管显示模块
4、蜂鸣器模块
5、指示灯模块
 

四、软件设计

#include<reg52.h>           //头文件
#include<SMG.h>
#include<EEPROM.h>
#include<INTERRUPT.h>

#define uchar unsigned char//宏定义
#define uint unsigned int

/**********************引脚定义************************/
sbit key_zhu=P2^2;       //主持人键
sbit key_jia=P2^1;       //加键
sbit key_jian=P2^0;       //减键

sbit key_1=P1^1;       //八位选手按键定义
sbit key_2=P1^3;
sbit key_3=P1^5;
sbit key_4=P1^7;
sbit key_5=P3^1;
sbit key_6=P3^3;
sbit key_7=P3^5;
sbit key_8=P3^7;

sbit led_1=P1^0;       //八位LED灯按键定义
sbit led_2=P1^2;
sbit led_3=P1^4;
sbit led_4=P1^6;
sbit led_5=P3^0;
sbit led_6=P3^2;
sbit led_7=P3^4;
sbit led_8=P3^6;
/**********************变量定义************************/
uchar zhu_f=0;           //比赛进行阶段标记位,=0表示没有按。=1表示在设置倒计时的时间。=2表示开始抢答
uchar qiang_f=0;       //抢答犯规标记,=0没有犯规。=1表示有人犯规
uchar wan_f=0;           //抢答完成标记,=0抢答没完成后还没有开始。=1表示抢答完成
uchar time=30;           //倒计时时间
uchar T0_num;           //定时器0计数
uchar number;           //抢答成功选手的编号,或犯规选手的编号。=0的时候表示没有

/********************************************************
函数名称:void delayms(uint ms)
函数作用:毫秒延时函数
参数说明:
********************************************************/ 
void delayms(uint ms)
{
    unsigned char i=100,j;
    for(;ms;ms--)
    {
        while(--i)
        {
            j=10;
            while(--j);
        }
    }
}
/********************************************************
函数名称:void bajing()
函数作用:抢答犯规报警提示
参数说明:
********************************************************/ 
void bajing()
{
    buzz=0;           //开蜂鸣器
    delayms(10);
    buzz=1;           //关蜂鸣器
    delayms(10);
}
/********************************************************
函数名称:uchar qianda()
函数作用:抢答按键检测,返回抢答编号
参数说明:
********************************************************/
uchar qianda()
{
    uchar temp=0;
    if(key_1==0)                  //一号犯规,下同
        temp=1;              //记录1号
    else
        if(key_2==0)
            temp=2;
        else
            if(key_3==0)
                temp=3;
            else
                if(key_4==0)
                    temp=4;
                else
                    if(key_5==0)
                        temp=5;
                    else
                        if(key_6==0)
                            temp=6;
                        else
                            if(key_7==0)
                                temp=7;
                            else
                                if(key_8==0)
                                    temp=8;    
    return temp;    
}

五、实验现象

演示视频:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96831.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96831.shtml

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

相关文章

深度学习:CUDA、PyTorch下载安装

目录 一、安装准备 二、安装CUDA 2.1 查看本机支持的 CUDA 版本及相关信息 2.2 卸载CUDA(可选) 2.3 下载cuda安装包 2.4 安装 2.5 配置环境变量 三、安装PyTorch 3.1 版本选择 3.2 下载安装 方法一&#xff1a;直接安装&#xff08;不建议&#xff0c;网差的话会死机…

MyBatis-Plus 快速入门 -常用注解

目录 1. 常用注解 TableName TableId TableField 2. IdType 枚举 3. 使用 TableField 的常见场景 4. 完整示例 5. 总结 在使用 MyBatis-Plus 的过程中&#xff0c;我们经常会用到一些注解来完成实体类与数据库表字段之间的映射关系。本文将带你快速入门&#xff0c;了解…

2025-08-23Excel 条件高亮工具,秒高亮显示符合筛选条件的行数据

Excel 条件高亮工具&#xff0c;秒高亮显示符合筛选条件的行数据 先看图【加班终结者】Excel 条件高亮工具&#xff08;试用版&#xff09; ——让错误数据一秒现形&#xff0c;免费先爽 30 次&#xff01; 你是不是也这样&#xff1f; • 财务对账&#xff0c;1000 行工资表里…

vue 一键打包上传

npm run build之后&#xff0c;将dist文件夹自动压缩&#xff0c;通过ssh自动连接服务器&#xff0c;把压缩包放到指定目录下&#xff0c;然后自动解压根目录创建gulpfile.js文件const gulp require(gulp); const GulpSSH require(gulp-ssh); const archiver require(archiv…

【Qt调试】无法查看QString内容

环境Qt版本&#xff1a;6.9.1问题Qt creator进入断点&#xff0c;Expressions不能查看变量&#xff08;类型&#xff1a;QString&#xff09;的内容。解决方法选择变量右键&#xff0c;勾选【Use Debugging Helpers】

防爆自动气象监测设备:高危环境的 “安全堡垒”

防爆自动气象监测设备&#xff1a;高危环境的 “安全堡垒” 柏峰【BF-FB】在化工园区、油气田、矿山等高危行业领域&#xff0c;丝毫马虎不得。而气象条件&#xff0c;这个看似平常的因素&#xff0c;实则在安全生产中扮演着举足轻重的角色。防爆自动气象监测设备的出现&#x…

《C++进阶:引用补充、内联函数与nullptr 核心用法》

&#x1f618;个人主页&#xff1a;Cx330❀ &#x1f440;个人简介&#xff1a;一个正在努力奋斗逆天改命的二本觉悟生 &#x1f4d6;个人专栏&#xff1a;《C语言》《LeetCode刷题集》《数据结构-初阶》《C知识分享》 &#x1f31f;人生格言&#xff1a;心向往之行必能至 前言…

通过python程序将实时监测数据写入excel软件进行保存是常用和非常实用的功能,本文教会大家怎么去搞定此功能

目录 一、功能介绍 二、具体的程序示例 三、实际应用建议 一、功能介绍 本方案的核心功能是持续监听一个数据源&#xff08;如传感器、API接口、消息队列、其他应用程序等&#xff09;&#xff0c;将获取到的实时数据流以追加的方式写入到Excel文件中。同时&#xff0c;方案…

在 Linux 中全局搜索 Word 文档内容的完整指南

文章目录 为什么不能直接使用 grep 搜索 Word 文档? 解决方案:使用 Pandoc 转换后搜索 步骤 1:安装 Pandoc 步骤 2:创建搜索脚本 步骤 3:执行搜索(两者选其一) 一行命令解决方案 高级用法与优化 1. 忽略大小写搜索 2. 显示匹配内容 3. 性能优化 注意事项 结论 在日常工作中…

基于STM32单片机智能农业大棚控制系统-插件款 DIY 设计开源(实物+程序+原理图+其他资料)

目录 一、项目成品展示 二、功能介绍 三、硬件组成 四、PCB展示 五、程序设计 六、资料分享 资料获取 查看主页介绍&#xff1a;兆龙电子单片机设计 一、项目成品展示 项目成品图片展示&#xff1a; 哔哩哔哩视频链接&#xff1a; STM32单片机智能农业大棚控制系统-插件…

如何实现二维CAD与3D建模工程图关联一体化出图 | 中望3D 2026新亮点

本文为CAD芯智库整理&#xff0c;未经允许请勿复制、转载&#xff01;原文转自&#xff1a;www.xwzsoft.com/h-nd-609.htmlwww.xwzsoft.com/h-nd-609.html许多企业在同时使用二三维CAD软件时&#xff0c;往往因为2D和3D是不同软件商开发&#xff0c;很容易遇到问题&#xff1a;…

深入理解 Roo Code 的自动批准功能

在软件开发过程中&#xff0c;效率与安全往往是两个需要不断平衡的主题。 Roo Code 中一项能够显著提升效率但也需要谨慎使用的功能——自动批准&#xff08;Auto-Approval&#xff09;。如果你经常与 AI 助手协作编码&#xff0c;这个功能可能会改变你的工作流&#xff0c;但错…

《一次高并发场景下疑难Bug的深度排查与复盘》

常规Bug如同路上的小石子,弯腰便可清理;但有些隐藏在架构深处、仅在特定场景下爆发的疑难Bug,却像深渊中的暗礁,不仅会让程序骤然停摆,更可能消耗团队数周甚至数月的精力。我曾亲历过这样一场“战役”—一个仅在高并发峰值时段出现、无规律触发系统崩溃的Bug,从最初的毫无…

互联网大厂Java面试实录:Spring Boot与微服务架构解析

第一轮&#xff1a;基础技术栈 面试官: 小C&#xff0c;你能否简要介绍一下Java SE 8中的Lambda表达式&#xff1f; 小C: Lambda表达式就是Java中的匿名函数&#xff0c;可以简化代码&#xff0c;让代码更优雅。我记得它可以用来替代匿名类&#xff0c;特别是在集合操作中很有用…

渗透测试报告编写平台 | 简化和自动化渗透测试报告的生成过程。

工具介绍 这是一个基于 FastAPI 和 Vue.js 的 Web 应用程序&#xff0c;旨在简化和自动化安全测试报告的生成过程。 <AI编写 能用就行> 主要功能 模板管理: 上传和管理 .docx 格式的报告模板。报告生命周期管理: 创建、编辑、查看和删除安全测试报告。漏洞知识库: 管理和…

Vulkan 学习路线图

按阶段拆解&#xff0c;告诉你每个阶段要写哪些 Demo&#xff0c;逐步从三角形走到完整渲染器。&#x1f539; 第一阶段&#xff1a;入门&#xff08;Hello Vulkan&#xff09;目标&#xff1a;跑通 Vulkan 的最小化程序&#xff0c;理解基本对象。 要做的 Demo&#xff1a;创建…

C语言指针5

文章目录1.sizeof和strlen对比1.1sizeof1.2strlen1.3sizeof和strlen的对比2.数组和指针的笔试题2.1一维数组2.2字符数组2.3二维数组3.指针运算笔试题1.sizeof和strlen对比 1.1sizeof 在学习操作符的时候&#xff0c;我们学习了 sizeof。sizeof 用于计算变量所占内存空间的大小…

【二叉树 - LeetCode】617. 合并二叉树

题目&#xff1a; 617. 合并二叉树 - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(n…

AI + 医疗:除了影像诊断,智能技术还在改写哪些诊疗环节?

一、引言在科技飞速发展的当下&#xff0c;人工智能&#xff08;AI&#xff09;已成为医疗领域变革的重要驱动力。提及 AI 在医疗中的应用&#xff0c;大众首先想到的往往是医学影像诊断&#xff0c;AI 的确在该领域成果斐然&#xff0c;如快速识别肺结节、精准分析影像细节&am…

立轴式小型混凝土搅拌机的设计含14张CAD

摘要 目前&#xff0c;混凝土搅拌机在国内外都有着飞速的发展&#xff0c;国际竞争力在不断提高。 为了满足市场需求&#xff0c;完善产品系列&#xff0c;适应小型建筑施工和实验室工作的需求&#xff0c;设 计了此混凝土搅拌机。 本课题主要研究立轴式混凝土搅拌机的工作原理…