找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4562|回复: 13
打印 上一主题 下一主题
收起左侧

求矩阵键盘原理的学习资料或者学习链接

[复制链接]
跳转到指定楼层
楼主
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2016-10-19 18:46 | 只看该作者
本帖最后由 zl2168 于 2016-10-19 19:05 编辑

实例75  4×4矩阵式键盘
键盘与CPU的连接方式可以分为独立式按键和矩阵式键盘。
独立式按键已在实例69~实例72中介绍。
矩阵式键盘又称行列式键盘,I/O端线分为行线和列线,按键跨接在行线和列线上,组成一个键盘。按键按下时,行线与列线连通,输出键信号。其特点是占用I/O端线较少,但需要扫描获取键信号,软件结构较复杂,可适用于按键较多的场合。本节介绍矩阵式键盘。
4×4矩阵式键盘4根行线和4根列线,可连接16个按键,组成一个键盘。与独立式按键相比,16个按键只占用8I/O端线。

Proteus仿真一下,确认有效。
实例75 4×4矩阵式键盘.rar (44.8 KB, 下载次数: 9)
需要说明的是,上述电路在许多单片机教材和技术资料中被介绍,但实际上该电路连接存在问题。当同一行有多键同时按下(带锁),且该行其中一键所在列又有多键同时按下时,会发生信号传递路径出错。例如,K1K2K8K9同时按下,当P1.4行扫描输出低电平时,按理,仅有P1.2P1.1会因K2K1闭合而得到低电平列信号。但由于K2K9同列且K8K9同行,P1.4输出的低电平信号会通过K1K9K8传递到P1.0,产生低电平列信号,引起出错。同理,当P1.6行扫描输出低电平时,其低电平信号会通过K9K1K2传递到P1.2,产生低电平列信号,引起出错。不出错的条件是多键行与多键列不交叉。因此,这种矩阵式键盘电路适用于无锁按键。


以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1


书中电路和程序设计有详细说明,程序语句条条有注解。


回复

使用道具 举报

板凳
ID:111634 发表于 2016-10-19 19:06 | 只看该作者
本帖最后由 zl2168 于 2016-10-19 19:19 编辑

实例76  8279扩展8×8键盘


8279简介


8279是一种通用可编程键盘、显示器接口芯片,能同时完成键盘输入和显示控制两种功能。最多可与64个按键或16LED显示器相连,能对键盘自动扫描,自动消除开关抖动,自动识别出闭合键并给出编码,具有多键同时按下保护功能。采用8279作为键盘、显示接口,不但可以扩展并行口,而且还能简化键处理和显示程序,提高CPU工作效率。


引脚与功能   …
⑵ .可编程命令字   …
⑶ 状态字   …






电路设计
设计8279扩展8×8键盘和8位显示电路,如图6-16所示。
程序设计
Keil调试
Proteus仿真
实例76 8279扩展键盘和显示.rar (125.29 KB, 下载次数: 5)


Proteus仿真一下,确认有效。

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1
书中电路和程序设计有详细说明,程序语句条条有注解。



回复

使用道具 举报

地板
ID:123289 发表于 2016-10-19 19:17 | 只看该作者
这个范例中,多了个74HC21,不是很科学的。
回复

使用道具 举报

5#
ID:111634 发表于 2016-10-19 19:29 | 只看该作者
本帖最后由 zl2168 于 2016-10-19 19:35 编辑
yzwzfyz 发表于 2016-10-19 19:17
这个范例中,多了个74HC21,不是很科学的。

74LS21为4输入端与门,用于按键闭合即时产生的中断信号。采用中断控制方式,可对键盘操作及时作出响应。
在单片机应用系统中,键盘处理工作仅是CPU工作内容的一部分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用CPU太多时间,又需要对键盘操作能及时作出响应。CPU对键盘处理控制的工作方式有以下几种:
⑴ 程序控制扫描方式
程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。程序控制扫描方式的键处理程序固定在主程序的某个程序段。当主程序运行到该程序段时,依次扫描键盘,判断有否键输入。若有,则计算按键编号,执行相应键功能子程序。这种工作方式,对CPU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。
⑵ 定时控制扫描方式
定时控制扫描方式是利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。定时控制扫描方式与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。
⑶ 中断控制方式
中断控制方式是利用外部中断源,响应键输入信号。当无按键按下时,CPU执行正常工作程序。当有按键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。
回复

使用道具 举报

6#
ID:111634 发表于 2016-10-19 19:30 | 只看该作者
本帖最后由 zl2168 于 2016-10-19 19:38 编辑

实例77  74HC595+165扩展8×8键盘


电路设计
扩展8×8键盘电路也可利用串行移位寄存器,组成8位行线和8位列线,跨接64个按键矩阵,如6-20所示。



Proteus仿真一下,确认有效。
实例77 74LS595 165扩展8×8键盘.rar (65.99 KB, 下载次数: 4)


以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1


书中电路和程序设计有详细说明,程序语句条条有注解。


回复

使用道具 举报

7#
ID:123289 发表于 2016-10-19 20:19 | 只看该作者
单独显示一个LED,CPU时间足够,省去74HC21,可节省PCB板的面积,省IC的钱也省了PCB板的钱。
回复

使用道具 举报

8#
ID:111634 发表于 2016-10-19 20:33 | 只看该作者
yzwzfyz 发表于 2016-10-19 20:19
单独显示一个LED,CPU时间足够,省去74HC21,可节省PCB板的面积,省IC的钱也省了PCB板的钱。

考虑问题有不同的角度,都是可以的。但单片机应用通常不是一个键盘,键盘静静是一个对话的工具,还有许多其他功能,这部分功能的程序量或运行时间可能较长。就要避免不必要的键盘空扫描。
回复

使用道具 举报

9#
ID:111634 发表于 2016-10-19 20:40 | 只看该作者
第6章  键盘


6.1  独立式按键


实例69  74HC373并行输入8位按键状态


实例70  74HC165串行输入8位按键状态


实例71  CC4021串行输入8位按键状态


实例72  CC4014串行输入8位按键状态


实例73  74HC148编码输入8位按键状态


实例74  按键扩展shif t功能


6.2  矩阵式键盘


实例75  4×4矩阵式键盘


实例76 8279扩展8×8键盘


实例77 74HC595+165扩展8×8键盘


实例78  电子密码锁


以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1
书中电路和程序设计有详细说明,程序语句条条有注解。

回复

使用道具 举报

10#
ID:143334 发表于 2016-10-19 23:49 | 只看该作者
zl2168 发表于 2016-10-19 18:46
实例75  4×4矩阵式键盘
键盘与CPU的连接方式可以分为独立式按键和矩阵式键盘。独立式按键已在实例69~实 ...

谢谢你的帮助 ! 我会好好学习的。
回复

使用道具 举报

11#
ID:111634 发表于 2016-10-20 07:44 | 只看该作者
功能齐全的电子密码锁
回复

使用道具 举报

12#
ID:143544 发表于 2016-10-20 10:16 | 只看该作者
回复

使用道具 举报

13#
ID:123289 发表于 2016-10-20 11:29 | 只看该作者
当多键同共同作用时,74HC21产生中断是无效果的:
如:其中有一个键是“CTRL",我们要用CTRL+1,+2,+3,来设置一个事件(如密码)。
当“CTRL"按下后,中断产生了,但这是“1”、“2”、“3”尚未按下,如何进展呢,需要等待“1”、“2”、“3”的键入,但之后再按的“1”、“2”、“3”,是不会再有中断了(“CTRL"还按在下)。
仍然需要扫键解决问题。
此外,还有长按的问题。、“多键”与“长按”乃是需要扫键完成的。总不能中断后不退出中断,死等“长按”“组合的后续键”键入,不等,强进退出,则一退出就又中断(键未松)。
回复

使用道具 举报

14#
ID:123289 发表于 2016-10-20 11:32 | 只看该作者
结合7楼所述,键阵:不建议用74HC21。
但不是不可以用。特殊情况下还是可以的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表