单片机入门: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…

解读: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.…

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;上来先分…

第24集《灵峰宗论导读》

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

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

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

启动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; …

AIGC绘画关键词 - 写实少女

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

MongoDB黑窗口操作(CRUD)

目录 连接数据库 插入数据 for循环插入数据 根据条件查询 修改数据 删除数据 连接数据库 对应路径下cmd中输入命令mongo即可 插入数据 j{name:"mongo"} t{x:3} 提交&#xff1a;db.things.svae(j);db.things.svae(t); 查询&#xff1a;db.things.find(); …

Java面试挂在线程创建后续,不要再被八股文误导了!创建线程的方式只有1种

线程创建之源 OK&#xff01;咱们闲话少叙&#xff0c;直接进入正题&#xff0c;回顾一下通过实现Runnable接口&#xff0c;重写run方法创建线程的方式&#xff0c;真的可以创建一个线程吗&#xff1f;来看下面这段demo。 【代码示例1】 public class Test implements Runnab…

信号处理--使用CNN+LSTM实现单通道脑电信号EEG的睡眠分期评估

目录 背景 亮点 环境配置 数据 方法 结果 代码获取 参考文献 背景 睡眠对人体健康很重要。监测人体的睡眠分期对于人体健康和医疗具有重要意义。 亮点 架构在第一层使用两个具有不同滤波器大小的 CNN 和双向 LSTM。 CNN 可以被训练来学习滤波器&#xff0c;以从原始…

redis缓存(穿透, 雪崩, 击穿, 数据不一致, 数据并发竞争 ), 分布式锁(watch乐观锁, setnx, redission)

redis的watch缓存机制 WATCH 机制原理&#xff1a; WATCH 机制&#xff1a;使用 WATCH 监视一个或多个 key , 跟踪 key 的 value 修改情况&#xff0c;如果有key 的 value 值在事务 EXEC 执行之前被修改了&#xff0c;整个事务被取消。EXEC 返回提示信息&#xff0c;表示 事务已…

Linux安装,配置,启动HBase

Linux安装&#xff0c;配置&#xff0c;启动HBase 一、HBase安装&#xff0c;配置 1、下载HBase安装包 Hbase官方下载地址: http://archive.apache.org/dist/hbase 选择相应的版本点击下载&#xff0c;这里以2.3.5为例 # linux可以通过wget命令下载 wget https://archive…

Windows11安装FFmpeg最新版本

打开终端: 输入 winget install ffmpeg 然后输入 Y 回车后出现如下图: 正在下载FFmpeg 6.1 安装成功 测试