一. LED数码管
1. 什么是数据管
数码管就是一种常见用于显示的器件,比如电子时钟中的显示时间的就是数码管,工业控制设备上数据显示,参数的显示等,在消费类电子上也有广泛的应用。其实数码管的本质就是发光二极管的组合使用,最常见的就是七段数码管和八段数码管了,七段数码管就是由7个长条形的发光二极管组成,八段数码管就比七段数码管多了右下角的一个点的显示。
![](https://i-blog.csdnimg.cn/blog_migrate/70912c8fb2db485d732b417ba057b62b.png)
图一
(1) 共阴:将所有发光二极管的负极连接在一起(图一(中))接在低电位引脚,这个引脚就是(图一(左))公共端
(2) 共阳:将所有发光二极管的正极连接在一起(图一(右))接在低电位引脚,这个引脚就是(图一(左))公共端
(3) 控制发光二极管的点亮,那么只需要把公共端共阴接负极,共阳接负极,想要显示什么数字只要给a-h端对应的电平
2.数码管常见分类 (可以不看)
(1)极性分类 : 共阴数码管,共阳数码管
(2)尺寸分类 : 1.2寸 0.8寸 0.56寸 0.4寸 0.36寸 0.28寸
(3)位数分类 : 1b 2b 3b 4b 5b 6b
(4)颜色分类 : 红光 绿光 蓝光 白光
![](https://i-blog.csdnimg.cn/blog_migrate/57b03cfe19500f87dc50dfd215b1c9b7.png)
3.数码管驱动电路分析 (看看就好)
74HC573锁存器驱动数码管:
通过2片74H573锁存器芯片分别控制八位数码管的位选 和 段选来实现数码管的控制
![](https://i-blog.csdnimg.cn/blog_migrate/91ac40e24a435f0bc9734d58d1486f5b.png)
左下角阴: 段选 对应字母连接 (选数字)
右下角阳: WEI 对应 (第几个)
点亮过程:假设共阳,那么公共端就要全给高电平 0xff 那么P0 = 0xff 只要把 p2.6 = 1,这时0xff就会写到Q0-Q7,这时p2.6=0,那么刚才0xff的数据就会锁存到Q0-Q7,之后 P0的数据不管你怎么改变,输出永远保存刚才的数据。
4.编码计算
(1) 书上有 dp也是上面的h
(2) 共阴自己推
![](https://i-blog.csdnimg.cn/blog_migrate/0feb03a091bdbf79f7ae22a9c0e3d54f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2f13f2a6fc46c7537e01a4e587bb9a7a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/59bae39a60922833e26683bdaa85f2f8.png)
5. stm32的数码管
![](https://i-blog.csdnimg.cn/blog_migrate/96109e1e96d1c79cad9e95980ddee55a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ee943fbae91a45ba059602ef2aaf4a41.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3599783148772209f7d84cae259e2990.png)
![](https://i-blog.csdnimg.cn/blog_migrate/063ddc630bfac50efe4af6675aa8c428.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a2f67802bb074f471813efc6bb3e41b7.png)
6.stm32编程概述
(1) 初始化 段选 位选 是图上的一大堆GPIO端口
上图中: A 是位选(选哪个数码管) B是段选(选哪个数字)
GPIO_Pin = GPIO_Pin_ All ; 就行了 不要一个一个写 乐意写也行
GPIO_Mode = GPIO_Mode_Out_PP ; 这是 输出
GPIO_Speed = GPIO_Speed_2MHz ; 随意
(2) 然后就是各种赋值啦 对于 段选 一位一位的赋值也有点不太好 直接赋值一字节也okk呀