找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机按键控制led闪烁模式,为什么按键无法工作

  [复制链接]
跳转到指定楼层
楼主
ID:1072529 发表于 2024-6-24 17:27 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按键控制led闪烁模式,为什么按键无法工作,led不闪烁只亮时可以切换亮的模式,加上闪烁功能后,按键不能切换
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1080935 发表于 2024-6-24 17:54 | 只看该作者
估计又是延时实现的闪烁吧,有延时的主循环对按键检测有影响。
回复

使用道具 举报

板凳
ID:1109793 发表于 2024-6-24 17:55 | 只看该作者
问了个寂寞啊,起码要贴个代码看看吧
回复

使用道具 举报

地板
ID:161164 发表于 2024-6-24 18:56 | 只看该作者
以下是一个流水灯的两种写法
看看如何实现“非阻塞延时”
  1. void main()
  2. {
  3.         uchar i;
  4.         while(1)
  5.         {
  6.                 for(i=0;i<8;i++)
  7.                 {
  8.                         P2 = ~(0x01<<i);
  9.                         delay(200);
  10.                 }
  11.         }
  12. }

  13. void main()
  14. {
  15.         uchar i = 0;
  16.         uint DelayCnt = 2000;
  17.         while(1)
  18.         {
  19.                 DelayCnt++;
  20.                 if(DelayCnt>=2000)
  21.                 {
  22.                         DelayCnt = 0;
  23.                         P2 = ~(0x01<<i);
  24.                         i++;
  25.                         if(i>=8)i=0;
  26.                 }
  27.         }
  28. }
复制代码
回复

使用道具 举报

5#
ID:619259 发表于 2024-6-24 19:11 | 只看该作者
闪烁时是不是进入死循环了?
回复

使用道具 举报

6#
ID:123289 发表于 2024-6-25 12:56 | 只看该作者
设法不用DELAY()
回复

使用道具 举报

7#
ID:1110945 发表于 2024-6-26 21:36 | 只看该作者
DELAY()延时是“阻塞式延时”,要改成定时器延时,
在定时中断内实现LED闪烁就好了。
回复

使用道具 举报

8#
ID:329625 发表于 2024-7-2 09:11 来自手机 | 只看该作者
延时太多的话  会检车不到按键按下  程序一直在执行延时动作
回复

使用道具 举报

9#
ID:1125252 发表于 2024-7-10 10:34 | 只看该作者
实际分为两种工作状态,一种LED闪烁,一种LED亮。可以通过定时器扫描按键,避免LED闪烁占用主程序时,按键按下没有反应。
回复

使用道具 举报

10#
ID:1128761 发表于 2024-7-11 15:02 | 只看该作者
贴个代码
回复

使用道具 举报

11#
ID:1053654 发表于 2024-7-11 23:45 | 只看该作者
代码都没有分析个寂寞
回复

使用道具 举报

12#
ID:332444 发表于 2024-7-12 10:15 | 只看该作者
lkc8210 发表于 2024-6-24 18:56
以下是一个流水灯的两种写法
看看如何实现“非阻塞延时”

对的,这就是非阻塞延时的妙用,也是高级的应用.
初学阶段用阻塞延时理解实现原理,实际项目用非阻塞,提升产品品质,也就是开发者的品质.
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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