C51矩阵键盘的检测
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
资料仅供参考
矩阵键盘检测的控制方式
顺序查询方式 ➢单片机主程序通过调用键盘扫描子程序,查询 有无按键按下。 ➢何时调用键盘扫描子程序,何时扫描键盘;否 则不进行键盘的扫描。
11
资料仅供参考
矩阵键盘检测的控制方式
定时扫描方式 ➢每隔一段时间调用键盘扫描子程序对键盘扫描 一次。 ➢利用单片机内部的定时器产生一定时间(例 10ms)的定时,当定时时间到就产生定时器溢 出中断。CPU响应中断后对键盘进行扫描,并 在有键按下时识别出该键,再执行该键的功能 程序。
13
资料仅供参考
矩阵键盘案例(1)--线反转法
矩阵键盘控制2位数码管显示,分别按下0-15号按 键,数码管显示对应的键号,最初无键按下时数 码管显示16,用线反转法实现。
参考程序见“矩阵键盘-线反转法”
14
资料仅供参考
矩阵键盘案例(1)--线反转法
15
资料仅供参考
矩阵键盘案例(2)--行扫描法+定时扫描
1)行扫描法
➢ 通过行线发出低电平信号,如果该行线所连接的键没有 按下的话,则列线所接的端口得到的是全“1”信号, 如果有键按下的话,则得到非全“1”信号。
➢ 为了防止双键或多键同时按下,往往从第0行一直扫描 到最后1行,若只发现1个闭合键,则为有效键,否则全 部作废。
➢ 找到闭合键后,读入相应的键值,再转至相应的键处理 程序。
2)线反转法
➢ 先将行线作为输出线,列线作为输入线,行线输出 全“0”信号,读入列线的值;
➢ 然后将行线和列线的输入输出关系互换,并且将刚 才读到的列线值从列线所接的端口输出,再读取行 线的输入值。那么在闭合键所在的行线上值必为0。 这样,当一个键被按下时,必定可读到一对唯一的 行列值。
➢键值 = 行值 | 列值 查表得键号。
V CC G ND RX D TX D A LE/P PSE N
21 22 23 24 25 26 27 28
40 20 10 11 30 29
P12 K8 P13 K12
P14 P15 P16 P17
8 K9 C K13
9 K10 D K14
A K11 E K15
B F
7
资料仅供参考
矩阵键盘的检测方法
4*4矩阵式键盘
3
资料仅供参考
矩阵键盘的结构
矩阵键盘特点
➢ 电路结构复杂,但提高了I/O引脚的利用率,软件编程 较复杂,适用于所需按键较多的场合。
矩阵键盘的检测需解决以下问题:
➢ 1、开关状态的可靠输入——可设计硬件去抖动电路或 设计去抖动软件。
➢ 2、键盘检测的方法(即如何编写键盘扫描函数)。 ➢ 3、键盘检测的控制方式(即扫描函数如何被调用)——
资料仅供参考
教学内容
矩阵键盘的结构 矩阵键盘的检测方法 矩阵键盘的编程操控及功能处理
1
资料仅供参考
教学要求
掌握独立键盘的检测原理及软件编程方法 ➢行扫描法 ➢线反转法
2
资料仅供参考
矩阵键盘的结构
矩阵键盘实际上是 由排列成矩阵形式 的一系列按键开关 组成,用户通过键 盘可以向CPU输入数 据、地址和命令。 常见的接口电路如 右图所示。
18
资料仅供参考
思考题
中断式矩阵键盘如何与单片机连接电路?
19
资料仅供参考
预习内容 本周小课
➢行扫描法的原理是什么?键值如何得到? ➢线反转法的原理是什么?键值如何得到? 下周大课 ➢串行通信基础知识 ➢80C51串口结构及其工作方式0
20
8
资料仅供参考
矩阵键盘的检测方法
以4*4矩阵键盘接P3口为例 ➢先列扫描置P3=0xf0,当有键按下得列值,再行 扫描置P3=0x0f,当有键按下得行值,最后合并 行列值得键值。
9
资料仅供参考
矩阵键盘检测的控制方式
单片机在运行过程中,何时进行键盘扫描和处理, 有以下几种方式: ➢顺序查询方式 ➢定时扫描方式 ➢中断方式
➢ 键号 = 行首键号(0、4、8、12)+列号(0、1、2、3)
6
资料仅供参考
矩阵键盘的检测方法
U1
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
P00 P01 P02 P03 P04 P05 P06 P07
矩阵键盘控制2位数码管显示,分别按下0-15号按 键,数码管显示对应的键号,最初无键按下时数 码管显示16,用行扫描法+定时扫描实现。
参考程序见“矩阵键盘-行扫描法+定时扫描”
16
资料仅供参考
矩阵键盘案例(2)--行扫描法+定时扫描
17
资料仅供参考
小结
矩阵键盘的检测:
➢按键的识别:行扫描法、线反转法; ➢软件消抖及松手检测; ➢按键按下的处理
12
资料仅供参考
矩阵键盘检测的控制方式
中断方式
➢为提高CPU工作效率,可 采用中断扫描工作方式。 其工作过程如下:当无键 按下时,CPU处理自己的 工作,当有键按下时,产 生中断请求,CPU转去执 行键盘扫描子程序,并识 别键号。
80C51
&
INT0
P1.0 P1.1 P1.2 P1.3
P1.4 P1.5 P1.6 P1.7
顺序查询方式、定时查询方式和中断方式。 ➢ 4、键盘控制程序的编写。
4
资料仅供参考
按键的消抖
按键抖动时间约5ms-10ms,可软 件消抖或者硬件消抖。
软件消抖:延时约10ms再次判断。 硬件消抖:并联电容或双稳态消
抖电路。
消抖电路
5
资料仅供参考
矩阵键盘的检测方法
矩阵键盘识别按键的方法有两种:一是行扫描法, 二是线反转法。
39 38 37 36 35 34 33 32
K0
P10
K4
P11
0 K1 4 K5
1 K2 5 K6
2 K3 6 K7
3 7
13 12
15 14
31
19 18
9
17 16
INT 1 INT 0
T1 T0
89C52
EA /V P
X1 X2
RE SET
百度文库
RD WR
P20 P21 P22 P23 P24 P25 P26 P27
资料仅供参考
矩阵键盘检测的控制方式
顺序查询方式 ➢单片机主程序通过调用键盘扫描子程序,查询 有无按键按下。 ➢何时调用键盘扫描子程序,何时扫描键盘;否 则不进行键盘的扫描。
11
资料仅供参考
矩阵键盘检测的控制方式
定时扫描方式 ➢每隔一段时间调用键盘扫描子程序对键盘扫描 一次。 ➢利用单片机内部的定时器产生一定时间(例 10ms)的定时,当定时时间到就产生定时器溢 出中断。CPU响应中断后对键盘进行扫描,并 在有键按下时识别出该键,再执行该键的功能 程序。
13
资料仅供参考
矩阵键盘案例(1)--线反转法
矩阵键盘控制2位数码管显示,分别按下0-15号按 键,数码管显示对应的键号,最初无键按下时数 码管显示16,用线反转法实现。
参考程序见“矩阵键盘-线反转法”
14
资料仅供参考
矩阵键盘案例(1)--线反转法
15
资料仅供参考
矩阵键盘案例(2)--行扫描法+定时扫描
1)行扫描法
➢ 通过行线发出低电平信号,如果该行线所连接的键没有 按下的话,则列线所接的端口得到的是全“1”信号, 如果有键按下的话,则得到非全“1”信号。
➢ 为了防止双键或多键同时按下,往往从第0行一直扫描 到最后1行,若只发现1个闭合键,则为有效键,否则全 部作废。
➢ 找到闭合键后,读入相应的键值,再转至相应的键处理 程序。
2)线反转法
➢ 先将行线作为输出线,列线作为输入线,行线输出 全“0”信号,读入列线的值;
➢ 然后将行线和列线的输入输出关系互换,并且将刚 才读到的列线值从列线所接的端口输出,再读取行 线的输入值。那么在闭合键所在的行线上值必为0。 这样,当一个键被按下时,必定可读到一对唯一的 行列值。
➢键值 = 行值 | 列值 查表得键号。
V CC G ND RX D TX D A LE/P PSE N
21 22 23 24 25 26 27 28
40 20 10 11 30 29
P12 K8 P13 K12
P14 P15 P16 P17
8 K9 C K13
9 K10 D K14
A K11 E K15
B F
7
资料仅供参考
矩阵键盘的检测方法
4*4矩阵式键盘
3
资料仅供参考
矩阵键盘的结构
矩阵键盘特点
➢ 电路结构复杂,但提高了I/O引脚的利用率,软件编程 较复杂,适用于所需按键较多的场合。
矩阵键盘的检测需解决以下问题:
➢ 1、开关状态的可靠输入——可设计硬件去抖动电路或 设计去抖动软件。
➢ 2、键盘检测的方法(即如何编写键盘扫描函数)。 ➢ 3、键盘检测的控制方式(即扫描函数如何被调用)——
资料仅供参考
教学内容
矩阵键盘的结构 矩阵键盘的检测方法 矩阵键盘的编程操控及功能处理
1
资料仅供参考
教学要求
掌握独立键盘的检测原理及软件编程方法 ➢行扫描法 ➢线反转法
2
资料仅供参考
矩阵键盘的结构
矩阵键盘实际上是 由排列成矩阵形式 的一系列按键开关 组成,用户通过键 盘可以向CPU输入数 据、地址和命令。 常见的接口电路如 右图所示。
18
资料仅供参考
思考题
中断式矩阵键盘如何与单片机连接电路?
19
资料仅供参考
预习内容 本周小课
➢行扫描法的原理是什么?键值如何得到? ➢线反转法的原理是什么?键值如何得到? 下周大课 ➢串行通信基础知识 ➢80C51串口结构及其工作方式0
20
8
资料仅供参考
矩阵键盘的检测方法
以4*4矩阵键盘接P3口为例 ➢先列扫描置P3=0xf0,当有键按下得列值,再行 扫描置P3=0x0f,当有键按下得行值,最后合并 行列值得键值。
9
资料仅供参考
矩阵键盘检测的控制方式
单片机在运行过程中,何时进行键盘扫描和处理, 有以下几种方式: ➢顺序查询方式 ➢定时扫描方式 ➢中断方式
➢ 键号 = 行首键号(0、4、8、12)+列号(0、1、2、3)
6
资料仅供参考
矩阵键盘的检测方法
U1
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
P00 P01 P02 P03 P04 P05 P06 P07
矩阵键盘控制2位数码管显示,分别按下0-15号按 键,数码管显示对应的键号,最初无键按下时数 码管显示16,用行扫描法+定时扫描实现。
参考程序见“矩阵键盘-行扫描法+定时扫描”
16
资料仅供参考
矩阵键盘案例(2)--行扫描法+定时扫描
17
资料仅供参考
小结
矩阵键盘的检测:
➢按键的识别:行扫描法、线反转法; ➢软件消抖及松手检测; ➢按键按下的处理
12
资料仅供参考
矩阵键盘检测的控制方式
中断方式
➢为提高CPU工作效率,可 采用中断扫描工作方式。 其工作过程如下:当无键 按下时,CPU处理自己的 工作,当有键按下时,产 生中断请求,CPU转去执 行键盘扫描子程序,并识 别键号。
80C51
&
INT0
P1.0 P1.1 P1.2 P1.3
P1.4 P1.5 P1.6 P1.7
顺序查询方式、定时查询方式和中断方式。 ➢ 4、键盘控制程序的编写。
4
资料仅供参考
按键的消抖
按键抖动时间约5ms-10ms,可软 件消抖或者硬件消抖。
软件消抖:延时约10ms再次判断。 硬件消抖:并联电容或双稳态消
抖电路。
消抖电路
5
资料仅供参考
矩阵键盘的检测方法
矩阵键盘识别按键的方法有两种:一是行扫描法, 二是线反转法。
39 38 37 36 35 34 33 32
K0
P10
K4
P11
0 K1 4 K5
1 K2 5 K6
2 K3 6 K7
3 7
13 12
15 14
31
19 18
9
17 16
INT 1 INT 0
T1 T0
89C52
EA /V P
X1 X2
RE SET
百度文库
RD WR
P20 P21 P22 P23 P24 P25 P26 P27