51单片机——数码管控制

news2024/11/13 9:13:45

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.coloradmin.cn/o/2073394.html

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

相关文章

8月24日笔记

ew的使用 EW(EarthWorm)是一套基于C语言开发的轻量级且功能强大的网络穿透工具,它支持Socks5代理、端口转发及端口映射等功能,能够在复杂的网络环境中实现高效稳定的网络穿透。这款全平台适用的工具(包括Windows、Lin…

proc文件的写操作机制

“一切皆是文件”。 Linux的基本哲学之一。它是指linux系统中的所有一切都可以通过文件的方式访问、管理,即便不是文件,也以文件的形式来管理。例如硬件设备、进程、套接字等都抽象成文件,使用统一的用户接口,虽然文件类型各不相同…

ComfyUI IPAdapter plus的模型应该怎么装-免费版-2024.8.25

🎆背景 ipadapter相关的节点大家应该都不陌生,具体是做什么的就不详细介绍了,但是还是有很多新入门的朋友不太了解这个节点相关的这一堆模型到底应该怎么安装。这里就借着官方节点的介绍来大概讲下这个话题。 涉及到的节点源地址&#xff1…

大数据技术之Zookeeper安装 (2)

目录 下载地址 本地模式安装 1)安装前准备 2)配置修改 3)操作 Zookeeper 配置参数解读 Zookeeper 集群操作 集群规划 解压安装 配置服务器编号 配置 zoo.cfg 文件 集群操作 Zookeeper 集群启动停止脚本 创建脚本 增加脚本执行权限 …

宠物毛发会携带病菌源吗?宠物店空气净化器使体验分享

近期,我接诊了一位肺结节患者,他的第一反应便是联想到家中的猫咪。这种担忧并非毫无根据,过敏体质的人群,无论是对毛发还是排泄物敏感,养宠物都会增加患结节的风险。即便不存在过敏问题,宠物毛发作为病菌的…

Transforms的学习以及地址问题

一、地址问题 在学习Dataset类的实战与Tensboard的学习中,有出现一些地址的问题: 1、相对地址 相对地址的使用: 使用于在从端口中,打开TensorBoard的页面。使用的就是相对地址;例如: tensorboard --log…

MySQL创建与删除表

一、创建表 1.1 使用DDL语句创建表 CREATE TABLE 表名(列名 类型,列名 类型......); character set:如不指定则为所在数据库字符集collate:如不指定则为所在数据库校对规则 查看表 show tables; 1.2 使用Navicat创建表 二、删除表 2.1 使用DDL语句删除…

chapter08-面向对象编程(继承)day08

目录 287-继承原理图 288-继承快速入门 289-继承使用细节1 290-继承使用细节2 291-继承使用细节3 292-继承使用细节4 293-继承使用细节5 294-继承本质详解(重要) 287-继承原理图 288-继承快速入门 289-继承使用细节1 子类继承了所有的属性和方法…

特拉维斯凯尔西花了5位数给女友泰勒斯威夫特买了一份令人惊讶的贺礼

说实话,我们已经记不清特拉维斯凯尔西今年为泰勒斯威夫特花了多少钱了。据报道,他花了近 10 万美元购买意大利服装和甜食,现在,据报道,他为斯威夫特购买鲜花花费了五位数。 消息人士告诉媒体,凯尔西从 Mil…

超分之最近邻插值、线性插值、双线性插值、双三次插值原理

文章目录 插值与图像插值不同的插值方法最近邻域插值(Nearest Neighbor Interpolation) 线性插值 (Linear Interpolation)双线性插值 (Bilinear Interpolation) 双三次插值 (Bicubic Interpolation) 插值与图像插值 插值:利用已知数据去预测…

Redis面试都卷到C语言去了。。。

Redis 面试都卷到 C 去了。有个小伙伴在前两天找松哥模面的时候如是说到。 是啊,没办法,自从 Java 八股文这个概念被提出来并且逐步在 Java 程序员中强化之后,现在各种各样的八股文手册,有免费的有付费的,琳琅满目。 …

实验11 编写子程序《汇编语言》- 王爽

1. 需求 编写一个子程序,将包含任意字符,以 0 结尾的字符串中的小写字母转变成大写字母,描述如下。 名称:letterc 功能:将以 0 结尾的字符串中的小写字母转变成大写字母 参数:ds:di 指向字符串首地址 …

快速排序模版

1.霍尔法 #include <iostream> using namespace std; int partition(int *arr,int left,int right){int pivotIndexleft;while(left<right){while(left<right && arr[right]>arr[pivotIndex]){right--;}while(left<right && arr[left]<a…

新160个crackme - 040-DaNiEl-RJ.1

运行分析 需要破解Name和Serial PE分析 Delphi程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 ida搜索字符串&#xff0c;找到关键字符串进入 对关键函数进行动调分析&#xff0c;注释和变量重命名如上还需要破解sub_4036E8 通过对比sub_4036E8函数的返回值和Nam…

python面向对象—封装、继承、多态

封装 当定义为私有成员变量时&#xff0c;引用或者打印都不可行。 私有成员对于类对象没有办法直接使用&#xff0c;但是我们类中其他成员却是可以访问这些私有成员的。 封装总结&#xff1a; 私有成员的定义我们已经了但是有什么实际的意义吗&#xff1f; 继承 继承表示&…

系规学习第19天

1.知识管理流程的目标是将运维生产过程中产生的各类信息所包含的知识最大限度地提取、保留&#xff0c;通过评审后加以应用&#xff0c;包括&#xff1a;实现知识共享&#xff0c;实现知识转化&#xff0c;避免知识流失&#xff0c;提高运维响应速度和质量&#xff0c;挖掘、分…

scrapy--图片管道-ImagesPipeline

免责声明:本文仅做演示与分享~ 目录 介绍 ImagesPipeline pipelines.py items.py zz.py settings.py 介绍 scrapy 还提供了处理图片、视频、音频等媒体文件的插件&#xff0c;如&#xff1a; - scrapy-images&#xff1a;用于下载和处理图片 - scrapy-video&#xff1…

<C++> 二叉树进阶OJ题

目录 1. 二叉树创建字符串 2. 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 3. 二叉树搜索树转换成排序双向链表 4. 根据一棵树的前序遍历与中序遍历构造二叉树 5. 根据一棵树的中序遍历与后序遍历构造二叉树 6. 二叉树的前序遍历&#xff0c;非递归迭代实现 7. 二…

13.全志H3-底板测试和测试记录

上面是我的微信和QQ群&#xff0c;欢迎新朋友的加入。 前段时间&#xff0c;做了一个H3的双DDR方案&#xff0c;记录一下测试过程。 1.硬件速率检测 1.取掉SD卡&#xff0c;不接调试串口&#xff0c;按住复位按键&#xff0c;上电 设备管理器会弹出USB设备&#xff0c;打开硬…

Python|日志记录详解(1)

引言 作为一名Python程序员&#xff0c;记录程序运行时的关键信息是一种有益的做法&#xff0c;这有助于深入理解你的代码。这种记录行为被称作日志记录&#xff0c;它是一个非常实用的工具&#xff0c;是编程工具箱中不可或缺的一部分。日志记录能够帮助你捕捉到在开发过程中可…