这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 5个IO口扫描25个按键的解决方法

共4条 1/1 1 跳转至

5个IO口扫描25个按键的解决方法

助工
2012-03-26 19:23:51     打赏
在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用,实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品利润低的厂家来说,这是一笔不菲的开支!
那,我们能不能想到比较好的扫键方法:用最少的IO口,扫最多的键?可以吗?
举个例:给出5个IO口,能扫多少键?有人说是2*3=6个,如图一:

图片点击可在新窗口打开查看此主题相关图片如下:图1.jpg
图片点击可在新窗口打开查看

大部分技术参考书都这么做,我们也经常这样做:用3个IO口作行扫描,2个IO作列检测(为方便描述,我们约定:设置某一IO口输出为“0”――称其为“扫某IO口”)。用行线输出扫键码,列线检测是否有按键的查询方法进行扫键。扫键流程:在行线依次输出011,101,110扫键值,行线每输出一个扫键值,列线检测一次。当列线检测到有按键时,结合输出的扫键值可以判断相应的按键。
但是,5个IO真的只能扫6个键吗?有人说可以扫9个,很聪明!利用行IO与地衍生3个键(要注意上拉电阻),如图二:

图片点击可在新窗口打开查看此主题相关图片如下:图2.jpg
图片点击可在新窗口打开查看




关键词: 扫描     25个     按键     解决     方法    

工程师
2012-03-26 19:32:55     打赏
2楼
哇 长见识了

高工
2012-03-27 22:33:47     打赏
3楼
确实长见识了,但是也没所有楼主所说的额25个啊?剩下的16个呢?

助工
2012-03-29 19:40:47     打赏
4楼
稍后再更新,不好意思啊

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]