八段数码管
基本介绍
数码管实际上是
多个LED按照一定顺序排列,并加上遮罩所构成的元件。
八段一般会引出9个引脚,其中7个引脚显示数字(或某些字母),1个显示小数点,1个作为片选端。
根据连接方式的不同,数码管分为共阳和共阴。
共阳在这端输出低电平时点亮,高电平时会熄灭,共阴则相反。
位置编号
为了便于编程,设计者将数码管的8个LED按照一点规则编号并设置了独特的名称
如下图
按照dp,gfedcba的端口顺序排列可以产生一个8位2进制数(2位16进制数)来表示亮灭信息,
1表示这个端口是高电平,0则表示是低电平。
例如
0x00在共阳接法表示全亮,在共阴接法表示全灭
符号的编码
编码没有明确的标准,能看懂即可。
下文介绍的是作者常用的编码规则。
名称 | dp | g | f | e | d | c | b | a | 共阳数码 | 共阴数码 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 灭 | 灭 | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 0xC0 | 0x3F |
1 | 灭 | 灭 | 灭 | 灭 | 灭 | 亮 | 亮 | 灭 | 0xF9 | 0x06 |
2 | 灭 | 亮 | 灭 | 亮 | 亮 | 灭 | 亮 | 亮 | 0xA4 | 0x5B |
3 | 灭 | 亮 | 灭 | 灭 | 亮 | 亮 | 亮 | 亮 | 0xB0 | 0x4F |
4 | 灭 | 亮 | 亮 | 灭 | 灭 | 亮 | 亮 | 灭 | 0x99 | 0x66 |
5 | 灭 | 亮 | 亮 | 灭 | 亮 | 亮 | 灭 | 亮 | 0x92 | 0x6D |
6 | 灭 | 亮 | 亮 | 亮 | 亮 | 亮 | 灭 | 亮 | 0x82 | 0x7D |
7 | 灭 | 灭 | 灭 | 灭 | 灭 | 亮 | 亮 | 亮 | 0xF8 | 0x07 |
8 | 灭 | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 0x80 | 0x7F |
9 | 灭 | 亮 | 亮 | 灭 | 亮 | 亮 | 亮 | 亮 | 0x90 | 0x6F |
A | 灭 | 亮 | 亮 | 亮 | 灭 | 亮 | 亮 | 亮 | 0x88 | 0x77 |
b | 灭 | 亮 | 亮 | 亮 | 亮 | 亮 | 灭 | 灭 | 0x83 | 0x7C |
C | 灭 | 灭 | 亮 | 亮 | 亮 | 灭 | 灭 | 亮 | 0xC6 | 0x39 |
d | 灭 | 亮 | 灭 | 亮 | 亮 | 亮 | 亮 | 灭 | 0xA1 | 0x5E |
E | 灭 | 亮 | 亮 | 亮 | 亮 | 灭 | 灭 | 亮 | 0x86 | 0x79 |
F | 灭 | 亮 | 亮 | 亮 | 灭 | 灭 | 灭 | 亮 | 0x8E | 0x71 |
Line | 灭 | 亮 | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 0xBF | 0x40 |
Bleak | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 0xFF | 0x00 |
White | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 亮 | 0x00 | 0xFF |
Spot | 亮 | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 灭 | 0x7F | 0x80 |
共阴和共阳互为对方的按位取反。
这是上表所指数码管的示意图
视觉暂留
当加在LED的两端的电压消失时,LED并不会瞬间熄灭,亮度会随时间流逝而缓慢降低,不同的LED的完全熄灭时间不同,从几毫秒到几秒都有。
视觉暂留:人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失
详情见
因此,当多个LED分别点亮LED一个一段时间后熄灭,在人眼看来则是全部点亮。
这是扫描的物理和生物基础
八位八段数码管模块
74HC595
这是个高速串行输入转并行输出的芯片
有14个引脚
引脚号 | 名称 | 功能 |
---|---|---|
8 | GND | 地 |
16 | VDD | 电源 |
10 | SCLR | 低电平复位 |
13 | OE | 输出使能,低电平时才有输出 |
15,1-7 | QA-QH | 并行输出 |
14 | SDI | 串行输入 |
9 | SDO | 串行输出 |
12 | RCLK | 存储寄存器时钟 |
11 | SCLK | 移位寄存器时钟 |
学过数电的应该从原理图里看得出:
SCLR(10),OE(13)为低电平有效。
RCLK(12),SCLK(11)为上升沿有效。
低电平就是接地时有效
上升沿是什么请看
外部中断的上升沿触发部分
这个芯片内部有2个8位寄存器
串行数据输入和输出的叫做移位寄存器
并行数据输出并所存的叫存储寄存器
从SDI(14)输入的串行数据被按输入顺序放入移位寄存器 如果输入数据多余8个,则多余的数据被从SDO(9)输出。
每当SCLK(11)出现一个上升沿时接受一位数据。
当RCLK(12)出现上升沿时,则移位寄存器的数据按照最先输入的到QH,最后输入的到QA的顺序放入数据寄存器并输出。
注意:百度上说这个芯片的移位频率能达到100MHz,但我实测小于1us数据将无法传输
模块外观
原理图
这是模块的卖家给的原理图
芯片部分
2个595芯片级联,U3作为数码管的片选,根据不同数据选择需要接受数据的数码管
U4作为数据发送,写入的数据为上文提到的符号编码。
数码管部分
这是共阳数码管,原理图中 上半部分是引脚是数据输入,下半部分是片选信号
接口和指示灯
由此看见,多个模块也可以进行级联
芯片滤波
如果根据原理图自制时请将这两个电容在PCB设计时分别靠近2个595芯片文章来源:https://www.toymoban.com/news/detail-416083.html
软件部分
基于74HC595的8位8段数码管的硬件部分介绍到此为止
软件部分请见
【STM32标准库】【自制库】8位8段数码管(74HC595)【软件部分】文章来源地址https://www.toymoban.com/news/detail-416083.html
到了这里,关于【基础知识】【模块介绍】8位8段数码管(74HC595)【硬件部分】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!