_奶咖君_ 发表于 2024-4-1 10:49:33

要是实在做不好刷新显示,,要不就让专用芯片接数码管,其他的工作让你的单片机来?

晓飛飛 发表于 2024-4-1 20:23:27

定时器中断里面构建简易状态机,不要用傻循环式的delay,提高定时器中断频率,想闪都难。
//刷数码管定时器 1000Hz三个数码管平均333Hz
void Timer2_Isr(void) interrupt 12
{
        static u8 sta;
        COM1 = 0; COM2 = 0; COM3 = 0;   //关闭数码管
        switch (sta)
        {
                case 1:
                        P1 = number;   
                        COM1 = 1;      //百位
                        sta = 2;
                        break;
                case 2:
                        P1 = number;
                        COM2 = 1;               //十位       
                        sta = 3;
                        break;
                case 3:
                        P1 = number;
                        COM3 = 1;               //个位       
                        sta = 1;
                        break;
                default:
                        sta = 1;
                        break;
        }
}


xiangzichen 发表于 2024-4-1 20:41:49

要不闪烁必须定时器,至于频率这个无所谓,按照人眼26帧左右的感觉,基本问题不大.
还有一个小技巧,每次进入中断后,先关闭显示,然后变换数码管dig位置,再开数码管显示,这样显示效果可以提高不少.

小坤 发表于 2024-4-2 08:39:30

把事情搞简单些,换STC8H4K64TLR系列。带硬件LED驱动,刷新速度可以设置

consoleyou 发表于 2024-4-2 09:43:18

以8位数码管为例,每1MS中断刷新1位,1秒就是1000次,1000/8=125帧/秒。理论上只要大于30帧/秒就不会闪烁了。

lzzasd 发表于 2024-4-2 09:56:50

一般整体刷新频率超过30就不会感觉闪了   要是4位数字的话就是120HZ   

qepuemc 发表于 2024-4-3 14:48:24

这么大个单片机就为了显示那几个数码管?我觉得应该交给专用芯片。

一笔长空 发表于 2024-4-4 14:03:28

刷新的太慢了

神农鼎 发表于 2024-4-4 14:20:47

RMB1.6 !STC8H4K32TL-40MHz-LQFP48/32, QFN48/32
16个触摸按键,硬件自动刷新驱动32个8段LED数码管,或16个米字形数码管
80mA大电流硬件LED数码管自动刷新驱动器居然可以8位亮度256种组合?
怎么实现的!!!



什么?STC硬件80mA大电流LED数码管自动刷新驱动居然可以8位亮度256种组合?怎么实现 - 触摸按键/80mA大电流LED数码管自动刷新显示/段码LCD/RTC实时时钟/低功耗 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

嵌入式之路 发表于 2024-4-4 14:54:57

速度太慢了, 要么就是delay 时间太长了
页: 1 [2] 3 4
查看完整版本: 数码管显示怎样才能不闪烁