51单片机——数码管控制

devtools/2024/10/21 6:28:08/

1、数码管介绍

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

 

2、数码管驱动方式

单片机直接扫描:硬件设备简单,但会耗费大量的单片机CPU时间

专用驱动芯片:内部自带显存、扫描电路,单片机只需告诉它显示什么即可

3、单个数码管引脚定义

每个数码管有10根引脚,每个数码管被分为A-G,共7段,和一个DP。剩余两个引脚作为公用的正极或负极接口。

共负极

共正极

4、多个数码管引脚定义

所下图所示,上面的图是共负极,下面的图是共正极。

例如共负极的图想要显示1,把12、9、8引脚赋值为1,把6引脚赋值为0,此时就可以实现最后一个数码管点亮效果,其他数码管保持熄灭。想要DIG4显示为1,代表BC段点亮,此时7、4需要输出高电平,其他段码为低电平。

5、数码管原理图

该数码管中的74HC245主要起到缓冲信号的作用,使信号准确传输

共负极端外接138译码器

该138译码器的主要功能是把LED的8个引脚用三个引脚代替。

Y0、Y1头上挂着上划线表示输出负极为有效

6、静态数码管显示

使LED6显示数字6

1.使LED6引脚输出为低电平,参照318译码器,LED6接在Y5引脚上,P2的三个引脚需要输出101才能使Y5有效,此时只有LED6会亮

2.显示数字6,分析6的组成,需要acdefg段码,这些段码经过缓冲器74hc245对应到P0寄存器,P0寄存器的0-7对应缓冲器的B0-B7,也就是说除了P01为0,P07(dp)为0,其他全部为1。二进制表示为0111 1101,对应16进制为0x7D

 封装成函数的静态数码管显示

 

7、动态数码管显示

数组

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

int x[3];            //定义一组变量(3个)

int x[]={1,2,3};    //定义一组变量并初始化

x[0]         //引用数组的第0个变量

x[1]         //引用数组的第1个变量

x[2]            //引用数组的第2个变量 引用

x[3]时,数组越界,读出的数值不确定,应避免这种操作

子函数

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

void Function(unsigned char x, y)

{   

  }

返回值 函数名(形参)

{   

 函数体

}

数码管段码表


http://www.ppmy.cn/devtools/103939.html

相关文章

《python语言程序设计》第8章第11题将反向字符串 编写一个函数反向一个字符串,reverse(s)

def reverse(text_arrange):len_text len(text_arrange)dec_text ""for i in range(1, len_text 1):# print(i)dec_text text_arrange[-i]print(f"反向输出{dec_text}")reverse("12345678") reverse("abcdefg")

【ElasticSearch】logstash-conf文件mysql多数据源配置

logstash-conf文件mysql多数据源导入es配置说明 # input plugin 输入插件,接收事件源 input {jdbc {# 定义类型_1 type > "type_1"# mysql的ip、端口以及用到的数据库名jdbc_connection_string > "jdbc:mysql://localhost:3306/数据库名"…

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

1、Chaos Mesh 介绍 Chaos Mesh是一个开源的混沌工程平台,旨在帮助用户在生产环境中测试、验证和优化其应用程序的可靠性和稳定性。通过引入故障注入和混沌工程原则,Chaos Mesh可以模拟各种故障场景,如网络延迟、节点故障、磁盘故障等&#…

【深度学习】学习笔记——批量和动量(Datawhale X 李宏毅苹果树AI夏令营)

批量 实际计算梯度时,并不是对所有数据的损失 L L L计算梯度,而是把所有数据分成一个一个的批量(batch)。遍历所有批量的过程称为一个回合(epoch),数据分为批量时,还会进行随机打乱…

window下kafka3启动多个

准备工作 我们先安装好kafka,并保证启动成功,可参考文章Windows下安装Kafka3-CSDN博客 复制kafka安装文件 kafka3已经内置了zookeeper,所以直接复制就行了 修改zookeeper配置文件 这里我们修改zookeeper配置文件,主要是快照地址…

【Elasticsearch】file-beat 将文件数据导入es

1、备份 filebeat.yml 文件: 2、新 filebeat.yml 文件配置示例: ###################### Filebeat Configuration Example ########################## Filebeat inputs filebeat.inputs: - type: logenabled: true # 注意:# 文件最后必须…

Ant Design vue 多层for循环form表单自定义校验

数据结构如下&#xff1a;三维数组。 注意&#xff1a;<a-form-model>一定得写在for外面&#xff01;&#xff01;&#xff01;&#xff01; <!-- 弹出框 --> <a-modal:title"title":dialog-style"{ top: 20px }":visible"visible&quo…

系统开发压力测试高并发

目的&#xff1a; 压力测试软景见环境下的系统多能承受的最大负荷以及高访问量出现的并发带来的问题。压力测试能够帮助系统在线上稳定持续的运行&#xff0c;在一定范围内可以做到心中有数。 我们希望压力测试能够发现更多的错误。其中两种&#xff1a;并发同步问题、内存泄漏…