第4章键盘输入及中断讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S13
1
S2
S6
S10 S14
1
S3
S7
S11 S15
1
0000
扫描键盘
置scan=11101111
Scan扫描
函数框图
Col=0
col列号 row行列号
否 有键盘压下?
扫描第0列:11101111
继直 续接 扫扫 下 下读 一 一下 列 列一
行是
是
是 Row=0
查到按键? 否
Row+1<4? 否
行 temp 0 00000001 1 00000010 2 00000100 3 00001000
逐 行 比 较
0 x01左移row位: row 结果
0 00000001 1 00000010 2 00000100 3 00001000
不再扫描其他 键,跳出循环 直接“带着结 果”返回啦!
扫第0列、读第1行U1 AT89C51
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
P00 P01 P02 P03 P04 P05 P06 P07
39 38 37 36 35 34 33 32
13 12
INT1 INT0
15 14
T1 T0
31
EA/VP
1 2 3 4 5 6 7 8
PR1 1 00
S0
S4
S8
S12
S1
S5
S9
S13
S2
S6
S10 S14
S3
S7
S11 S15
定义矩阵键盘“意义”
这个表(数组)与键的布局(硬件)及扫 描的方式(软件)有关
95
1 0 190
11 1
12 2
13 4
14 6
15 7
16
8
7
6
5
4
3
2
1
PR1
元素编号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 11040 15 16
如先3111111果123456781982345扫压第EXXIITTPPPPPPPP“NNA1111111101120TT01234567/01V9列P”、,读通第过U0编1行程A、T,PPPPPPPPPPPPPPPP890000000022222222第0123456701234567C返5 11回行S恰键值3333333322222222 9876543212345678后它…好的”的的…(就“地数键是键址字值该) (地址列)=0SSSS列0123 *41SSSS+4567 行=2SSSS2118901*4+SSSS3111102345=8行0123
19 18
X1 X2
P20 P21 P22 P23 P24 P25 P26 P27
21 22 23 24 25 26 27 28
1 2 3 4 5 6
1101 7 8
列0 1 2
S0 S4 S8
S1 S5 S9
S2
S6
S10
S3
S7
S11
011
9
10
3行 0
S12
1 S13
2 S14
3 S15 1
LED
Col+1<4?
扫描第1列:11011111
扫描第2列:10111111
是
扫描第3列:01111111
一般不会出现这种情况,
因为调用这个函数之前,
已确认有键压下
键值=row+4*col
0 4 8 12
未得到键值 否
1 5 9 13
返回
得到键值
2 6 10 14 3 7 11 15
~(Sacn)&0x0f
P20 P21 P22 P23 P24 P25 P26 P27
21 22 23 24 25 26 27 28
ห้องสมุดไป่ตู้
16
1 2 3 4 5 6 7 8
点击视频文件视频\
PR1
键盘4-4.AVI
1 00
S0
S4
S8
S12
S1
S5
S9
S13
S2
S6
S10 S14
S3
S7
S11 S15
3 8
+5V LED
a b c com d com e f
39 38 37 36 35 34 33 32
1 1
23~P2IINN=TT101 1110000
P20 P21
1 1
45~0Px20TT&f01=00x000f0=101x1010
31=00E0A0/V0P 000
19
X1
P22 P23 P24 P25 P26 P27
21 22 23 24 25 26 27 28
再197查kReEySEbTiao的第8个元RTXXDD素得311到010 “9”,——说明是压下了键“9”
a b c co d co e f gd p
计算键值(地址) =列*4+行 =0*4+1=1
16 15 7 14 6 13 4 12 2 11 1 1 0 190 95
元素编号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 P11R0041 15 16
16
1 2 3 4 5 6 7 8
15 7 14 6 13 4 12 2 11 1 1 0 190 95
4个“列线”都是0,只 有所有键均未压下(低4位 全是1) ,~P2&0x0f =0; 只要有键压下(低4位不是 全P1R)1, ~P2&0xff就不等 于1000。
S0
S4
S8
S12
1
S1
S5
S9
a b c com d com e f gd p
这个函数主要是检测有无按键压下? 低4位做输入
(必须置U11 ) AT89C51
例12345678SPa如2cPPPPPPPP=n:11111111012345670定00义0在11P112口
P00 P01 P02 P03 P04 P05 P06 P07
第4章 键盘输入及中断
4.1 概述(略,自学) 4.2 独立按键(在第2章已涉及) 4.3 4×4矩阵键盘
4.3 4×4矩阵键盘
4.3.1 4×4矩阵键盘 按键型
等效电路
不同布局的4×4薄膜矩阵键盘
4×4薄膜矩阵 键盘内部结构
薄金属片
a b c com d com e f
4.3.2 矩阵键盘应用
+5V
LED
3 8
gd p
要求:压数字键时,在 数码管上显示相应的数 字,压其他键时数码管 不显示。
95
15 7 14 6 13 4 12 2 11 1 1 0 190
U1 AT89 C5 1
P00 P01 P02 P03 P04 P05 P06 P07
39 38 37 36 35 34 33 32
gd p
95
15 7 14 6 13 4 12 2 11 1 1 0 190
16
U1 AT89 C5 1
P00 P01 P02 P03 P04 P05 P06 P07
39 38 37 36 35 34 33 32
P20 P21 P22 P23 P24 P25 P26 P27
21 22 23 24 25 26 27 28