×

按键处理的几种方法

消耗积分:1 | 格式:doc | 大小:65KB | 2014-08-11

heren521

分享资料个

  1:读PORTB的端口数据,取反,然后送到ReadData 临时变量里面保存起来。

  2:算法1,用来计算触发变量的。一个位与操作,一个异或操作,我想学过C语言都应该懂吧?Trg为全局变量,其它程序可以直接引用。

  3:算法2,用来计算连续变量。

  我们最常用的按键接法如下:AVR是有内部上拉功能的,但是为了说明问题,我是特意用外部上拉电阻。那么,按键没有按下的时候,读端口数据为1,如果按键按下,那么端口读到0。下面就看看具体几种情况之下,这算法是怎么一回事。

  (1) 没有按键的时候

  端口为0xff,ReadData读端口并且取反,很显然,就是 0x00 了。

  Trg = ReadData & (ReadData ^ Cont); (初始状态下,Cont也是为0的)很简单的数学计算,因为ReadData为0,则它和任何数“相与”,结果也是为0的。

  Cont = ReadData; 保存Cont 其实就是等于ReadData,为0;

  结果就是:

  ReadData = 0;

  Trg = 0;

  Cont = 0;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !