- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
键盘接口技术
概述
键盘输入设备及接口。键盘有编码键盘(ASCII码)及非编码键盘之分。
键盘要解决的问题有:
判断有无键按下(查询,中断);
识别按下的键(行扫描法,列扫描法,行列反转法);
去抖动(硬件法,软件法);
重键处理(软件第一次,键释放)。
键盘设计
去抖动
不稳定状态大约20ms。
硬件去抖动
R-S触发器
软件去抖动
延时20ms.
重键处理
重键:两个或两个以上键同时按下;或者一个键按下时,另一个键又按下。
处理方式:
扫描键盘,当有多个闭合键时,只识别最后一个按下的键。
确认一个闭合键之后,保持状态,只有当该键释放后再去处理,并开始识别其它键。
键盘结构
种类:线性键盘、矩阵键盘。
线性键盘
矩阵键盘
判断有无键按下(有键按下吗?)
方法:查询法、中断法。
查询法
行输出全0,输入列值,若不是全1,表示有键按下,但是是哪个键按下还不知道。
中断法
行输出全0,若有中断IR4表示有键按下了,但是是哪个键按下还不知道。
键的识别(按下的到底是哪个键?)
方法:行扫描法、列扫描法、行列反转法。
行扫描法
行输出,列输入。
行输出的值分别使某一行为低电平,输,输…0111111B。即行扫描。
行每输出一个扫描值,列都会读入,判断列中有无0,若有0,说明对应0的列中有键按下。
例如,行在输时,读入的列值,说明第一行,第二列有键按下。
列扫描法
列输出,行输入。方法与行扫描法相同中。
行列反转法
行输出,列输入;之后反转输出与输入,变为行输入,列输出。
(1)首先行输出全0,读入列值并保存,若有键按下,会有一个是0,表示某列有一个键按下,到底是哪行的键并不知道。
(2)之后行列输入输出反转,把上步骤读入的列值在列中输出,读入行值,行值中会有一个是0,0会位置表示某行有键按下,确定了是哪行的键按下了。
由列值确定了哪列有键按下;行值确定了哪行有键按下。两个合起来确定了按下键的行列位置。
对4x4矩阵键盘,有:
键值编号=行计数值x4+列计数值
对8x8矩阵键盘,有:
键值编号=行计数值x8+列计数值
什么是键值编号?什么是行计数值?什么是行列数值?
键值编号—功能键值的变换,查表方式。
综合
如何判断有无键按下?如何去抖动?如何识别到底是哪个键按下了?
以下都是用软件去抖动。重键处理方式相同。
查询方式、行扫描法
判断有无键按下:行输出全0,读入列值,是不是全1,若是全1,无键按下,否则有键按下。
延时20ms去抖动。
键识别:行扫描法识别到底是哪个键按下。
重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待。
见书中例子。P249
中断方式、行扫描法
初始化时行输出全0.
判断有无键按下: 有中断,表示有键按下。
延时20ms去抖动(中断服务程序中)。
键识别:行扫描法识别到底是哪个键按下(中断服务程序中)。
重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待(中断服务程序中)。
查询方式、行列反转扫描法
判断有无键按下:行输出全0,读入列值,是不是全1,若是全1,无键按下,否则有键按下。
延时20ms去抖动。
键识别:行列反转,在列中输出读入的列值,读行值,识别到底是哪个键按下。
重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待。
中断方式、行列反转扫描法
初始化时行输出全0.
判断有无键按下: 有中断,表示有键按下。
延时20ms去抖动(中断服务程序中)。
键识别:行列反转,在列中输出读入的列值,读行值,识别到底是哪个键按下(中断服务程序中)。
重键处理:行输出全0,列是否是全1,是全1时说明键已经松开,可以继续执行,否则查询等待(中断服务程序中)。
见p254
微机与键盘的接口
键盘扫描原理
扫描码=ON/OFF状态+键盘位置编号
格式:
键盘侧与微机的接口
微机侧键盘接口
PB6=0,禁止系统时钟PCLK;PB6=1允许时钟。
PB7=1,清74LS322和中断请求触发器;PB7=0允许74LS322工作。
键盘中断
键盘中断处理程序有中断类型码09H,16H, 21H三种方式。
明天实验考题:
编程实现在键盘上输入4个十六进制的值,在屏幕上显示其二进制的数据值。如键盘上输入F0F0之后,会在屏幕中显示为111100001111B。
9
您可能关注的文档
最近下载
- 2025年新能源发电行业分析报告及未来五到十年行业发展趋势报告.docx
- 未成年人出游免责协议书5篇.docx VIP
- 八年级体育教育教学计划..doc VIP
- 劳动教育(微课版):认识劳动PPT教学课件.pptx VIP
- 特高压输电系统温室气体减排方法学.PDF VIP
- (高清版)DGJ 08-2173-2016 展览建筑及布展设计防火规程.pdf VIP
- 高中英语【拓展阅读】Before You Feel Pressure 双语课件.pptx VIP
- 2025年新人教版数学三年级上册全册教案.pdf
- 社会心理学:文化心理学完整版.pptx VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
文档评论(0)