找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2530|回复: 10
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2021-10-4 15:35 | 只看该作者
难道数码管是动态扫描的?贴出电路图来。
回复

使用道具 举报

板凳
ID:969799 发表于 2021-10-4 15:46 | 只看该作者
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。


回复

使用道具 举报

地板
ID:637144 发表于 2021-10-4 15:50 来自手机 | 只看该作者
把数码管放进定时器
回复

使用道具 举报

5#
ID:969799 发表于 2021-10-4 15:51 | 只看该作者
Hephaestus 发表于 2021-10-4 15:35
难道数码管是动态扫描的?贴出电路图来。

是动态扫描的
回复

使用道具 举报

6#
ID:883242 发表于 2021-10-4 16:04 | 只看该作者

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

使用道具 举报

7#
ID:57657 发表于 2021-10-4 17:04 | 只看该作者
尽量少用或不用delay,多用定时器中断。
回复

使用道具 举报

8#
ID:420836 发表于 2021-10-5 08:29 | 只看该作者
在 c 程序中使用延迟会影响所有进程。 尽量使用中断来控制LED,这样7段LED就不会受到影响。
回复

使用道具 举报

9#
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. }
复制代码



回复

使用道具 举报

10#
ID:883031 发表于 2021-10-5 16:45 | 只看该作者
动态扫描要有刷新频率,低了不行,最好用定时中断
回复

使用道具 举报

11#
ID:236035 发表于 2021-10-6 08:00 | 只看该作者

很多例程害死人啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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