片机学习17(键盘接口1

片机学习17(键盘接口1

ID:39830418

大小:217.00 KB

页数:10页

时间:2019-07-12

片机学习17(键盘接口1_第1页
片机学习17(键盘接口1_第2页
片机学习17(键盘接口1_第3页
片机学习17(键盘接口1_第4页
片机学习17(键盘接口1_第5页
资源描述:

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

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

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

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

4、.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位输入列线MOVDPTR,#0FEFEHMOVA,#

5、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位ANLA,#0F0H;行线电平值保留所在的高4位ORL60

6、H,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;键号加1INCDPTR;指向键值表下一个位置DJNZR5,KY;未查完

7、,继续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:MOVA,61H;根据查表获得的键号00H~0FH之一转向相应处理程序MOVB,#0

8、5H;转移表中每个键号处理程序占5个地址单元MULABMOVDPTR,#K0JMP@A+DPTR;转向对应的键号处理程序K0:MOV35H,#0;各键号处理程序:将键号送35H单元(使键号显示在左第三位)SJMPRT0K1:MOV35H,#01HSJMPRT0K2:MOV35H,#02HS

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

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

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