打印
[STC单片机]

3位6脚数码管动态扫描显示代码程序!!!

[复制链接]
2175|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lllyyy001|  楼主 | 2020-12-14 09:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
lllyyy001|  楼主 | 2020-12-14 09:45 | 只看该作者

使用特权

评论回复
板凳
jindf| | 2020-12-14 13:55 | 只看该作者
好像在哪看到过,记不清,找不到了

使用特权

评论回复
地板
21562644322| | 2020-12-14 22:33 | 只看该作者
这个不用针对单片机写,数组配合动态轮流点亮COM

使用特权

评论回复
5
lllyyy001|  楼主 | 2020-12-15 13:57 | 只看该作者
jindf 发表于 2020-12-14 13:55
好像在哪看到过,记不清,找不到了

兄弟帮忙找一下

使用特权

评论回复
6
lllyyy001|  楼主 | 2020-12-15 13:58 | 只看该作者

百度找了好久都没有,好像比较偏的,不是主流的方式

使用特权

评论回复
7
lllyyy001|  楼主 | 2020-12-15 14:00 | 只看该作者
21562644322 发表于 2020-12-14 22:33
这个不用针对单片机写,数组配合动态轮流点亮COM

能展示例子吗,新手搞得很懵

使用特权

评论回复
8
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]]; //
}

使用特权

评论回复
9
jindf| | 2020-12-15 18:33 | 只看该作者
本帖最后由 jindf 于 2020-12-15 18:44 编辑
lllyyy001 发表于 2020-12-15 13:57
兄弟帮忙找一下,


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

使用特权

评论回复
10
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};
                 ...

谢谢

使用特权

评论回复
11
lllyyy001|  楼主 | 2020-12-15 18:38 | 只看该作者
jindf 发表于 2020-12-15 18:33
这个应该是你想要的

谢谢

使用特权

评论回复
12
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脚的数码管显示啊,这种就是常规的那种方式啊

使用特权

评论回复
13
lllyyy001|  楼主 | 2020-12-15 18:50 | 只看该作者
jindf 发表于 2020-12-15 18:33
这个应该是你想要的,不过不全,原来分享者的网盘连接失效了,这只是他的部分截图,你参考一下[/backcolo ...

有没有更详细的代码

使用特权

评论回复
14
holle| | 2020-12-16 09:04 | 只看该作者
有网上找的时间,自己都写出来了。

使用特权

评论回复
15
ifxz0123| | 2020-12-16 13:23 | 只看该作者
21562644322 发表于 2020-12-14 22:33
这个不用针对单片机写,数组配合动态轮流点亮COM

正解

使用特权

评论回复
16
lllyyy001|  楼主 | 2020-12-16 13:42 | 只看该作者
holle 发表于 2020-12-16 09:04
有网上找的时间,自己都写出来了。

自己是写出来了,可是有问题,又不知道哪里的问题,只有借鉴别人写的

使用特权

评论回复
17
ifxz0123| | 2020-12-16 14:14 | 只看该作者
参考下我的代码(不是stc的)
smg.zip (2.35 KB)





使用特权

评论回复
评论
yuawanhong 2021-12-15 17:28 回复TA
你好 这样驱动数码管出现笔端略微亮暗不均,您是否有碰到呢??? 
18
lllyyy001|  楼主 | 2020-12-16 14:27 | 只看该作者
ifxz0123 发表于 2020-12-16 14:14
参考下我的代码(不是stc的)

非常感谢!

使用特权

评论回复
评论
yuawanhong 2021-12-15 17:27 回复TA
你好 这样驱动数码管出现笔端略微亮暗不均问题,您是否有碰到呢??? 
19
elife| | 2021-12-16 17:33 | 只看该作者
亮暗不均,一般是公共端驱动的LED数量不同导致,可以调整公共端的电阻来均衡亮度。驱动的时间应该保持一致,在定时中断中驱动。

使用特权

评论回复
20
粤原点科技| | 2021-12-17 09:46 | 只看该作者
跟常规的数码管扫描方式有点不一样,常规是COM扫,这种是单个LED扫,知道原理就知道怎么写了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

15

帖子

0

粉丝