[STC单片机] 3位6脚数码管动态扫描显示代码程序!!!

[复制链接]
2768|21
 楼主| lllyyy001 发表于 2020-12-14 09:02 | 显示全部楼层 |阅读模式
求技术大神分享一份3位6脚数码管动态扫描显示代码程序!!!stc系列的
 楼主| lllyyy001 发表于 2020-12-14 09:45 | 显示全部楼层
jindf 发表于 2020-12-14 13:55 | 显示全部楼层
好像在哪看到过,记不清,找不到了
21562644322 发表于 2020-12-14 22:33 | 显示全部楼层
这个不用针对单片机写,数组配合动态轮流点亮COM
 楼主| lllyyy001 发表于 2020-12-15 13:57 | 显示全部楼层
jindf 发表于 2020-12-14 13:55
好像在哪看到过,记不清,找不到了

兄弟帮忙找一下
 楼主| lllyyy001 发表于 2020-12-15 13:58 | 显示全部楼层

百度找了好久都没有,好像比较偏的,不是主流的方式
 楼主| lllyyy001 发表于 2020-12-15 14:00 | 显示全部楼层
21562644322 发表于 2020-12-14 22:33
这个不用针对单片机写,数组配合动态轮流点亮COM

能展示例子吗,新手搞得很懵
21562644322 发表于 2020-12-15 17:21 | 显示全部楼层
lllyyy001 发表于 2020-12-15 14:00
能展示例子吗,新手搞得很懵

unsigned char tab[] = {0x7e, 0x0c, 0xb6, 0x9e, 0xcc, 0xda, 0xfa, 0x0e, 0xff, 0xde, 0x00, 0x80};
                                         //  0    1                2            3                4          5                6          7                8          9                 灭    g  
void LedDrive(void)
{
    PORTF &= 0x01;//消隐
        COM1 = 1;
        COM2 = 1;
        COM3 = 1;
        COM4 = 1;
    DspCom++;

    switch (DspCom)
    {
            default:
                DspCom = 0;
            case 0:
            {
                // PORTF |= tab[DspBuf[DspCom]];
                        COM3 = 0;
                }break;
            case 1:
            {
               // PORTF |= tab[DspBuf[DspCom]]; //
                COM4 = 0;
            }break;
            case 2:
            {
                //PORTF |= tab[DspBuf[DspCom]]; //
                COM1 = 0;
            }break;
            case 3:
            {
                //PORTF |= tab[DspBuf[DspCom]]; //
                COM2 = 0;
            }break;
    }
    PORTF |= tab[DspBuf[DspCom]]; //
}

jindf 发表于 2020-12-15 18:33 | 显示全部楼层
本帖最后由 jindf 于 2020-12-15 18:44 编辑
lllyyy001 发表于 2020-12-15 13:57
兄弟帮忙找一下,


这个应该是你想要的,不过不全,原来分享者的网盘连接失效了,这只是他的部分截图,你参考一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| lllyyy001 发表于 2020-12-15 18:37 | 显示全部楼层
21562644322 发表于 2020-12-15 17:21
unsigned char tab[] = {0x7e, 0x0c, 0xb6, 0x9e, 0xcc, 0xda, 0xfa, 0x0e, 0xff, 0xde, 0x00, 0x80};
                 ...

谢谢
 楼主| lllyyy001 发表于 2020-12-15 18:38 | 显示全部楼层
jindf 发表于 2020-12-15 18:33
这个应该是你想要的

谢谢
 楼主| lllyyy001 发表于 2020-12-15 18:49 | 显示全部楼层
21562644322 发表于 2020-12-15 17:21
unsigned char tab[] = {0x7e, 0x0c, 0xb6, 0x9e, 0xcc, 0xda, 0xfa, 0x0e, 0xff, 0xde, 0x00, 0x80};
                 ...

这种方式不是3位6脚的数码管显示啊,这种就是常规的那种方式啊
 楼主| lllyyy001 发表于 2020-12-15 18:50 | 显示全部楼层
jindf 发表于 2020-12-15 18:33
这个应该是你想要的,不过不全,原来分享者的网盘连接失效了,这只是他的部分截图,你参考一下[/backcolo ...

有没有更详细的代码
holle 发表于 2020-12-16 09:04 | 显示全部楼层
有网上找的时间,自己都写出来了。
ifxz0123 发表于 2020-12-16 13:23 | 显示全部楼层
21562644322 发表于 2020-12-14 22:33
这个不用针对单片机写,数组配合动态轮流点亮COM

正解
 楼主| lllyyy001 发表于 2020-12-16 13:42 | 显示全部楼层
holle 发表于 2020-12-16 09:04
有网上找的时间,自己都写出来了。

自己是写出来了,可是有问题,又不知道哪里的问题,只有借鉴别人写的
ifxz0123 发表于 2020-12-16 14:14 | 显示全部楼层
参考下我的代码(不是stc的)






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

你好 这样驱动数码管出现笔端略微亮暗不均,您是否有碰到呢???  发表于 2021-12-15 17:28
 楼主| lllyyy001 发表于 2020-12-16 14:27 | 显示全部楼层
ifxz0123 发表于 2020-12-16 14:14
参考下我的代码(不是stc的)

非常感谢!

评论

你好 这样驱动数码管出现笔端略微亮暗不均问题,您是否有碰到呢???  发表于 2021-12-15 17:27
elife 发表于 2021-12-16 17:33 | 显示全部楼层
亮暗不均,一般是公共端驱动的LED数量不同导致,可以调整公共端的电阻来均衡亮度。驱动的时间应该保持一致,在定时中断中驱动。
粤原点科技 发表于 2021-12-17 09:46 | 显示全部楼层
跟常规的数码管扫描方式有点不一样,常规是COM扫,这种是单个LED扫,知道原理就知道怎么写了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部