vitohu 发表于 2022-9-21 13:53

数码管如何控制

怎么用单片机控制图片中的数码管来是0-100?

zyj9490 发表于 2022-9-21 16:19

这是共阳数码管,8163是位选号信号,7542是段选信号。位选信号是1,段选信号是0,相应的段位LED点亮。可用分立器件控制或用LED驱动IC控制。

叶春勇 发表于 2022-9-21 16:29

本帖最后由 叶春勇 于 2022-9-21 21:36 编辑

/*
8,1,6,3片选,7,5,4,2加限流电阻。
如果DIG_TABLE[]是数码管的表,reading[]是数码管的三个数,reading是百位
*/

str_buf=DIG_TABLE]&0x0f; //个位abcd
str_buf=DIG_TABLE]&0x0f; //十位abcd
str_buf=((DIG_TABLE]&0x70)>>4);//个位efg
str_buf=((DIG_TABLE]&0x70)>>4);//十位efg
str_buf=(reading>0)?(str_buf+0x80):0;//百位
str_buf=(reading>0)?(str_buf+0x80):0;//百位

vitohu 发表于 2022-9-24 08:48

zyj9490 发表于 2022-9-21 16:19
这是共阳数码管,8163是位选号信号,7542是段选信号。位选信号是1,段选信号是0,相应的段位LED点亮。可用 ...

直接用单片机的IO口可以来驱动吗?二极管的两端直接接MCU的IO口

shalixi 发表于 2022-9-24 16:56

vitohu 发表于 2022-9-24 08:48
直接用单片机的IO口可以来驱动吗?二极管的两端直接接MCU的IO口

数码管就是发光二极管,不用驱动电路,由MCU口直接驱动当然可以,不过很多因素要考虑进去,需要的软硬件知识更多。

zyj9490 发表于 2022-9-24 17:28

vitohu 发表于 2022-9-24 08:48
直接用单片机的IO口可以来驱动吗?二极管的两端直接接MCU的IO口

怕单电流输出能力不够或总电流芯片不够或功耗不行。可以查单个端口高低平的输出电流及总芯片电流的能力及总功耗,DATASHEET 会标明的。最好每个端口要驱动下。

shalixi 发表于 2022-9-24 18:05

zyj9490 发表于 2022-9-24 17:28
怕单电流输出能力不够或总电流芯片不够或功耗不行。可以查单个端口高低平的输出电流及总芯片电流的能力及 ...

主要考虑的是亮度和功耗之间兼顾,要由软件实施,如果管子不多,能兼顾。

Jack315 发表于 2022-9-24 20:43

这是一个 4X4 的 LED 矩阵,考虑分时扫描的方式显示,即每个时刻对应于一个 LED 的亮或灭。
与直流驱动相比,亮度只有 1/16 。

假设 LED 为红色,在直流的情况下,驱动电流一般取为 5 mA ~ 10 mA 。
在分时扫描的情况下,驱动电流要提高 16 倍,即 80 mA ~ 160 mA 。

一般单片机的最大驱动电流为 20 mA,
因此单片机的(8 个)输入输出口都需要相应的扩流电路。
如果单片机驱动电流能满足要求(80 mA ~ 160 mA),则不需要扩流电路。
无论哪种情况,LED 的限流电阻都是必须有的。

页: [1]
查看完整版本: 数码管如何控制