资料
  • 资料
  • 专题
堪称一绝的“IO口扫键”法
推荐星级:
类别: 消费电子
时间:2020-01-15
大小:299.5KB
阅读数:172
上传用户:978461154_qq
查看他发布的资源
下载次数
0
所需E币
5
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
堪称一绝的“IO口扫键”法 在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们 就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用, 实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品 利润低的厂家来说,这是一笔不菲的开支! 那,我们能不能想到比较好的扫键方法:用最少的IO口,扫最多的键?可以吗? 举个例:给出5个IO口,能扫多少键?有人说是2*3=6个,如图一: [pic]    图一 对,大部分技术参考书都这么做,我们也经常这样做:用3个IO口作行扫描,2个IO作列 检测(为方便描述,我们约定:设置某一IO口输出为“0”――称其为“扫某IO口”)。用行线 输出扫键码,列线检测是否有按键的查询方法进行扫键。扫键流程:在行线依次输出01 1,101,110扫键值,行线每输出一个扫键值,列线检测一次。当列线检测到有按键时, 结合输出的扫键值可以判断相应的按键。 但是,5个IO真的只能扫6个键吗?有人说可以扫9个,很聪明!利用行IO与地衍生3个键 (要注意上拉电阻),如图二: [pic] 图二 扫键流程:先检测3个行IO口,对K1’,K2’,K3’进行扫键,之后如上述2*3扫键流程。5 个IO口能扫9个键,够厉害吧,足足比6个键多了1/2! 动动脑,还能不能再多扫几个?就几个?一个也行!好,再想一下,硬是被逼出来了! 如图三: [pic] 3.JPG                                       图 三 不多不少,正好10个键!这种扫键方式比较少见吧!漂亮!扫键流程:设IO1输出为“0” ,检测IO2…IO5,若判断有相应健按下,则可知有健;若无键,则继续扫键:设IO2输出 为“0”,检测IO3,IO4,IO5,判断有无键按下,如此类推。这里应注意:当扫某一IO口 (输出为“0”)时……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书