找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单排5脚188数码管的驱动方法探讨

查看数: 3096 | 评论数: 14 | 收藏 12
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-3-30 21:56

正文摘要:

极简的单排5脚188数码管的驱动方法试探 在一些低档消费电子产品中常见一种单排5脚188和单排6脚1888数码管。由于这种数码管内部结构异于常见的数码管。商家提供的内部LED与引脚关系图看上去也感觉杂乱无章。仔细研究 ...

回复

ID:17340 发表于 2026-10-12 14:27
查理复用,很多上面都在用,主要显示电量,电流,电压
ID:1133081 发表于 2026-9-21 21:03
digger63 发表于 2026-7-16 21:50
都算查理复用,其实可以将相关IO设置为开漏并置1,等效高阻状态,再根据需要将com口置0,相应段驱动口开上 ...

digger63 推荐的【将相关IO设置为开漏并置1,等效高阻状态,再根据需要将com口置0,相应段驱动口开上拉,达到同样目的】方法很好。相关代码修改如下:
  1. //主函数
  2. void main()
  3. {//端口模式初始化       
  4.         P1M0 = 0x1f;P1M1 = 0x1f; //P1.0~1.4开漏,其余准双向
  5.         P3M0 = 0x00;P3M1 = 0x00; //准双向
  6.         P5M0 = 0x00;P5M1 = 0x00; //准双向
  7.         P_SW2 |= 0x80;           //打开扩展存储器
复制代码
  1. //数码管显示函数
  2. void display()
  3. {
  4.         static uchar i=0;       
  5.         switch(i)
  6.         {/*************************5位***********4位**********3位**********2位**********1位***********/
  7.                 case 0: dis_buf[0]=(w3>>2&0x10)|(w3>>2&0x08)|(w3>>1&0x04)|(w3<<0&0x02)|(0 /*COM1*/); break;
  8.                 case 1: dis_buf[1]=(w2>>0&0x10)|(w2<<0&0x08)|(w2<<1&0x04)|(0 /*COM2*/)|(w3>>0&0x01); break;
  9.                 case 2: dis_buf[2]=(w2>>1&0x10)|(w2<<1&0x08)|(0 /*COM3*/)|(w2<<1&0x02)|(w3>>2&0x01); break;
  10.                 case 3: dis_buf[3]=(w2>>2&0x10)|(0 /*COM4*/)|(w1<<1&0x04)|(w1>>1&0x02)|(w3>>4&0x01); break;
  11.         }
  12.         P1|=0x1f;               //P1.0~1.4高电平(开漏无输出)
  13.         P1PU=dis_buf[i];        //按位使能上拉电阻提供高电平驱动电流
  14.         P1&=~(0x01<<i);         //按COM位提供低电平共地驱动电流回路,其它位保持开漏高电平
  15.         i=++i%4;                //循环计数
  16. }
复制代码



ID:78714 发表于 2026-7-16 21:50
都算查理复用,其实可以将相关IO设置为开漏并置1,等效高阻状态,再根据需要将com口置0,相应段驱动口开上拉,达到同样目的,好处是不用频繁切换端口的工作模式。
另外我也搞了逐段驱动的方法,可以启用STC单片机的强推模式,比用内部4k上拉电阻的亮度可以大大提高,感兴趣可以移步:开天斧板子直驱7脚4位数码管
ID:1146155 发表于 2026-6-15 21:19
遵守n*(n-1)
ID:1095428 发表于 2026-6-15 20:26
是查理复用吗?
ID:1133081 发表于 2026-6-12 07:36
chxelc 发表于 2026-6-9 08:43
我用这个程序,MCU是STC8G2K64S4,残影很明显,是硬件的问题吗?

可能是你的硬件电路与上述示例不同,如果所用IO确实不同,对应的IO模式设置要随之更改。
ID:712097 发表于 2026-6-9 08:43
我用这个程序,MCU是STC8G2K64S4,残影很明显,是硬件的问题吗?
ID:69038 发表于 2026-4-4 10:07
个人更习惯单次驱动一个LED,不需要有强推模式,软件通用性更强,亮度更均匀,也更省电。只要保证全屏扫描时间不低于20ms,或视觉上不闪就行了。
ID:72088 发表于 2026-4-2 20:27
我觉得加限流电阻才长寿,网上购买的数字电压表没限流电阻寿命很短,几个月个别段位就不亮了
ID:1138544 发表于 2026-4-1 15:32
WL0123 发表于 2026-4-1 07:00
如果内部上拉电阻30~50kΩ,那就是准双向模式的配置。STC8H1K08内部是另外添加的约4K上拉电 ...

如果上拉电阻约为4K,靠上拉来供电,那点亮某个段的时候,通过单颗led的电流应该只在1mA的级别,这样能够让led达到很好的亮度吗? 这是我的疑惑之处
ID:1091094 发表于 2026-3-31 23:31
我最近也在琢磨这个,看见人家的产品的九齐单片机没有高阻态,不知道怎么实现的
ID:1138544 发表于 2026-3-31 16:23
这种想法我曾经也试过,但是内部上拉电阻太大(30~50kΩ),提供的电流太小了,灯非常暗,我用的是应广的pfs123。
您这个灯的亮度看起来还挺高,难道这个芯片的内部上拉电阻很小?
ID:1107340 发表于 2026-3-31 08:35
很详细,谢谢!

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表