找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 2973|回复: 10
收起左侧

C语言使用delay让led灯闪烁后,数码管也跟着闪烁怎么解决?

[复制链接]
ID:969799 发表于 2021-10-4 15:08 | 显示全部楼层 |阅读模式
如题
回复

举报

ID:883242 发表于 2021-10-4 15:35 | 显示全部楼层
难道数码管是动态扫描的?贴出电路图来。
回复

举报

ID:969799 发表于 2021-10-4 15:46 | 显示全部楼层
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

51hei图片20211004154507.png
回复

举报

ID:637144 发表于 2021-10-4 15:50 来自触屏版 | 显示全部楼层
把数码管放进定时器
回复

举报

ID:969799 发表于 2021-10-4 15:51 | 显示全部楼层
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

是动态扫描的
回复

举报

ID:883242 发表于 2021-10-4 16:04 | 显示全部楼层

那就把扫描放定时器中断里面去。
回复

举报

ID:57657 发表于 2021-10-4 17:04 | 显示全部楼层
尽量少用或不用delay,多用定时器中断。
回复

举报

ID:420836 发表于 2021-10-5 08:29 | 显示全部楼层
在 c 程序中使用延迟会影响所有进程。 尽量使用中断来控制LED,这样7段LED就不会受到影响。
回复

举报

ID:161164 发表于 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. }
复制代码



回复

举报

ID:883031 发表于 2021-10-5 16:45 | 显示全部楼层
动态扫描要有刷新频率,低了不行,最好用定时中断
回复

举报

ID:236035 发表于 2021-10-6 08:00 | 显示全部楼层

很多例程害死人啊
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表