晓飛飛 发表于 2025-7-28 19:06:06

zhuls 发表于 2025-7-28 14:58
是的,满屏需要56次中断。
室外勉强看得清,是有点低,但室内完全没问题。
就是这种复用的的方式:


有没有这样一种可能,8个PIN脚驱动的话,只需要8次中断即可刷一轮,亮度还可以+++
参考我的驱动方法,看看有没有思路。
https://www.stcaimcu.com/thread-7580-1-1.html

zhuls 发表于 2025-7-28 21:17:14

晓飛飛 发表于 2025-7-28 19:06
有没有这样一种可能,8个PIN脚驱动的话,只需要8次中断即可刷一轮,亮度还可以+++
参考我的驱动方法,看 ...

有试过,最开始就是用8 次中断,一次驱动一个IO。
这种方法,在某些数字上会出现亮度不均。即使加上限流电阻,电阻大了,亮度下降,电阻 小了亮度不均,当时没找到一个平衡点,所以就采用现在这处段驱动的方法了。

zhuls 发表于 2025-7-28 21:20:51

/*位驱循环方式扫显代码,有Bug未解决?*///

// void scan_led_io(unsigned char line)
//{
//unsigned char i;
//unsigned char io;
//unsigned char tdat;
//
//   io=scan_io_tbl;   //扫描线转IO口bit
//   dat=dis;                   //当前扫描线对应的数值
//
//   led_input();                     //所有扫描线均为输入高阻态
//   led_pp_out(io);                   //当前扫描线为PP输出,(且为低--代码共用,不想改了)
//   P1 |= check_tbl;//当前扫描线输出高
//
//   for(i=0;i<8;i++)                   //共8条线
//   {
//            if(i==io)continue;            //是正扫描线,跳过
//            if(dat & check_tbl)//负极线,且有效
//         led_pp_out(i);               //输出低
//   }
//}
*/

用这种方法,当显示“1”和“8”这样同屏情况下,“1”字明显亮于“8”字

晓飛飛 发表于 2025-7-28 23:44:42

zhuls 发表于 2025-7-28 21:17
有试过,最开始就是用8 次中断,一次驱动一个IO。
这种方法,在某些数字上会出现亮度不均。即使加上限流 ...
你仔细看下我那个贴提到的驱动方法,不需要限流电阻,完全利用STC8H内部4K上拉来驱动,各个段位电流一致,亮度也不会有不均匀,二楼有测试视频,应付小尺寸数码管还是可以的。
页: 1 [2]
查看完整版本: 关于IDLE和STOP模式