找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机将四个引脚作为端口,控制30个灯该如何定义?

查看数: 1449 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-11-25 12:35

正文摘要:

本帖最后由 1027669350 于 2021-11-25 12:37 编辑 怎么将COM和对应的led组合在一起,定义之后,可以直接用结构体分别控制

回复

ID:624769 发表于 2021-11-25 16:48
既然是数码管思路,就应该遵从数码管的点亮思路,通过定时器,每5毫秒,让一个COM下的LED点亮一次。即:把30个LED当作 4位数码管, 4个COM就是4个位,每个COM对应的7~8个LED就是数码管的段,然后利用视觉暂留原理不停的轮流点亮熄灭。
ID:975927 发表于 2021-11-25 16:06
188610329 发表于 2021-11-25 15:44
他实际是12个引脚, 阳极他是接到 SEG1~SEG8的。 所以直接按他这图来讲,直接可以分时复用了,不需要也没 ...

请教一下怎样写控制COM的开关让他们互不影响,我按照数码管的思路写的没能实现
switch(Index++)
        {
                case 0:
                        COM3=0;
                  COM1=1;
            COM2=1;
                  COM4=1;
                  if(bai==1)
                        {
                                LEDbuf1.U8&=0xFC;
                        }
                case 1:
                        COM1=0;
                  COM2=1;
                  COM3=1;
                        COM4=1;
                        LEDbuf1.U8=table[shi];
                        break;
                case 2:
                        COM2=0;
                  COM1=1;
                  COM3=1;
                        COM4=1;
                  LEDbuf1.U8=table[ge]&0x7F;
                        Index = 0;
                        break;
   }
ID:884147 发表于 2021-11-25 16:03
这实际就是借用典型的4位数码管显示电路,要动态扫描COM1-4,可参考数码管显示程序
ID:624769 发表于 2021-11-25 15:44
yzwzfyz 发表于 2021-11-25 15:34
四个端口,理论上只有16人状态,不足32个。所以必须分时控制。
建议:用移位寄存器驱动32个灯,用四个端口 ...

他实际是12个引脚, 阳极他是接到 SEG1~SEG8的。 所以直接按他这图来讲,直接可以分时复用了,不需要也没有必要外接移位寄存器了。
ID:123289 发表于 2021-11-25 15:34
四个端口,理论上只有16人状态,不足32个。所以必须分时控制。
建议:用移位寄存器驱动32个灯,用四个端口控制移位寄存器。
ID:624769 发表于 2021-11-25 14:43
你图不是都画出来了么? 通过 4x8 分时控制啊。

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

Powered by 单片机教程网

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