网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 解决方案 > 正文
  • RSS
  • “经验”绑架--工程师,你还局限于教材经验吗?
    http://www.ic72.com 发布时间:2011/5/31 15:24:58

        ——两种键盘扫描方法比较分析

        说到键盘扫描,相信大多数人第一反应就是行列矩阵扫描,这样我们可以用相对有限的IO口得到尽可能多的按键。键盘扫描是单片机技术的一种基本处理方法,学校的单片机课程都会有相应章节进行阐述,只要按照课本上讲述的方法,一般都能设计出比较可靠的键盘扫描电路与程序。

        课本上的键盘扫描方法(见下图接法二)不能说是尽善尽美,从易懂性、成本、程序难易程度等方面综合看应该是不错的方法,给人感觉是已经没有太多的改善空间,至少我是这么认为的。

        然而前段时间一位台湾朋友画给我的键盘扫描矩阵电路(见下图接法二),让我又一次看到到自己的思维还有许多地方被自己的所谓“经验”束缚着。

    “经验”绑架--工程师,你还局限于教材经验吗?

        单纯的从硬件接法看,两种接法并没有明显区别,接法一甚至要复杂一些,但如果结合到键盘扫描的程序来看,就会发现接法一确实更好。

        两种接法我都没有把上拉电阻包含进来,来让我们看一下两种接法到底有什么不同:

        接法一:

        新扫键处理电路,假定键盘行列IO口标号分别为H1/H2/H3和V1/V2/V3,扫键流程通常如下。

        1.1. H1/H2/H3和V1/V2/V3都设置为输入

        1.2. 读H1/H2/H3和V1/V2/V3状态,如果Hx和Vy读到的状态均为0,则认为Hx与Vy交叉位置的键按下

        从上面流程可以看出接法一的程序代码要简单不少,既能减少扫键的代码量,又能加快扫键处理的时间,站在软件的角度看确实要比接法二要好。后来我反思了一下为什么我们教材上的传统处理方法没有采用接法一,虽然接法一软件上要简单一些,但硬件布局要复杂,传统的按键只有两条接线,接法一需要三条接线,所以用传统的按键是无法实现的,但现在许多电子产品的按键都用导电橡胶或锅仔片来实现,所以接法已变得可行。

        注:这两种电路对于同时按键达到3个的情况都有可能形成错误的按键逻辑。

        接法二(教材):

        我们熟悉的传统扫键处理电路,假定键盘行列IO口标号分别为H1/H2/H3和V1/V2/V3,扫键流程通常如下。

        2.1. H1设置为输出,H2/H3和V1/V2/V3设置为输入

        2.2. H1分别输出1和0,读V1/V2/V3状态,如果Vy状态与H1一致,则认为H1与Vy交叉位置的键按下

        2.3. H2设置为输出,H1/H3和V1/V2/V3设置为输入

        2.4. H2分别输出1和0,读V1/V2/V3状态,如果Vy状态与H2一致,则认为H2与Vy交叉位置的键按下

        2.5. H3设置为输出,H1/H2和V1/V2/V3设置为输入

        2.6. H3分别输出1和0,读V1/V2/V3状态,如果Vy状态与H3一致,则认为H3与Vy交叉位置的键按下


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质