标题: C语言使用delay让led灯闪烁后,数码管也跟着闪烁怎么解决? [打印本页]

作者: qul555    时间: 2021-10-4 15:08
标题: C语言使用delay让led灯闪烁后,数码管也跟着闪烁怎么解决?
如题
作者: Hephaestus    时间: 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。
作者: qul555    时间: 2021-10-4 15:46
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。



作者: 语.    时间: 2021-10-4 15:50
把数码管放进定时器
作者: qul555    时间: 2021-10-4 15:51
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

是动态扫描的
作者: Hephaestus    时间: 2021-10-4 16:04
qul555 发表于 2021-10-4 15:51
是动态扫描的

那就把扫描放定时器中断里面去。
作者: npn    时间: 2021-10-4 17:04
尽量少用或不用delay,多用定时器中断。
作者: TTQ001    时间: 2021-10-5 08:29
在 c 程序中使用延迟会影响所有进程。 尽量使用中断来控制LED,这样7段LED就不会受到影响。
作者: lkc8210    时间: 2021-10-5 10:58
不好的延时
  1. while(1)
  2. {
  3. P10 = !P10;
  4. delay(500);
  5. }
复制代码



比较好的延时
  1. while(1)
  2. {
  3. if(delay++>5000)
  4. {
  5. delay = 0;
  6. P10 = !P10;
  7. }
  8. }
复制代码




作者: cn_zhx    时间: 2021-10-5 16:45
动态扫描要有刷新频率,低了不行,最好用定时中断
作者: ly1972001    时间: 2021-10-6 08:00
lkc8210 发表于 2021-10-5 10:58
不好的延时

很多例程害死人啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1