找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 3053 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-10-4 15:08

正文摘要:

如题

回复

ID:236035 发表于 2021-10-6 08:00

很多例程害死人啊
ID:883031 发表于 2021-10-5 16:45
动态扫描要有刷新频率,低了不行,最好用定时中断
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:420836 发表于 2021-10-5 08:29
在 c 程序中使用延迟会影响所有进程。 尽量使用中断来控制LED,这样7段LED就不会受到影响。
ID:57657 发表于 2021-10-4 17:04
尽量少用或不用delay,多用定时器中断。
ID:883242 发表于 2021-10-4 16:04

那就把扫描放定时器中断里面去。
ID:969799 发表于 2021-10-4 15:51
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

是动态扫描的
ID:637144 发表于 2021-10-4 15:50
把数码管放进定时器
ID:883242 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

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

Powered by 单片机教程网

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