找回密码
 立即注册
楼主: 晓飛飛

简简单单点个6条腿的8段LED数码管

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-06-24 01:24:33
已绑定手机

14

主题

600

回帖

2263

积分

荣誉版主

积分
2263
发表于 2024-4-3 23:43:51 | 显示全部楼层
单片机GPIO有高阻态才能玩这个,最早用AVR做过一个LED灯条,那时候还没有TM等系列的LED驱动器芯片,就用这种方式,一个MEGA8驱动了60只LED,还有一些按键和继电器什么的.那个资源用得那叫一个紧张.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:515
  • 最近打卡:2025-06-27 11:01:46

22

主题

178

回帖

1730

积分

金牌会员

积分
1730
发表于 2024-4-4 07:58:30 | 显示全部楼层
angm*** 发表于 2024-4-3 15:37
查理复用(Charlieplex)是一种在驱动大量LED时有效地节约IO口的方法,理论上可点亮 脚数*(脚数-1)个LED ...

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:174
  • 最近打卡:2025-06-27 21:01:30

5

主题

38

回帖

855

积分

高级会员

积分
855
发表于 2024-7-16 17:39:00 | 显示全部楼层
本帖最后由 yjx 于 2024-7-16 17:43 编辑
晓*** 发表于 2024-4-2 15:19
下面介绍一下实现方法,
单片机为STC8G1K17,其它STC单片机也一样用的
定义管脚

大佬这段代码没看的不是很明白,为什么要用4个字节了,比如我用用一组IO口8位去写的话,那我可以不用4个字节去做吗,就用一个字节

//各个LED灯珠代表的位
#define A1 0x00000001
#define B1 0x00000002
#define C1 0x00000004
#define D1 0x00000008
#define E1 0x00000010
#define F1 0x00000020
#define G1 0x00000040

#define A2 0x00000080
#define B2 0x00000100
#define C2 0x00000200
#define D2 0x00000400
#define E2 0x00000800
#define F2 0x00001000
#define G2 0x00002000

#define A3 0x00004000
#define B3 0x00008000
#define C3 0x00010000
#define D3 0x00020000
#define E3 0x00040000
#define F3 0x00080000
#define G3 0x00100000

#define DP1 0x00200000
#define DP2 0x00400000
#define K1 0x00800000
#define K2 0x01000000

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:479
  • 最近打卡:2025-06-28 06:38:34
已绑定手机

19

主题

3233

回帖

5343

积分

论坛元老

积分
5343
发表于 2024-7-16 18:05:56 来自手机 | 显示全部楼层
yjx 发表于 2024-7-16 17:39
大佬这段代码没看的不是很明白,为什么要用4个字节了,比如我用用一组IO口8位去写的话,那我可以不用4个字 ...

3个7段数码管,2个小数点,2个温度符号,一共是25个段,定义32位段位码,每个段占一位。
这个只是定义不是io。

点评

正解!  发表于 2024-7-16 22:55
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-28 10:04:03

10

主题

71

回帖

1583

积分

金牌会员

积分
1583
发表于 2024-7-17 20:07:12 | 显示全部楼层
楼主用单片机的4k上拉电阻限流亮度可以吗?试不试过IO直驱,一个IO=1,另一个IO=0,其它IO高阻,每次点亮时间控制在0.3ms以内,也可以先试试0.1ms以内,这样亮度更高,点亮时间足够短的话应该可行。595芯片我也不接限流电阻用了很久也没事。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:577
  • 最近打卡:2025-06-27 08:03:29

116

主题

2037

回帖

5883

积分

论坛元老

积分
5883
发表于 2024-11-4 14:34:25 | 显示全部楼层
本帖最后由 xxkj2010 于 2024-11-4 14:36 编辑
hhh*** 发表于 2024-7-17 20:07
楼主用单片机的4k上拉电阻限流亮度可以吗?试不试过IO直驱,一个IO=1,另一个IO=0,其它IO高阻,每次点亮时 ...

数码管居然可以直驱?这个从来都不曾试过。
每次点亮时间控制在0.3ms内,那关闭时间呢?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

778

回帖

4019

积分

论坛元老

自定义头衔

积分
4019
发表于 2024-11-4 17:50:11 | 显示全部楼层
看视频里似乎其他不点亮的灯也有微微发亮的情况,这种是代码里的时序没完善好?还是这种灯的固有缺点?

点评

实际并没有你说的 这种情况,这是由于没有揭掉数码管保护膜,亮的段把不亮的段染上了散射光,这种数码管正常使用时,需要揭掉保护膜,并且外部会罩半透明的遮光片,效果会非常好,不亮的段是纯黑的。  详情 回复 发表于 2024-11-4 18:36
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-06-28 02:07:15
已绑定手机

38

主题

2242

回帖

2771

积分

荣誉版主

积分
2771
发表于 2024-11-4 18:36:07 | 显示全部楼层
VC*** 发表于 2024-11-4 17:50
看视频里似乎其他不点亮的灯也有微微发亮的情况,这种是代码里的时序没完善好?还是这种灯的固有缺点? ...

实际并没有你说的 这种情况,这是由于没有揭掉数码管保护膜,亮的段把不亮的段染上了散射光,这种数码管正常使用时,需要揭掉保护膜,并且外部会罩半透明的遮光片,效果会非常好,不亮的段是纯黑的。
睁开眼睛做场梦~~~
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-06-08 15:04:41

14

主题

35

回帖

232

积分

中级会员

积分
232
发表于 2025-6-8 00:34:41 | 显示全部楼层
有没有大师使用汇编做过这种项目?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-06-08 15:04:41

14

主题

35

回帖

232

积分

中级会员

积分
232
发表于 2025-6-8 15:04:41 | 显示全部楼层
每次拉低一个脚,其他脚拉高的话,那不是只要拉低脚对应的段都点亮了?

点评

拉低一个脚其他脚拉高时,对应的段会都点亮,这个方法仅适合段码全亮检测。 正常使用请仔细再看看2#和3#的相关内容,有完整的驱动思路和方法。  详情 回复 发表于 2025-6-8 17:48
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-28 13:06 , Processed in 0.201707 second(s), 120 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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