[51单片机] 大神级——按键处理程序

[复制链接]
6456|29
dong_abc 发表于 2014-7-18 21:21 | 显示全部楼层
本帖最后由 dong_abc 于 2014-7-19 01:39 编辑

2010年这样用过,现在的CPU每个io都有中断,所以别扫描了,直接检测IO中断多高效。
sfesdm 发表于 2014-7-18 22:49 | 显示全部楼层
   while(1)
        {
              if (Intrcnt>20)          // 一直在等,直到20ms时间到
              {
                   Intrcnt="0";
                   break;       // 返回主循环
              }
        }
       }
这本身就是一个死循环,跟delayms(20)完全没区别,还是死等在那里20毫秒再跳出,没意义
ljj476953950 发表于 2014-7-18 23:39 | 显示全部楼层
teddeng 发表于 2014-7-18 19:19
我要看完干嘛?他解释得清楚还是我解释得清楚?很自然的东西,并且我早不用这种,我用Y=A^B&C+A&B,不了解 ...

问一下Y=A^B&C+A&B中的C是什么意思,谢谢指教。
link8001 发表于 2014-7-19 08:20 | 显示全部楼层
unsigned char ReadData = P1;  
Trg = Cont & (ReadData ^ Cont);
Cont = ReadData;
本质上是个下降沿检测   
idqiye 发表于 2014-7-19 15:21 | 显示全部楼层
顶一下
流行音乐 发表于 2014-7-20 11:08 | 显示全部楼层
支持楼主。
排山倒海 发表于 2014-7-20 15:59 | 显示全部楼层
哪位大侠有较为规范的按键流程图?我们公司有包含防抖比较实用的流程图,但不是我个人的所以不能发上来。
cos12a 发表于 2014-7-21 12:38 | 显示全部楼层
很早就看到了,很好,至少让我知道了:不仅仅只有延时的方法去抖.
idqiye 发表于 2014-7-21 15:32 | 显示全部楼层
xyz769 发表于 2014-7-18 09:43
算法不错,细节还有待完善。。比如解决连按问题,降低代码间的耦合度,方便移植等。。加油!!
...

确实连续按,是个问题,怎么破
swustlx86 发表于 2014-7-21 16:05 | 显示全部楼层
很早之前看过   挺好用的            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部