发新帖我要提问
12
返回列表
打印
[51单片机]

大神级——按键处理程序

[复制链接]
楼主: shi910229
手机看帖
扫描二维码
随时随地手机跟帖
21
dong_abc| | 2014-7-18 21:21 | 只看该作者 回帖奖励 |倒序浏览
本帖最后由 dong_abc 于 2014-7-19 01:39 编辑

2010年这样用过,现在的CPU每个io都有中断,所以别扫描了,直接检测IO中断多高效。

使用特权

评论回复
22
sfesdm| | 2014-7-18 22:49 | 只看该作者
   while(1)
        {
              if (Intrcnt>20)          // 一直在等,直到20ms时间到
              {
                   Intrcnt="0";
                   break;       // 返回主循环
              }
        }
       }
这本身就是一个死循环,跟delayms(20)完全没区别,还是死等在那里20毫秒再跳出,没意义

使用特权

评论回复
23
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是什么意思,谢谢指教。

使用特权

评论回复
24
link8001| | 2014-7-19 08:20 | 只看该作者
unsigned char ReadData = P1;  
Trg = Cont & (ReadData ^ Cont);
Cont = ReadData;
本质上是个下降沿检测   

使用特权

评论回复
25
idqiye| | 2014-7-19 15:21 | 只看该作者
顶一下

使用特权

评论回复
26
流行音乐| | 2014-7-20 11:08 | 只看该作者
支持楼主。

使用特权

评论回复
27
排山倒海| | 2014-7-20 15:59 | 只看该作者
哪位大侠有较为规范的按键流程图?我们公司有包含防抖比较实用的流程图,但不是我个人的所以不能发上来。

使用特权

评论回复
28
cos12a| | 2014-7-21 12:38 | 只看该作者
很早就看到了,很好,至少让我知道了:不仅仅只有延时的方法去抖.

使用特权

评论回复
29
idqiye| | 2014-7-21 15:32 | 只看该作者
xyz769 发表于 2014-7-18 09:43
算法不错,细节还有待完善。。比如解决连按问题,降低代码间的耦合度,方便移植等。。加油!!
...

确实连续按,是个问题,怎么破

使用特权

评论回复
30
swustlx86| | 2014-7-21 16:05 | 只看该作者
很早之前看过   挺好用的            

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则