- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
键盘处理程序的任务是: 确定有无键按下; 判哪一个键按下, 键的功能是什么; 还要消除按键在闭合或断开时的抖动。 两个并行口中,一个输出扫描码, 使按键逐行动态接地(称行扫描),另一个并行口输入按键状态(称回馈信号,键盘的列值), 由行扫描值和回馈信号共同形成键编码而识别按键、通过软件查表,查出该键的功能。也可由硬件编码器完成键的编码。 下图中,用8XX51的并行口P1接4×4矩阵键盘,以P1.0~P1.3作输出线,以P1.4~P1.7作输入线,键盘扫描程序的流程如图5.7所示。 5 a EE DE BE 7E ED DD BD 7D EB DB BB 7B E7 D7 B7 77 Y 返回键编码 读P1.3~P1.4值 置行扫描初值 扫描位从P1口输出 P1口的高四位和低四位 相或得键编码 扫到最后一行? N N(有键按下) N 开始 P1.0~P1.3输出0 延时去抖动 P1.4~P1.7全为1? P1.4~P1.7全为1? Y Y(无键按下) 对键盘的程序流程图5.7说明如下: 当P1.0~P1.3输出0时,如无键按下,P1.4~P1.7的输入值均为“1”,如果其中有一个不是 “1”,说明有键按下,再使P1.0~P1.3逐个输出零(行扫描),检查P1.4~P1.7的输入值有 无零,从而查出是哪行哪列的键按下。在判按键时,按键有抖动,可采用延时后再重读以跳 过抖动时段(也可用R-S触发器闩锁电路硬件消抖,但这样电路复杂,在矩阵键盘中不采用)。 ORG 0000H TEST: MOV P1,#0F0H;P1.0~P1.3输出0, P1.4~P1.7输出1,作输入位 MOV A,P1 ;读键盘,检测有无键按下 ANL A,#0F0H ;屏蔽P1.0~P1.3,检测P1.4~P1.是否全为1 CJNE A, #0F0H,HAVE ;P1.4~P1.7不全为1,有键按下 SJMP TEST ;P1.4~P1.7全为1,无键按下,重检测键盘 HAVE: ACALL DAY ;延时去抖动 MOV A,#0FE ;有键按下,逐行扫描键盘,置扫描初值 NEXT: MOV B,A ;扫描码暂存于B MOV P1,A ;输出扫描码 READ: MOV A,P1 ;读键盘 ANL A,#0F0H ; 屏蔽P1.0~P1.3, 检测P1.4~P1.是否全为1 CJNE A,#0F0H, AREAD ;P1.4~P1.7不全为1, 该行有键按下 MOV A,B ;被扫行无键按下,准备查下一行 RL A ;置下一行扫描码 CJNE A,#0EFH,NEXT ;未扫到到最后一行循环 AREAD: MOV A,P1 ;再读键盘 ANL A,#0F0H ; 屏蔽P1.0~P1.3,保留P1.4~P1.7(列码) MOV R2,A ;暂存列码 MOV A, B ANL A,#0FH ;取行扫描码 ORL A,R2 ;行码、列码合并为键编码 YES1: MOV B,A ;键编码存于B LJMP SAM38 ;转键分析处理程序(见例3-8) … 程序清单如下: #include <reg51.h> #define uchar unsigned char#define uint unsigned intvoid dlms (void);uchar kbscan(void); /* 函数说明 */void main (void){uchar key;while (1){key=kbscan();/*调键扫描函数,返回键 码送key保存*/ dlms(); } } void dlms (void) /* 延时 */ {uchar i; for (i=200;i>0;i--){ } } uchar kbscan (voi
您可能关注的文档
- 第五章 备份与恢复.ppt
- 第五章 边界值测试.ppt
- 第五章 编码与调制.ppt
- 第五章 标准总线通信.ppt
- 第五章 表格与表单.ppt
- 第五章 并发服务器.ppt
- 第五章 并行存储器扩展.ppt
- 第五章 波形发生电路.ppt
- 第五章 补充 常用压缩编码方法.ppt
- 第五章 裁剪、反走样方法.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)