找回密码
 立即注册
楼主: lclbf

数码管程序

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-10-16 07:39:01

21

主题

223

回帖

1350

积分

金牌会员

积分
1350
发表于 2023-11-29 10:52:34 | 显示全部楼层
reng*** 发表于 2023-11-28 16:53
没有公共端啊?这样的话只能使用pin脚单独控制了,或者使用锁存器来减少单片机端口输出 ...

看见别人用普通的单片机,直接5个IO口驱动,不自动程序是如何实现的。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:546
  • 最近打卡:2025-10-16 07:51:13

50

主题

396

回帖

2096

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
2096
发表于 2023-11-29 11:08:07 | 显示全部楼层
lcl*** 发表于 2023-11-29 10:52
看见别人用普通的单片机,直接5个IO口驱动,不自动程序是如何实现的。

IO口复用了?那样的话可能是利用数码管动态扫描的原理,程序的话就得设计的很巧妙了,而且刷新时间要求也挺高的
处事要代人所想,读书需切己用功
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:686
  • 最近打卡:2025-10-16 00:04:51

11

主题

1246

回帖

6321

积分

论坛元老

积分
6321
发表于 2023-11-29 21:26:18 | 显示全部楼层
本帖最后由 angmall 于 2023-11-29 21:28 编辑


使用Charlieplexing查理复用技术使用5个io口控制16个LED的51单片机程序

基于Charlieplexing(查理复用算法)实现5个GPIO控制16个LED灯


5个IO口最多可以控制20个LED,现成的程序不太好找。这有个实例,STC8G1K08A就6个IO口,能用的就只剩3个,无奈才写了3个IO口控制4个LED的程序。由于LED数量太少,就没有费神精炼代码,只把4个LED驱动封装成函数调用。权当抛砖引玉。



void LED1()
{
        P3M0=0x03;//P3.0推、3.1推、3.2高0000 0011
        P3M1=0x04;//P3.0推、3.1推、3.2高0000 0100
        P30=0;P31=1;P32=1;
}

void LED2()
{
        P3M0=0x03;//P3.0推、3.1推、3.2高0000 0011
        P3M1=0x04;//P3.0推、3.1推、3.2高0000 0100
        P30=1;P31=0;P32=1;
}

void LED3()
{
        P3M0=0x06;//P3.0高、3.1推、3.2推0000 0110
        P3M1=0x01;//P3.0高、3.1推、3.2推0000 0001
        P30=1;P31=0;P32=1;
}

void LED4()
{
        P3M0=0x06;//P3.0高、3.1推、3.2推0000 0110
        P3M1=0x01;//P3.0高、3.1推、3.2推0000 0001
        P30=1;P31=1;P32=0;
}

http://112.74.51.126/forum.php?mod=attachment&aid=MjgzMTF8NGFmODM5Mjd8MTc2MDYwMzI0NnwwfA%3D%3D
[http://112.74.51.126/forum.php?mod=attachment&aid=MjgzMTF8NGFmODM5Mjd8MTc2MDYwMzI0NnwwfA%3D%3D]查理复用IO驱动数码管.docx[/attach]




回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-10-16 07:39:01

21

主题

223

回帖

1350

积分

金牌会员

积分
1350
发表于 2023-11-30 07:54:55 | 显示全部楼层
angm*** 发表于 2023-11-29 21:26
使用Charlieplexing查理复用技术使用5个io口控制16个LED的51单片机程序

基于Charlieplexing(查理复用算法 ...

谢谢你的代码!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-10-16 07:39:01

21

主题

223

回帖

1350

积分

金牌会员

积分
1350
发表于 2023-12-1 08:10:32 | 显示全部楼层
angm*** 发表于 2023-11-29 21:26
使用Charlieplexing查理复用技术使用5个io口控制16个LED的51单片机程序

基于Charlieplexing(查理复用算法 ...

按照你的方法,用STC15W61S4点亮数码管188.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:669
  • 最近打卡:2025-10-16 08:09:05

13

主题

208

回帖

1046

积分

金牌会员

积分
1046
发表于 2023-12-3 10:11:13 | 显示全部楼层
4位数码管最少可以用多少个IO口驱动呢?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:686
  • 最近打卡:2025-10-16 00:04:51

11

主题

1246

回帖

6321

积分

论坛元老

积分
6321
发表于 2023-12-3 16:09:09 | 显示全部楼层
stb*** 发表于 2023-12-3 10:11
4位数码管最少可以用多少个IO口驱动呢?


基于Charlieplexing(查理复用算法)实现 7个IO口可以驱动42LED


111420sb04bpzxd93d00hz.jpg
这个小数码管很有意思,只有7个pin脚
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-10-16 07:39:01

21

主题

223

回帖

1350

积分

金牌会员

积分
1350
发表于 2023-12-4 08:00:03 | 显示全部楼层
angm*** 发表于 2023-12-3 16:09
基于Charlieplexing(查理复用算法)实现 7个IO口可以驱动42LED

把你写的程序发出来学习一下。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:669
  • 最近打卡:2025-10-16 08:09:05

13

主题

208

回帖

1046

积分

金牌会员

积分
1046
发表于 2023-12-4 08:41:30 | 显示全部楼层
angm*** 发表于 2023-12-3 16:09
基于Charlieplexing(查理复用算法)实现 7个IO口可以驱动42LED

这个牛啊,这么小的Io口可以驱动这个数码管
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:662
  • 最近打卡:2025-10-16 08:01:34
已绑定手机

34

主题

456

回帖

2938

积分

金牌会员

积分
2938
发表于 2023-12-4 21:38:30 来自手机 | 显示全部楼层
👍
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-16 16:27 , Processed in 0.125471 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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