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

  • 58
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值