单片机入门:LED数码管

LED数码管

LED数码管:由多个发光二极管封装在一起组成的“8”字型的器件。如下图所示:

739dd32fc31746c2a0267120f9ed46b8.jpg


数码管引脚定义

一位数码管

内部由八个LED组成。器件有十个引脚。

20076c060ea94cdc9751b8c7c938f05b.png7fee9c0ac4724733b75e54a76a2385fe.png

对于数码管内的8个LED有共阴和共阳两种连接方法。

共阴:将8个LED的阴极都连接到一个端口上

98ae8ca1e46a48a3a70196a5dab13b65.png

通常将公共端3,8接地,则LED的阴极均为低电平。然后用单片机I/O口控制LED的阳极电平,则可控制不同LED的灭和亮。

0eeba887e6f24267a56bd1a7a67510cb.png

共阳:将8个LED的阳极都连接到一个端口上

081aa9dc80324fd8b4ecb0eeb14f1c62.png

通常将公共端3,8接高电平,则LED的阳极极均为低电平。然后用单片机I/O口控制LED的阴极电平,则可控制不同LED的灭和亮。同样以数字“6”为例,段码如下:

a342df84a9a843aa8c195dc095c42151.png8cb4db06a416420a9c20881f44bfd5de.png


四位一体数码管

4c9796531fcd496b9d19fe9c4f106d30.jpg

 有12个引脚,设有4个公共端。与一位数码管一样具有共阴和共阳两种接法。具体如下:

db94105ec3be414583b64abdabbeb977.png

 可以发现,对于这四组LED,相同段LED都是连接在一起(例如引脚11连接了4个A段)。这样做的好处是节省了单片机的引脚。

若想显示一位数字“1”,以共阴极为例:

eaf9aa424e8747bd9e231ab35e7d6c74.png

 高低电平分布如上,其中引脚12、9、6这三个阴极均置为高电平,这样第1、2、4个数码管都不会亮;段码如上设置,则在数码管的第三位数码上显示一个数字1。

多个数字的显示

由电路结构可知,四位一体数码管只能显示一个数字(即便点亮多个数码管也只能显示相同的数字)。如何显示出不同的数字呢?

这里需要卡人体Bug了,即:利用人眼的视觉暂留和数码管显示的余晖原理。例如我们要想数码管显示数字“123”,则我们可以让第一个数码管先显示“1”,然后将其迅速熄灭后又快速得使第二个数码管显示“2”,同样将其迅速熄灭后又快速得使第三个数码管显示“3”,最后将其迅速熄灭,使第一个数码管再显示“1”,如此循环,看上去就像同时显示多位不同数字一样。


数码管原理图

主要模块如下:

646aa49df7e94db3b0eec62836ecd916.png

3f677a4d3dc6471080172f28cbd24ee1.png


 138译码器

从原理图我们可以看出数码管的8个公共端引脚接在了138译码器的Y0到Y7的8个引脚上。而译码器左边的三个输入口P22、P23、P24控制Y0到Y7这8个输出口LED的高低电平。故138译码器的含义为8个端口可由3个端口控制

使能端:138译码器左下角三个端口,相当于一种电源开关。当G1接上高电平、G2A,G2B接上低电平时,译码器才能工作。如下图所示,G1接上VCC、G2A,G2B接地,此时138译码器已经可以工作了。


 ABC输入端

相当于将这三个端口所输入的高低电平作为输入数据(1或0),其中C是高位,B是中位,A是低位。将三个输入值转换为十进制,对应其输出。

例如输入A为0,B为0,C为0,则输入为000,其对应的十进制值是0,即Y0有效,其他无效(因为Y上有一杠,代表低电平为有效,高电平位无效),所以Y0是0,Y1-Y7为1。

输入输出的真值表如下所示:

CBAY
0000
0011
0102
0113
1004
1015
1106
111

7


74HC245双向数据缓冲器

添加缓冲器的目的增加高电平的驱动能力

其中DIR的高低电平决定了数据的流向。在74HC245中,如果将DIR(LE引脚)设置为高电平,则表示数据流向为从左边到右边,反之数据则从右边流向左边。其中A0对应B0,A1对应B1,以此类推;DIR的高低电平设置可通过跳线帽来实现。

具体学习可参照:

http://【51单片机入门教程-2020版 程序全程纯手打 从零开始入门】https://www.bilibili.com/video/BV1Mb411e7re?p=11&vd_source=f50e27995502cadfb280a3153eb9eae3

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

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

相关文章

Java项目:41 springboot大学生入学审核系统的设计与实现010

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本大学生入学审核系统管理员和学生。 管理员功能有个人中心,学生管理,学籍信息管理,入学办理管理等。 学…

wpf prism左侧抽屉式菜单

1.首先引入包MaterialDesignColors和MaterialDesignThemes 2.主页面布局 左侧菜单显示在窗体外&#xff0c;点击左上角菜单图标通过简单的动画呈现出来 3.左侧窗体外菜单 <Grid x:Name"GridMenu" Width"150" HorizontalAlignment"Left" Ma…

鸿蒙原生应用元服务开发-WebGL网页图形库开发概述

WebGL的全称为Web Graphic Library(网页图形库)&#xff0c;主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES&#xff0c;可以在HTML5的canvas元素对象中使用&#xff0c;无需使用插件&#xff0c;支持跨平台。WebGL程序是由JavaScr…

OpenBayes 一周速览|在 OpenBayes 上一键运行通义千问大模型、PAWS-X 跨语言对抗数据集上线

公共资源速递 This Weekly Snapshots &#xff01; 3 个数据集&#xff1a; * PKU 简体中文分词数据集 * 1,823 张花卉图像数据集 * PAWS-X &#xff1a;用于释义识别的跨语言对抗数据集 1 个模型&#xff1a; * Yi-34B-Chat-4bits 2 个教程&#xff1a; * 通义千问 1…

解读:DUSt3R: Geometric 3D Vision Made Easy

概述&#xff1a;给定一个无约束图像集&#xff0c;即一组具有未知相机姿态和内在特征的照片&#xff0c;我们提出的 DUSt3R 方法会输出一组相应的点阵图&#xff0c;从中我们可以直接恢复通常难以一次性估算的各种几何量&#xff0c;如相机参数、像素对应关系、深度图和完全一…

【PCIe】 PCIe 拓扑结构与分层结构

&#x1f525;博客主页&#xff1a;PannLZ 文章目录 PCIe拓扑结构PCIe分层结构 PCIe拓扑结构 计算机网络中的拓扑结构源于拓扑学(研究与大小、形状无关的点、线关系的方法)。 把网络中的计算机和通信设备抽象为一个点&#xff0c;把传输介质抽象为一条线&#xff0c;由点和线组…

【物联网】stm32芯片结构组成,固件库、启动过程、时钟系统、GPIO、NVIC、DMA、UART以及看门狗电路的全面详解

一、stm32的介绍 1、概述 stm32: ST&#xff1a;指意法半导体 M&#xff1a;指定微处理器 32&#xff1a;表示计算机处理器位数 与ARM关系:采用ARM推出cortex-A&#xff0c;R,M三系中的M系列&#xff0c;其架构主要基于ARMv7-M实现 ARM分成三个系列&#xff1a; Cortex-A&…

【排序算法】推排序算法解析:从原理到实现

目录 1. 引言 2. 推排序算法原理 3. 推排序的时间复杂度分析 4. 推排序的应用场景 5. 推排序的优缺点分析 5.1 优点&#xff1a; 5.2 缺点&#xff1a; 6. Java、JavaScript 和 Python 实现推排序算法 6.1 Java 实现&#xff1a; 6.2 JavaScript 实现&#xff1a; 6.…

Unity3D AStar地图编辑与寻路测试详解

前言 A算法是一种常用的寻路算法&#xff0c;能够帮助游戏对象在地图中找到最短路径。本文将详细介绍如何在Unity3D中使用A算法进行地图编辑和寻路测试。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#xff01; 一…

第四节 LLAVA模型推理命令(包含lora训练权重推理方法)

文章目录 前言一、模型推理公用命令二、模型自带推理命令1、整个文件命令2、模型自带fitune推理3、clip推理三、个人lora训练推理命令1、使用命令推理2、vscode推理前言 LLAVA模型训练方式有预训练、微调训练,而预训练需要大量算力与数据支持,我们将不在重点考虑。对于微调,…

K8S之实现业务的金丝雀发布

如何实现金丝雀发布 金丝雀发布简介优缺点在k8s中实现金丝雀发布 金丝雀发布简介 金丝雀发布的由来&#xff1a;17 世纪&#xff0c;英国矿井工人发现&#xff0c;金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯&#xff0c;金丝雀也会停止歌唱&#xff1b;当瓦斯…

【JS逆向学习】猿人学 第五题 js混淆 乱码

逆向目标 网址&#xff1a;https://match.yuanrenxue.cn/match/5接口&#xff1a;https://match.yuanrenxue.cn/api/match/5?page2&m1709806560791&f1709806560000参数&#xff1a; Cookie(m、RM4hZBv0dDon443M)payload(m、f) 逆向过程 老规矩&#xff0c;上来先分…

电商api数据接口开发采集淘宝实时详情页,销量,库存,sku,图片,链接等参数接入key获取方式

淘宝实时详情页的API数据接口开发涉及到多个参数的采集&#xff0c;包括销量、库存、SKU、图片、链接等。要实现这一功能并获取接入Key&#xff0c;您需要按照以下步骤操作&#xff1a; 注册开放平台账号&#xff1a;您需要在淘宝开放平台注册一个账号。创建应用&#xff1a;在…

错误笔记:不支援 10 验证类型、org.postgresql.util.PSQLException

1、不支援 10 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网路区段&#xff0c;以及驱动程序所支援的验证架构模式已被支援。 解决方法&#xff1a; 找到C:\Program Files\PostgreSQL\13\data目录下的pg_hba.conf将下列注释掉 # TYPE DATABASE …

第24集《灵峰宗论导读》

请大家打开讲义第79面。 在第一段呢蕅益大师先讲到这个诸法实相的妙理&#xff0c;说从我们现前一念心性来观察诸法实相有两个角度&#xff1a; 第一个角度呢就是当我们摄用归体的时候&#xff0c;所谓万法唯识一心的时候&#xff0c;这个时候我们会发觉三世诸佛&#xff0c;…

vue实现文字手工动态打出效果

vue实现文字手工动态打出效果 问题背景 本文实现vue中&#xff0c;动态生成文字手动打出效果。 问题分析 话不多说&#xff0c;直接上代码&#xff1a; <template><main><button click"makeText"><p class"text">点击生成内容…

Cisco IOS 使用 IP SLA 状态作为静态路由的开关

Cisco IOS 和 IOS XE 作为最普及的路由器和交换机操作系统&#xff0c;内建强大的状态跟踪联动能力。 我们配置网络设备时&#xff0c;希望设备能主动发现网络故障&#xff0c;及时作出相应调整&#xff0c;并将故障状态传递给网络的其他部分&#xff0c;减少故障恢复时的人工…

【Java】ruoyi框架,添加ShardingJdbc支持分库分表

1、 调研&#xff0c;目前主流的有Mycat、Sharding Jdbc &#xff0c;准备选用后者&#xff1b; 分库分表&#xff0c;一种是按照时间范围进行&#xff0c;另外一种按照某个字段为分片键&#xff1b; 我这里&#xff0c;选用表数据中的DeptId字段作为分片键&#xff0c;这样能…

启动vue项目执行npm run serve报错 : error in ./src/element-variables.scss

error in ./src/element-variables.scss 问题原因 node-sass的版本问题 解决方式 我直接更新了一下node-sass&#xff0c;就好了 npm install node-sass 再次执行就可以执行成功了

如何设置WhatsApp Business账号?

WhatsApp Business是WhatsApp为企业打造的一款应用程序&#xff0c;旨在帮助企业与客户更轻松地互动。如果您是一家出海企业&#xff0c;想要更好地与客户沟通&#xff0c;那么WhatsApp Business账号是您不可或缺的工具。 以下是设置WhatsApp Business账号的步骤&#xff1a; …