51单片机学习17(键盘接口).ppt

51单片机学习17(键盘接口).ppt

ID:48166442

大小:217.00 KB

页数:10页

时间:2020-01-17

51单片机学习17(键盘接口).ppt_第1页
51单片机学习17(键盘接口).ppt_第2页
51单片机学习17(键盘接口).ppt_第3页
51单片机学习17(键盘接口).ppt_第4页
51单片机学习17(键盘接口).ppt_第5页
资源描述:

《51单片机学习17(键盘接口).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、10.2键盘接口原理10.2.1键盘输入应解决的问题键盘输入的特点键盘:一组按键开关的集合。行线电压信号通过键盘开关机械触点的断开、闭合,其输出波形如图10-6。图10-6P.166行线上拉电阻???触点抖动1.独立式键盘接口各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。图10-7独立式键盘工作电路(适于键数较少、操作快、同时多键动作场合)10.2.2键盘接口的工作原理分独立式按键接口和行列式键盘接口。P.167程序处理方法与开关量输入相同2.行列式(矩阵式)键盘接口图1

2、0-94×4行列式键盘结构(扫描法)适于按键数目较多的场合;可节省很多的I/O口线;同时只会有一个键闭合的场合。行列式键盘按键的识别方法a.扫描法第1步:识别键盘有无键按下;驱动所有列线为‘0’,输入各行线电平如果有‘0’,就说明有键按下,如果行线电平全‘1’,则全部无键按下。第2步:如有键被按下,识别具体的按键。依序驱动某一列为‘0’,其余列均为‘1’,输入各行线电平,如果某行线电平为‘0’,可确定此行列交叉点处的按键被按下;如果行线电平全为‘1’则本列无按键按下。P.168输出口驱动列线输入口读取行线电平第1

3、步:列线输出为全‘0’,随后输入行线电平如有‘0’,则‘0’所在的行就是闭合的按键所在行;无‘0’则无键闭合。第2步:行线输出为全‘0’,随后输入列线电平如有‘0’,则‘0’所在的列就是闭合的按键所在列;无‘0’则无键闭合。结合上述两步,可确定按键所在行和列。图10-10线反转法原理图b.线反转法P.168PC3PC2PC1PC0PC4PC5PC6PC7实验板4×4键盘连接82C55的端口线采用线反转法的键盘行线、列线端口各自应当可以在输入与输出方式间切换!如图:高四位与低四位均可独立改变其输入或输出方式实验板键

4、盘扫描子程序(紫)如TEST2011.ASM所示。LCALLKEY;调用键盘扫描子程序(扫描到按键则在左第3、4位显示“键号、-”)实验板键盘接口设计实例4X4键盘接口初始为输入控制口FEFFH方式字:89H=10001001BFEFEH利用82C55的C口高低四位可分别定义为输入或输出,扩展4×4行列式键盘,以线反转法进行按键的识别及处理P2.0/A8【主工作程序中】KEY:MOVA,#81H;键盘扫描子程序(反转法)MOVDPTR,#0FEFFHMOVX@DPTR,A;C口先初始化为高4位输出驱行线、低4位输

5、入列线MOVDPTR,#0FEFEHMOVA,#00H;键盘行线(高4位)输出驱动全'0'MOVX@DPTR,AMOVXA,@DPTR;输入键盘列线电平(低4位)存60H单元MOV60H,AMOVA,#88H;C口改初始化为高4位输入行线、低4位输出驱列线MOVDPTR,#0FEFFHMOVX@DPTR,AMOVDPTR,#0FEFEHMOVA,#00H;键盘列线(低4位)输出驱动全'0'MOVX@DPTR,AMOVXA,@DPTR;输入键盘行线电平(高4位)在A中ANL60H,#0FH;列线电平值保留所在的低4

6、位ANLA,#0F0H;行线电平值保留所在的高4位ORL60H,A;两次输入的列线电平值、行线电平值组合成8位行列码TEST2011.ASM键盘扫描子程序--1MOV61H,#00H;置键号初值为00HMOVR5,#10H;设定最多进行16次的键码查表MOVDPTR,#KEY_N;键码表首地址KY:MOVA,#00H;A清0MOVCA,@A+DPTR;查表读取键码表中当前位置键码CJNEA,60H,NK;与8位行列码比较,不同则转NK查下一个SJMPKN;相同则转KN根据已获取的键号进行相应处理NK:INC61H

7、;键号加1INCDPTR;指向键值表下一个位置DJNZR5,KY;未查完,继续RET;查完,说明无按键或出现异常行列码则返回(键号=10H)KEY_N:DB0EEH,0EDH,0EBH,0E7H;键码表。K0,K1,K2,K3键码DB0DEH,0DDH,0DBH,0D7H;K4,K5,K6,K7键码DB0BEH,0BDH,0BBH,0B7H;K8,K9,K10,K11键码DB7EH,7DH,7BH,77H;K12,K13,K14,K15键码TEST2011.ASM键盘扫描子程序--200H+键号+KEY_NKN:

8、MOVA,61H;根据查表获得的键号00H~0FH之一转向相应处理程序MOVB,#05H;转移表中每个键号处理程序占5个地址单元MULABMOVDPTR,#K0JMP@A+DPTR;转向对应的键号处理程序K0:MOV35H,#0;各键号处理程序:将键号送35H单元(使键号显示在左第三位)SJMPRT0K1:MOV35H,#01HSJMPRT0K2:MOV35H,#02HS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。