首页 > 其他分享 >51单片机实现数码管显示

51单片机实现数码管显示

时间:2024-11-09 20:07:47浏览次数:1  
标签:仿真 数码管 51 按下 抢答 单片机 电路 按钮

51单片机实现数码管显示

本次的实现效果方式采用模拟进行,芯片为AT89C51,开发软件为keil5,proteus

上代码

代码如下:

#include <reg51.h>

void delay(unsigned int i);//延时函数

unsigned int i=0;

void main() {
    unsigned char button=0,flag=0;
    unsigned char digitCodes[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0xbf};
    P0 = 0xff; // 初始化P0口为高电平,准备读取按键状态
    P1 = digitCodes[8]; // 初始显示空格

    while (1) {
        if(flag==0)//如果没有其他的选手按下
				{
				button = P0; // 第一次读取按键状态
        delay(1200); // 延时消抖
        button = P0; // 第二次读取按键状态
        
					if (button != 0xff) { // 如果有按键被按下
            for (i = 0; i < 8; i++) {
							if((button & (1 << i)) == 0)
								{//检测是那一个按键按下,进行位比较
                  P1 = digitCodes[i]; // 显示对应的数字
									flag=1;
							  }
            }
				}
			}
    }
}

void delay(unsigned int i) {
    unsigned int k;
    for (k = 0; k < i; k++);
}

效果展示

keil5开发界面
在这里插入图片描述
proteus界面:
在这里插入图片描述

介绍

一、系统概述
8路抢答器系统是一个用于竞赛或活动中的抢答环节的设备,能够准确、快速地判断哪位参赛者最先按下抢答按钮,并在数码管上显示该参赛者的编号。系统由输入电路、优先判断电路、编码与显示电路以及控制电路等组成。
二、硬件设计

  1. 输入电路设计:使用八个按钮作为八路输入,每个按钮连接到一个数字电路输入端。当参赛者按下按钮时,输入电路会检测到这个信号。
  2. 优先判断电路设计:设计一个优先编码器,用于检测并判断最先按下按钮的输入信号。优先编码器能够处理多个同时输入的信号,并输出最先到达信号的编码。
  3. 编码与显示电路设计:使用编码器对优先级信号进行编码,然后通过译码器解码并显示在数码管上。这样,观众和主持人都可以清晰地看到哪个参赛者最先抢答。
  4. 控制电路设计:设计一个控制电路,用于接收控制开关的信号,并根据信号控制抢答环节的启动、结束以及必要的控制操作。
    三、程序设计
    程序设计:程序主要实现以下功能:
    1.检测并判断最先按下抢答按钮的选手编号。
    2.将选手编号显示在数码管上。
    3.控制抢答环节的启动和重新开始。
    四、仿真过程
    1 仿真软件选择:选用适合数字电路仿真的软件,本次实训选择Proteus进行仿真设计。
    2 搭建仿真电路:在Proteus中搭建与数字电路设计相对应的仿真电路,包括输入电路、优先编码电路、锁存与显示电路以及控制电路(数码管,AT89C51芯片,电阻,按键,电容,晶振)。
    3 设置仿真参数:根据设计需求,设置仿真参数,如输入信号的波形、频率等。
    4运行仿真并观察结果:启动仿真,观察数码管的结果,选手是否抢答,按下是否能正确显示

5 Proteus模拟图片:
在这里插入图片描述
六、仿真结果分析
通过仿真,我们验证了8路抢答器系统的功能和性能。仿真结果表明,系统能够准确、快速地检测并显示最先按下抢答按钮的选手编号。同时,系统还具备复位按钮,当按下复位按钮KEY1时能重新开始新一轮的竞答。

  1. 仿真运行界面(等待抢答)
    在这里插入图片描述

  2. 选手1号进行抢答:
    在这里插入图片描述

七、优化与改进
根据仿真结果,我们对8路抢答器系统进行了优化和改进。例如,优化了优先编码电路的设计,提高了判断速度和准确性;改进了显示电路的设计,增强了显示效果和可读性;简化了控制电路的设计,将代码进行缩减。

标签:仿真,数码管,51,按下,抢答,单片机,电路,按钮
From: https://www.cnblogs.com/helloyi/p/18537217

相关文章

  • 51c大模型~合集20
    我自己的原文哦~ https://blog.51cto.com/whaosoft/11634780#Transformer大模型尺寸变化大模型尺寸正在重走CNN的老路;马斯克:在特斯拉也是这样, Transformer大模型尺寸变化,正在重走CNN的老路! Transformer大模型尺寸变化,正在重走CNN的老路!看到大家都被LLaMA3.1吸引了注......
  • 51c大模型~合集19
    我自己的原文哦~  https://blog.51cto.com/whaosoft/11622380#用苹果VisionPro隔空操控机器人黄仁勋表示:「AI的下一波浪潮是机器人,其中最令人兴奋的发展之一是人形机器人。」如今,ProjectGR00T又迈出了重要的一步。昨日,英伟达创始人黄仁勋在SIGGRAPH2024Keynote......
  • 51c嵌入式~单片机合集2
    我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395一、不同的电平信号的MCU怎么通信?下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。    先说一说这个电路的用途:当两个MCU在不同的工作电压下工作(如MCU1工作电压5V;MCU2工作电压3.3V......
  • [lnsyoj1801/luoguP2051/AHOI2009] 中国象棋
    题意在\(n\timesm\)大小的棋盘上放无标号棋子,使得任何一行或一列都不多于\(2\)个棋子,求方案数sol计数题,优先考虑dp。由于每行每列棋子不多于两个,所以我们可以计\(f_{i,j,k}\)表示前\(i\)行中,\(j\)列恰好\(1\)个棋子,\(k\)列恰好\(2\)个棋子的方案数。状态转......
  • 25-018、基于STM32单片机智能行李箱设计-LED-BELL-KEY-指纹-LCD1602-GSM-GPS+HX711称
    本设计由STM32F103C8T6单片机核心板电路+LED指示灯电路+蜂鸣器报警电路+按键电路+指纹电路+LCD1602液晶显示电路+GSM模块电路+GPS模块电路组成。1、如果指纹错误。LED灯会闪,同时蜂鸣器发出滴滴声(3声即可)2、如果指纹输入三次失败后,禁止再用指纹解锁,如果指纹打不开,可以输入按键......
  • 浅谈单片机的gcc优化级别__以双音频信号发生器为例
    IDE:  CLionHOST: Windows11MinGW:x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0GCC: arm-gnu-toolchain-13.3.rel1-mingw-w64-i686-arm-none-eabi一、简介        gcc有多种优化级别,一般不选择的情况下,IDE默认是按照-Og或这-O2优化的。        ......
  • 25-009、基于STM32单片机智能公交车自动报站系统RFID语音报站+液晶显示温度和烟雾值设
    本系统由STM32F103C8T6单片机核心板、2.4寸TFT彩屏、JR6001语音播报电路、ULN2003步进电机驱动电路、RC522-RFID刷卡识别电路、轻触开关检测电路、按键电路组成。【1】STM32单片机驱动2.4寸TFT彩屏实时显示所有站台信息、当前公交运行方向、当前到站的站点(并有图标显示);语音播......
  • 【51单片机】程序实验1——点亮LED
    由于博主还未学习数字电路和计算机组成原理,因此本系列先开展单片机软件编程的内容,硬件结构的内容简单带过,会考虑安排在后续学习计划中,编程入门部分不会深入涉及单片机电路结构原理。博主已有C语言基础,因此相关内容不会从零开始赘述主要参考学习资料:B站【普中官方】51单片......
  • FPGA实例——数码管(下)
    前言:上一篇文章的话是介绍了关于数码管的基础知识和静态数码管的verilog代码,那本章的话将去介绍如何实现动态数码管以及它的verilog代码和展示动态数码管:简易计数器:这里的话主要去介绍一个简易的计数器,由按键控制开始和结束,每秒自加1,从0计到9999,计满后清零动态数码管显示......
  • 新配置!米尔新唐MA35D1核心板512M DDR配置发布!
    米尔在2024年8月推出了基于新唐MA35D1芯片设计的嵌入式处理器模块MYC-LMA35核心板及开发板。MA35D1是集成2个Cortex-A35与1个Cortex-M4的异构微处理器芯片。核心板采用创新LGA252PIN设计,原生17路UART和4路CANFD等丰富的通讯接口,可广泛应用于新能源充电桩、工程机械控制器、OBD汽......