两线式键盘(AD按键)电路的设计与实现

控制/MCU

1878人已加入

描述

 

  在做单片机项目开发时,经常需要用到键盘,而键盘绝大多时候使用的是单按键或矩阵键盘。矩阵键盘有许多优点,我在这就不多说了,但有一点就是按键稍微多几个就比较浪费口线了,尤其是需要将键盘引出时,那线多而长很是一个不爽。下面我就说说两线式的多按键电路的设计与实现,键盘只需两根导线就搞定,前提是你的单片机系统要有多余的一根AD口线。说到这里有人会问了,我的系统没有用到模拟采集,为了弄这个键盘再加一个AD芯片吧,这不是因小失大吗?我要说的是现在带有AD功能的单片机相当的多,而且价格比没带的也贵不了多少。当然你选了不带AD的就另当别论了。

  我在做一个项目的按键时遇到几个情况:1.产品外设较多,单片机I/O口除键盘就只剩下一个I/O了,再没有多余的了;2.现场情况所限,键盘与主机板要有一段距离;3.键盘需要9个按键。根据以上的情况采用两线键盘最为合适。电路如图所示。

  

按键电路

 

  图中 省略了部分按键,可以根据实际需要配置按键。此时就可以通过AD扫描读取,可以根据AD值判断有无按键按下或是那个按键按下。根据上图电阻值(为方便举例,全部取值为1K,可以自行取其它阻值,电压平均分配就最好)可以算出:无按键按下,AD值为VCC;S1按下,AD值为0;S2按下,AD值为1/2VCC;同理,S3=2/3VCC;S4=3/4VCC;S5=4/5VCC;根据AD采集值比较最接近那个键值,则就是该按键。

  使用此方方法需注意几点:1.按键不可太多,这与AD分辨率有关系,否则将会检测不准。以8位分辨率来说,共256点,每个按键的点为25点以上最好。即256/25=10,最多10个按键。具体可以自行实验。

  2.按键选用接触性较好的按键。按键差的使用时间一长,容易产生接触电阻,按键多容易误检测。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
elecfans网友 2014-04-30
0 回复 举报
一直采样不占用CPU吗。 1条回复 收起回复
上官梦舞 0
按键检测程序一样占用CPU 啊,除非用中断方式。
伏尔加的鱼 2012-09-23
0 回复 举报
AD数据转换的原理 收起回复

全部0条评论

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

×
20
完善资料,
赚取积分