收藏 分销(赏)

ch20-键盘接口技术.doc

上传人:pc****0 文档编号:7781342 上传时间:2025-01-16 格式:DOC 页数:9 大小:149.50KB
下载 相关 举报
ch20-键盘接口技术.doc_第1页
第1页 / 共9页
ch20-键盘接口技术.doc_第2页
第2页 / 共9页
ch20-键盘接口技术.doc_第3页
第3页 / 共9页
ch20-键盘接口技术.doc_第4页
第4页 / 共9页
ch20-键盘接口技术.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、第20章 键盘接口技术概述键盘输入设备及接口。键盘有编码键盘(ASCII码)及非编码键盘之分。键盘要解决的问题有:l 判断有无键按下(查询,中断);l 识别按下的键(行扫描法,列扫描法,行列反转法);l 去抖动(硬件法,软件法);l 重键处理(软件第一次,键释放)。20.1. 键盘设计1. 去抖动不稳定状态大约20ms。l 硬件去抖动R-S触发器l 软件去抖动延时20ms.2. 重键处理重键:两个或两个以上键同时按下;或者一个键按下时,另一个键又按下。处理方式:l 扫描键盘,当有多个闭合键时,只识别最后一个按下的键。l 确认一个闭合键之后,保持状态,只有当该键释放后再去处理,并开始识别其它键。

2、3. 键盘结构种类:线性键盘、矩阵键盘。l 线性键盘l 矩阵键盘20.2. 判断有无键按下(有键按下吗?)方法:查询法、中断法。l 查询法行输出全0,输入列值,若不是全1,表示有键按下,但是是哪个键按下还不知道。l 中断法行输出全0,若有中断IR4表示有键按下了,但是是哪个键按下还不知道。20.3. 键的识别(按下的到底是哪个键?)方法:行扫描法、列扫描法、行列反转法。1. 行扫描法行输出,列输入。行输出的值分别使某一行为低电平,输出11111110B,输出11111101,0111111B。即行扫描。行每输出一个扫描值,列都会读入,判断列中有无0,若有0,说明对应0的列中有键按下。例如,行在

3、输出11111110B时,读入的列值为11111101B,说明第一行,第二列有键按下。2. 列扫描法列输出,行输入。方法与行扫描法相同中。3. 行列反转法行输出,列输入;之后反转输出与输入,变为行输入,列输出。(1)首先行输出全0,读入列值并保存,若有键按下,会有一个是0,表示某列有一个键按下,到底是哪行的键并不知道。(2)之后行列输入输出反转,把上步骤读入的列值在列中输出,读入行值,行值中会有一个是0,0会位置表示某行有键按下,确定了是哪行的键按下了。由列值确定了哪列有键按下;行值确定了哪行有键按下。两个合起来确定了按下键的行列位置。对4x4矩阵键盘,有:键值编号=行计数值x4+列计数值对8

4、x8矩阵键盘,有:键值编号=行计数值x8+列计数值什么是键值编号?什么是行计数值?什么是行列数值?键值编号功能键值的变换,查表方式。20.4. 综合如何判断有无键按下?如何去抖动?如何识别到底是哪个键按下了?以下都是用软件去抖动。重键处理方式相同。1. 查询方式、行扫描法l 判断有无键按下:行输出全0,读入列值,是不是全1,若是全1,无键按下,否则有键按下。l 延时20ms去抖动。l 键识别:行扫描法识别到底是哪个键按下。l 重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待。见书中例子。P2492. 中断方式、行扫描法l 初始化时行输出全0.l 判断有无键

5、按下: 有中断,表示有键按下。l 延时20ms去抖动(中断服务程序中)。l 键识别:行扫描法识别到底是哪个键按下(中断服务程序中)。l 重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待(中断服务程序中)。3. 查询方式、行列反转扫描法l 判断有无键按下:行输出全0,读入列值,是不是全1,若是全1,无键按下,否则有键按下。l 延时20ms去抖动。l 键识别:行列反转,在列中输出读入的列值,读行值,识别到底是哪个键按下。l 重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待。4. 中断方式、行列反转扫描法l 初始化时行输出全

6、0.l 判断有无键按下: 有中断,表示有键按下。l 延时20ms去抖动(中断服务程序中)。l 键识别:行列反转,在列中输出读入的列值,读行值,识别到底是哪个键按下(中断服务程序中)。l 重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待(中断服务程序中)。见p25420.5. 微机与键盘的接口1. 键盘扫描原理扫描码=ON/OFF状态+键盘位置编号格式:2. 键盘侧与微机的接口3. 微机侧键盘接口PB6=0,禁止系统时钟PCLK;PB6=1允许时钟。PB7=1,清74LS322和中断请求触发器;PB7=0允许74LS322工作。20.6. 键盘中断键盘中断处理程序有中断类型码09H,16H, 21H三种方式。明天实验考题:编程实现在键盘上输入4个十六进制的值,在屏幕上显示其二进制的数据值。如键盘上输入F0F0之后,会在屏幕中显示为111100001111B。9

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服