如果有400多个键,如何设计扩展口来检测键盘按键事件?

[复制链接]
7386|39
nanpuyun 发表于 2010-10-28 20:20 | 显示全部楼层
是该学习一下
刘前辈 发表于 2010-10-28 21:12 | 显示全部楼层
本帖最后由 刘前辈 于 2010-10-28 21:14 编辑

我以前做过,还获了奖,哈哈。

以前我用的Intel_8279,现在可以选用7219。一般人只知道8279是硬件128个键盘扫描(只能按键方式)芯片,实际上它还有个64路I/O 开关输入模式,任一开关闭合,都可发出中断。没有开关变化,CPU可以干别的。不用花额外时间扫描。
    而且我用的是在每个开关节点上都接一个光电耦合器接收端,发光二极管端开通或者闭合就相当于I/O开关通断了。这样每路开关都是绝缘的,可靠极了。跟LZ的应用差不多。LZ只要在7219  64个开关(按键)的两端接一个光敏二极管就行了。由于是专用硬件扫描工作,软件程序就简单多了。
syxjh 发表于 2010-10-28 21:15 | 显示全部楼层
好东西
syxjh 发表于 2010-10-28 21:16 | 显示全部楼层
古道热肠 发表于 2010-10-28 21:52 | 显示全部楼层
就是HC165就行了,分成8路,每路带8个HC165,共计64个点。8个64点单元板构成256个输入。依次方法扩充,上限无止境。
古道热肠 发表于 2010-10-28 21:53 | 显示全部楼层
也可用CPLD来做并入串出的移位寄存器,可减少PCB板的面积。
一级菜鸟 发表于 2010-10-28 23:32 | 显示全部楼层
几百个按键分布离散而且距离较远,不能这么玩的,试图把那么多按键当成都摆在一张桌子上,统统串起来的用法是想当然。

安全可靠的做法是设置MCU,每个MCU控制为数不多的距离较近较集中的10个或者10几个按键,所有的MCU通过485或者其他线路并联,用通讯协议轮询或者定时接力发送的方式按键状态。

MCU又不贵,比你胡扯乱拉一大堆线,要可靠实用的多得多
ejack 发表于 2010-10-29 07:59 | 显示全部楼层
我赞同ls的观点,应当分而治之。
机柜的面积这么大,而且LZ也没提到机箱里面有些什么东西,干扰如何,电源是否够干净……有时候那点地电位差就能把你搞死……
还有维护的问题、系统可靠性的问题(尽量抑制故障点扩散)
hu820 发表于 2010-10-29 08:13 | 显示全部楼层
另外加块按键板,用矩阵阵列,如果有很多按键需要同时按下,那你程序你好好设计就行了
gaobq 发表于 2010-10-29 08:40 | 显示全部楼层
用个多管脚的单片机,做个矩阵扫描就是了,比如STM32系列的就有144脚的封装,可用的GPIO很多,具体多少我没有查资料。不一定费用51
huangqi412 发表于 2010-10-29 08:59 | 显示全部楼层
400个,想想互相间距离也不会近。。。拉10米长的开关线???
SmartEnergy 发表于 2010-10-29 09:02 | 显示全部楼层
LZ,用摄像头,再加图像识别处理吧。有技术含量一点。
sysdriver 发表于 2010-10-29 13:26 | 显示全部楼层
还真是打开眼界啊,拿这个扫描程序就很大,不知道有没有长按短按的
恒宇 发表于 2010-11-26 10:25 | 显示全部楼层
20*20=400
月下狂想曲 发表于 2010-11-26 14:25 | 显示全部楼层
嗯,级连,分成行与列,应行
大道至简 发表于 2010-11-26 19:13 | 显示全部楼层
我是楼主,实际上是这样的。工业检测中检测器件,放在一个大的平台上(分隔放)。。有的地方有会放,有的后来被拿走,,要随时记录下哪些地方有器件,哪些地方没有。。我自己想,下面放一个光敏二极管,如果上面有东 ...
refresher 发表于 2010-10-28 12:33


这样的应用,应该设计成分布式的系统。每个单片机管理32个就够了,然后用485总线连接起来。系统更可靠。更容易维护。
大道至简 发表于 2010-11-26 19:14 | 显示全部楼层
一个大而全的系统,施工布线会累死你
wendongwei 发表于 2010-11-26 19:34 | 显示全部楼层
译码器
mcu5i51 发表于 2011-3-3 21:22 | 显示全部楼层
有专用的键盘芯片可以用,或者弄个便宜的MCU自己搭
承諾依舊 发表于 2015-3-26 22:36 | 显示全部楼层
级联更多的4017来扩展更大的规模的矩阵键图纸不会上传
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部