_奶咖君_
发表于 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 时间太长了