当前位置: 首页 > news >正文

51单片机学习——静态数码管显示

1. 数码管介绍

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件。

2. 数码管引脚定义

LED的阴极连接到一个端口上是共阴极连接,称为共阴极数码管。LED的阳极连接到一个端口上是共阳极连接,称为共阳极数码管。

段选:就是控制数码管的各个段(如a、b、c等段)是否点亮,以显示不同数字、字母等内容。
位选:用于多位数码管中,选择让哪一位数码管进行显示。

 

共阴极数码管,COM表示公共端,想选择哪一个数码管则在哪一个数码管的COM端给低电平0即可。

共阴极数码管给阳码 1-亮 0-灭,共阳极数码管给阴码 1-灭 0-亮。

3. 138译码器

输入引脚:除了A2、A1、A0这3个地址输入引脚外,还有3个使能引脚G1、G2A和G2B。只有当G1为高电平,且G2A和G2B都为低电平时,译码器才会正常工作,否则所有输出引脚都为高电平。
输出引脚:Y0 - Y7为译码输出引脚,低电平有效,即当某个输出引脚对应的输入编码有效时,该引脚输出为低电平,其他引脚输出为高电平。

通过P22 P23 P24三个I/O口控制Y0-Y7八个输出端。

给输入引脚CBA一个二进制数,将其转化为十进制数即可选择输出引脚Yx。

例如:CBA是101 则对应的输出引脚为Y5。

作用:减少单片机的I/O口。

特点:原码入,反码出。

4. 74HC245双向数据缓冲器

单片机的高电平驱动能力弱,低电平驱动能力强,加入缓冲器可以提高驱动能力。

5. C语言数组

数组:把相同类型的一系列数据统一编制到某一个组别中,可以通过数组名+索引号简单快捷的操作大量数据。

int x[3];           //定义一组变量(3个)
int x[]={1,2,3};    //定义一组变量并初始化x[0]                //引用数组的第0个变量
x[1]                //引用数组的第1个变量
x[2]                //引用数组的第2个变量
引用x[3]时,数组越界,读出的数值不确定,应避免这种操作。

6. C语言子函数

子函数:将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的。

void Function(unsigned char x,unsigned char y)//如果两个形参的数据类型一样,则可以省略。
{}返回值 函数名(形参)
{函数体
}

7. 代码示例 

#include <REGX52.H>//(0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00)unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//0-9的段码void Nixie(unsigned char Location,Number)//NixieTube数码管
{switch(Location){case 1:P2_4 = 1;P2_3 = 1;P2_2 = 1;break;case 2:P2_4 = 1;P2_3 = 1;P2_2 = 0;break;case 3:P2_4 = 1;P2_3 = 0;P2_2 = 1;break;case 4:P2_4 = 1;P2_3 = 0;P2_2 = 0;break;case 5:P2_4 = 0;P2_3 = 1;P2_2 = 1;break;case 6:P2_4 = 0;P2_3 = 1;P2_2 = 0;break;case 7:P2_4 = 0;P2_3 = 0;P2_2 = 1;break;case 8:P2_4 = 0;P2_3 = 0;P2_2 = 0;break;}P0 = NixieTable[Number];
}void main()
{
/*	在第四个数码管显示6//P2位选(位置选择) P0段选(字形选择)P2_4 = 1;//138译码器从高位到低位为CBAP2_3 = 0;P2_2 = 0;P0 = 0x7D;//数据高位对端口高位,例如一个数是12345,那么1就是数据高位,p07是端口高位,所以从P07往前读,一个数字的第一位才是最高位*/Nixie(2,3);while(1){}
}

注:本文出自对bilibili 江协科技51单片机入门教程[4-1] 静态数码管显示 内容的学习笔记。

相关文章:

51单片机学习——静态数码管显示

1. 数码管介绍 LED数码管&#xff1a;数码管是一种简单、廉价的显示器&#xff0c;是由多个发光二极管封装在一起组成“8”字型的器件。 2. 数码管引脚定义 LED的阴极连接到一个端口上是共阴极连接&#xff0c;称为共阴极数码管。LED的阳极连接到一个端口上是共阳极连接&…...

Qt5 C++ TcpSocket 如何判断是服务主动断开tcp socket连接?

文章目录 实现思路示例代码代码解释主要功能和用法注意事项 在 Qt 5.9.9 的 C 开发中&#xff0c;使用 QTcpSocket 时&#xff0c;要判断是服务端主动断开 TCP Socket 连接&#xff0c;可以通过处理 QTcpSocket 的 disconnected 信号&#xff0c;结合 QTcpSocket 的状态以及…...

UEFI Spec 学习笔记---9 - Protocols — EFI Loaded Image

本节定义EFI_LOADED_IMAGE_PROTOCOL和 EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL。这些协议分别描述了已加载到内存中的映像&#xff0c;并指定了PE/COFF映像通过EFI引导服务LoadImage()加载 时使用的设备路径。这些描述包括 load image 的源、映像在内存中的当前位置、为image分…...

Deepseek 与 ChatGPT:AI 浪潮中的双子星较量

引言 在人工智能飞速发展的当下&#xff0c;AI 语言模型成为了人们关注的焦点。Deepseek 与 ChatGPT 作为其中的佼佼者&#xff0c;各自展现出独特的魅力&#xff0c;引领着 AI 技术的发展潮流。今天&#xff0c;就让我们深入探讨这两款模型&#xff0c;看看它们在 AI 领域中是…...

open-webui安装

docker安装openwebui 拉取镜像 docker pull ghcr.io/open-webui/open-webui:maindocker images启动 docker run -d -p 8346:8080 --name open-webui ghcr.io/open-webui/open-webui:maindocker ps查看端口占用 lsof -i:8346访问地址 http://ip:port http://127.0.0.1:8346...

docker 安装jenkins

使用docker 容器安装jenkins比较方便&#xff0c;但是细节比较重要&#xff0c;这里实战安装了一遍&#xff0c;可用&#xff1a; 拉取最新的jenkins镜像 docker pull jenkins/jenkins 如果没有翻墙的话&#xff0c;可以会有下面的报错&#xff1a; Error response from dae…...

前端利器:DateUtils 日期时间工具深度剖析

序言 在前端开发中&#xff0c;日期和时间的处理是一个常见且重要的任务。从格式化日期展示到复杂的日期计算&#xff0c;每一个环节都需要精确和高效的代码支持。今天&#xff0c;我们就来深入探讨一个精心打造的前端日期时间工具类 DateUtils&#xff0c;它涵盖了从基础的日…...

Denoising Diffusion Restoration Models论文解读

论文要点 恢复的线性逆问题可以使用预训练的DDPM完成&#xff1a;1. 将降质矩阵使用SVD&#xff0c;得到分解矩阵&#xff1b;2. 使用分解矩阵将图像投影到降质类型间共享的谱空间&#xff1b;3. 谱空间中执行DDPM。 评价 同Track的方法同样很多&#xff0c;比如后续的DDNM、…...

【Windows API】SetFilePointerEx函数用法介绍

目录 一、函数概述 二、函数原型与参数解析 1. hFile&#xff08;文件句柄&#xff09; 2. liDistanceToMove&#xff08;移动距离&#xff09; 3. lpNewFilePointer&#xff08;新指针位置&#xff09; 4. dwMoveMethod&#xff08;移动基准点&#xff09; 三、返回值与…...

uniapp uni.request重复请求处理

类似这种切换tab时&#xff0c;如果操作很快并且网络不太好&#xff0c;就出现数据错乱&#xff0c;在网上查了一圈&#xff0c;有一个使用uview拦截处理的&#xff0c;但是原生uni.requse没有找到详细的解决办法&#xff0c;就查到使用 abort 方法&#xff0c;我自己封装了一个…...

unity学习47:寻路和导航,unity2022后版本如何使用 Navmesh 和 bake

目录 1 寻路和导航对移动的不同 1.1 基础的移动功能 1.1.1 基础移动 1.1.2 智能导航寻路 1.1.3 智能导航寻路还可以 2 如何实现这个效果&#xff1f; 2.1 通过地图网格的形式 2.1.1 警告信息 the static value has been deprecated的对应搜索 2.1.2 新的navigation ba…...

Windows安装node.js详细教程

一、什么是node.js Node.js 是一个基于 Chrome V8 引擎的javascript运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 Node 是一个让 JavaScript 运行在服务端的开发平台&#xff0c;它让javascript成为与PHP、Python等服务端语言平起平坐的脚步语言。 由 Rya…...

大模型领域常见的专业术语和关键词及简要解释

现在大语言模型非常火热,特别是deepseek,想要了解、学习、应用、设计开发大模型,则我们需要先知道大模型邻域都包含哪些方面,以及在大模型领域的各个方面,都有哪些常见的专业术语和关键词。 以下我们从大模型领域的模型架构、训练方法到优化技术、应用和伦理问题等多个方…...

单细胞转录组画小提琴VlnPlot只显示需要类型细胞

探序基因肿瘤研究院 整理 在R语言中&#xff0c;单细胞转录组数据画小提琴图中&#xff0c;我们如果想只展示出需要的特定细胞类型&#xff0c;可以把这需要展示的细胞类型单独构建成一个Seurat对象&#xff0c;再画图。 例如我们在Seurat对象中的meta.data表格中&#xff0c…...

UE 播放视频

一.UI播放视频 1.导入视频文件至工程文件夹 2.文件夹内右健选择Media -> File Meida Source创建testFileMeidaSource文件。 编辑FilePath为当前视频 3.右键->Media->Media Player 创建testMediaPlayer文件 4.右键创建testMediaTexture。编辑MediaPlayer设置testMedia…...

当pcie设备变化时centos是否会修改网络设备的名称(AI回答)

当pcie设备变化时centos是否会修改网络设备的名称 在CentOS&#xff08;以及其他基于Linux的操作系统&#xff09;中&#xff0c;网络接口的命名通常遵循特定的规则&#xff0c;尤其是在使用PCIe设备&#xff08;如网络适配器&#xff09;时。网络接口的命名通常基于设备的物理…...

SpringSecurity基于配置方法控制访问权限:MVC匹配器、Ant匹配器

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。在 Spring Security 中&#xff0c;可以通过配置方法来控制访问权限。认证是实现授权的前提和基础&#xff0c;在执行授权操作前需要明确目标用户&#xff0c;只有明确目标用户才能明确它所具备的角色和权…...

《养生》(二)

一、基础生活调整 1‌.作息规律‌ 固定每天7-8小时睡眠&#xff0c;尽量22:30前入睡&#xff0c;晨起后拉开窗帘晒太阳5分钟&#xff0c;调节生物钟‌ ‌2.饮食优化‌ 三餐定时&#xff0c;每餐细嚼慢咽20次以上&#xff0c;优先吃蔬菜和蛋白质&#xff08;如鸡蛋、豆腐&#x…...

本地部署MindSearch(开源 AI 搜索引擎框架),然后上传到 hugging face的Spaces——L2G6

部署MindSearch到 hugging face Spaces上——L2G6 任务1 在 官方的MindSearch页面 复制Spaces应用到自己的Spaces下&#xff0c;Space 名称中需要包含 MindSearch 关键词&#xff0c;请在必要的步骤以及成功的对话测试结果当中 实现过程如下&#xff1a; 2.1 MindSearch 简…...

STM32 看门狗

目录 背景 独立看门狗&#xff08;IWDG&#xff09; 寄存器访问保护 窗口看门狗&#xff08;WWDG&#xff09; 程序 独立看门狗 设置独立看门狗程序 第一步、使能对独立看门狗寄存器的写操作 第二步、设置预分频和重装载值 第三步、喂狗 第四步、使能独立看门狗 喂狗…...

Ansys Motor-CAD:热分析

您好&#xff0c;汽车迷&#xff1a; 在这篇博客中&#xff0c;我将讨论如何使用 Ansys Motor-CAD 中的热物理模型对 IPM 电机进行热分析。我展示了可以应用的各种冷却系统&#xff0c;并演示了一些计算方法&#xff0c;包括稳态、简单瞬态和占空比。 热物理和设置 选择热物理…...

Swagger 转 Word 技术方案

项目概述 本项目旨在提供一种便捷的工具,将 Swagger API 文档转换为 Word 文档,方便开发人员和团队进行文档管理和分享。通过简单的配置和操作,用户可以快速生成包含 API 接口信息、请求参数、返回参数等内容的 Word 文档。 技术架构 本项目基于 Java 开发,采用 Spring …...

对CSS了解哪些?

CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;是用来描述HTML文档外观和布局的语言。以下是对CSS的常见了解范围&#xff1a; 1. CSS 基础 选择器&#xff1a;如通用选择器 (*)、类型选择器、类选择器 (.class)、ID选择器 (#id)、后代选择器、伪类…...

使用 Docker-compose 部署 MySQL

使用 Docker Compose 部署 MySQL 本文将详细指导如何使用 docker-compose 部署 MySQL&#xff0c;包括基本配置、启动步骤、数据持久化以及一些高级选项。通过容器化部署 MySQL&#xff0c;你可以快速搭建一个隔离的数据库环境&#xff0c;适用于开发、测试或小型生产场景。 关…...

【C语言】指针(5)

前言&#xff1a;上篇文章的末尾我们使用了转移表来解决代码冗余的问题&#xff0c;那我们还有没有什么办法解决代码冗余呢&#xff1f;有的这就是接下来要说的回调函数。 往期文章: 指针1 指针2 指针3 指针4 文章目录 一&#xff0c;回调函数二&#xff0c;qsort实现快速排序1…...

go~为什么会有json.Number这种类型存在

解决 JSON 数值类型的不确定性 在 JSON 格式里&#xff0c;数值类型没有明确区分整数和浮点数&#xff0c;一个数值可能是整数&#xff08;如 123&#xff09;&#xff0c;也可能是浮点数&#xff08;如 123.45&#xff09;。而在 Go 语言中&#xff0c;整数&#xff08;如 in…...

Jmeter连接数据库、逻辑控制器、定时器

Jmeter直连数据库 直接数据库的使用场景 直连数据库的关键配置 添加MYSQL驱动Jar包 方式一&#xff1a;在测试计划面板点击“浏览”按钮&#xff0c;将你的JDBC驱动添加进来 方式二&#xff1a;将MySQL驱动jar包放入到lib/ext目录下&#xff0c;重启JMeter 配置数据库连接信…...

DeepSeek智能测试助手:分类+推理+导出一站式工具

前言 测试开发工程师在日常工作中需要处理大量测试文档&#xff0c;并且这些文档需要被高效分类、清洗和管理&#xff0c;同时结合强大的 AI 推理能力&#xff08;如 DeepSeek 模型&#xff09;进行智能化处理和分析。为此&#xff0c;我们开发了一款基于 PyQt5 的 GUI 工具&a…...

20250220找回Ubuntu22.04中丢失的文件管理器

20250220找回Ubuntu22.04中丢失的文件管理器 2025/2/20 18:05 在Ubuntu20.04.6中 生产服务器上 强制安装deb安装包的时候&#xff0c;把 桌面显示搞丢了。 Ubuntu的桌面用得少&#xff0c;但是没有还是挺不方便的&#xff0c;一通操作&#xff0c;桌面回来了。还是有很多/不少功…...

IMX6ULL的公板的以太网控制器(MAC)与物理层(PHY)芯片(KSZ8081RNB)连接的原理图分析(包含各引脚说明以及工作原理)

目录 什么叫以太网&#xff1f;它与因特网有何区别&#xff1f;公板实现以太网的原理介绍(MII/RMII协议介绍)公板的原理图下载地址公板中IMX6ULL处理器与MAC(以太网控制器)有关的原理图IMX6ULL处理器的MAC引脚说明1. **ENET1_TX_DATA0**2. **ENET1_TX_DATA1**3. **ENET1_TX_EN*…...

一周学会Flask3 Python Web开发-request请求对象与url传参

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili request请求对象封装了从客户端发来的请求报文信息&#xff0c;我们可以从中获取所有数据。 request对象包含的常用属性&…...

2024年国赛高教杯数学建模C题农作物的种植策略解题全过程文档及程序

2024年国赛高教杯数学建模 C题 农作物的种植策略 原题再现 根据乡村的实际情况&#xff0c;充分利用有限的耕地资源&#xff0c;因地制宜&#xff0c;发展有机种植产业&#xff0c;对乡村经济的可持续发展具有重要的现实意义。选择适宜的农作物&#xff0c;优化种植策略&…...

WEB前端将指定DOM生成图片并下载最佳实践(html2canvas)

前言&#xff1a; html2canvas 是一个 JavaScript 库&#xff0c;其主要作用是将 HTML 元素或其部分内容渲染为 Canvas 图像。通过它&#xff0c;开发者可以将网页中的任意 DOM 元素&#xff08;包括文本、图片、样式等&#xff09;转换为图片格式&#xff08;如 PNG 或 JPEG&…...

C# 十六进制字符串转换为十进制

在 C# 中&#xff0c;将十六进制&#xff08;Hexadecimal&#xff09;字符串转换为十进制&#xff08;Decimal&#xff09;整数非常简单。以下是几种常见的方法&#xff1a; 方法 1: 使用 Convert.ToInt32 Convert.ToInt32 方法可以直接将十六进制字符串转换为十进制整数。 示…...

第4章 信息系统架构(三)

4.3 应用架构 应用架构的主要内容是规划出目标应用分层分域架构&#xff0c;根据业务架构规划目标应用域、应用组和目标应用组件&#xff0c;形成目标应用架构逻辑视图和系统视图。从功能视角出发&#xff0c;阐述应用组件各自及应用架构整体上&#xff0c;如何实现组织的高阶…...

Qt 保留小数点 固定长度 QString 格式化

QString的arg()函数格式化输出double类型数值&#xff0c;包括fieldWidth、fmt、prec和fillChar参数的作用。示例代码展示了如何设置精度和填充字符&#xff0c;以及字段宽度的影响。文中提到&#xff0c;当fieldWidth小于实际长度时&#xff0c;前面的填充不会被截断。此外&am…...

亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!

作者&#xff1a;程序员 Hollis 之前介绍过在IDEA中使用DeepSeek的方案&#xff0c;但是很多人表示还是用的不够爽&#xff0c;比如用CodeChat的方案&#xff0c;只支持V3版本&#xff0c;不支持带推理的R1。想要配置R1的话有特别的麻烦。 那么&#xff0c;今天&#xff0c;给…...

AI训练中的常用指令

以下是一些常用于深度学习训练的 Linux 指令&#xff0c;可以帮助你高效管理和执行训练任务&#xff1a; 文件管理 查看当前目录内容&#xff1a;ls进入目录&#xff1a;cd 路径/到/目录创建新目录&#xff1a;mkdir 新目录名称删除文件或目录&#xff1a; 删除文件&#xff…...

汽车同轴供电(PoC)电感器市场报告:未来几年年复合增长率CAGR为14.3%

汽车同轴供电&#xff08;PoC&#xff09;系统旨在通过同轴电缆传输电力和数据。 该技术适用于各种汽车应用&#xff0c;如摄像头系统、传感器和其他需要通过单根电缆传输电力和数据的车载设备。 汽车 PoC 系统中的电感器有多种用途&#xff0c;包括能量存储&#xff1a;电感器…...

C++中间件DDS介绍

C DDS 库简介 DDS&#xff08;Data Distribution Service&#xff09; 是一种用于实时分布式系统通信的中间件标准&#xff0c;由 OMG&#xff08;Object Management Group&#xff09; 提出。它是一种发布/订阅&#xff08;Publish/Subscribe&#xff09;模式的数据通信框架&…...

强化学习笔记

强化学习的总体目标&#xff1a;寻找最优策略。 关键名词 智能体&#xff08;Agent&#xff09; 状态&#xff08;State&#xff09;&#xff1a;智能体相对于环境的状态 s ∈ S s∈S s∈S 状态空间&#xff08;State space&#xff09;&#xff1a;把所有状态放在一起&…...

【个人记录】openEuler安装K3S并配置为GPU节点

前言 国内网络环境特殊&#xff0c;在线安装比较麻烦&#xff0c;K3S采用离线安装方式进行部署。 安装整体思路是&#xff1a; 安装GPU驱动安装CUDA工具安装nvidia容器运行时安装K3S设置K3S使用GPU 基础环境 采用All In One方式&#xff08;其实只有一张GPU卡&#xff09;部…...

SpringAI系列 - ToolCalling篇(二) - 如何设置应用侧工具参数ToolContext(有坑)

目录 一、引言二、集成ToolContext示例步骤1: 在`@Tool`标注的工具方法中集成`ToolConext`参数步骤2:`ChatClient`运行时动态设置`ToolContext`参数三、填坑一、引言 在使用AI大模型的工具调用机制时,工具参数都是由大模型解析用户输入上下文获取的,由大模型提供参数给本地…...

Linux系统中常见的词GNU是什么意思?

GNU 是 “GNU’s Not Unix” 的递归缩写&#xff0c;它是一个自由软件项目&#xff0c;旨在创建一个完全自由的操作系统。这个名字反映了GNU项目的核心理念&#xff1a;它试图创建一个类Unix的系统&#xff0c;但不是Unix本身。 GNU 项目由 理查德斯托曼&#xff08;Richard S…...

Revit API:对元素过滤的三点思考

一、为什么要对元素进行过滤&#xff1f; 提高效率&#xff1a;Revit模型可能包含成千上万的元素&#xff0c;直接对所有元素进行操作会非常耗时。通过过滤&#xff0c;可以只选择需要处理的元素&#xff0c;从而提高代码的执行效率。 精准控制&#xff1a;通过过滤&#xff0…...

计算机毕业设计Python农产品推荐系统 农产品爬虫 农产品可视化 农产品大数据(源码+LW文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

计算机网络之TCP的可靠传输

上一篇内容可能比较多&#xff0c;显得比较杂乱&#xff0c;这一篇简单总结一下TCP是靠什么实现可靠传输的吧。 校验和 TCP是端到端的传输&#xff0c;由发送方计算校验和&#xff0c;接收方进行验证&#xff0c;目的是为了验证TCP首部和数据在发送过程中没有任何改动&#x…...

linux 驱动编程配置(minis3c2440)

1.介绍 1. 启动过程&#xff1a;启动u-boot------>>启动linux内核----->>挂载根文件系统 2. uboot是一个裸机程序&#xff0c;是一个bootloader&#xff0c;用于启动linux系统以及系统初始化 ubootloader主要完成了哪些任务&#xff1a;1. 初始化异常向量表&a…...

数据库基础1

MySQL在C语言中的操作步骤 C语言操作MySQL的基本流程如下&#xff1a; 引入MySQL头文件初始化MySQL连接连接到MySQL服务器执行SQL语句获取查询结果处理查询结果释放结果集和连接 数据库中有哪些约束规则 1.主键约束 promary key 具有唯一且非空 2.外键约束 foreign key 3.非…...

Redis文档总结

文档&#xff1a;https://redis.com.cn/topics/why-use-redis.html 1.我们为什么一定要用 Redis 呢&#xff1f; 速度快&#xff0c;完全基于内存&#xff0c;使用 C 语言实现&#xff0c;网络层使用 epoll 解决高并发问题&#xff0c;单线程模型避免了不必要的上下文切换及竞争…...