MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt

上传人:scccc 文档编号:13024958 上传时间:2021-12-11 格式:PPT 页数:28 大小:520.50KB
返回 下载 相关 举报
MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt_第1页
第1页 / 共28页
MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt_第2页
第2页 / 共28页
MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt_第3页
第3页 / 共28页
MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt_第4页
第4页 / 共28页
MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt》由会员分享,可在线阅读,更多相关《MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理课件.ppt(28页珍藏版)》请在三一文库上搜索。

1、MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,1,第5章 MCS-51单片机外部 并行口扩展技术,5.4.2 键盘接口工作原理,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,2,5.4.2 键盘接口工作原理,键盘人机交互的一个重要工具两种基本类型编码键盘除了按键以外,还包括产生键码的硬件电路使用方便、价格较高 非编码键盘靠软件来识别键盘上的闭合键,由此计算出编码几乎不需要附加硬件逻辑在单片机应用系统中被普遍使用,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,3,1. 非编码键盘的工作原理,分类硬件编码式键盘、二维直读式键盘独立式键盘简单键盘

2、、行列式键盘(矩阵式键盘),独立式按键 行列式键盘,0 1 1 1,1 0 1 1,1 1 0 1,1 1 1 0,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,4,2. 按键开关去抖动问题,按键抖动在按下和释放时,按键有抖动按键时间:100ms前跳沿和后跳沿:20ms,抖动时间一般为510ms,A,为确保:对键的一次闭合仅作一次处理必须:去除抖动,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,5,3. 消除抖动不良后果的方法, 硬件去抖动RC滤波电路去抖动电路简单实用,效果较好。 软件去抖动检测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,

3、消除抖动影响。,键处理的流程图,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,7,4. 独立式按键,处理过程查键:扫描有否键按下,若无键按下,返回有键按下软件去抖:延时20ms找键等键释放软件去抖:延时20ms,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,8,例1,有键按下,返回键值;否则,返回0FFH,;准备输入,KE2:MOVB,#0 ;保存键值0KE3:ANLA,#3FHRRCA;(A.0)CyJNCKE4INCBSJMPKE3KE4:ORLP1,#3FHMOVA,P1ANLA,#3FHCJNEA,#3FH,KE4MOVA,B ;返回键值CJNEA,

4、#06H,KE5KE5:JCKE6 ;Cy=1,(A)=6KE6:RET,KE:ORLP1,#3FH MOVA,P1ANLA,#3FH ;P1.0P1.5CJNEA,#3FH,KE1SJMPKE7 ;无键按下KE1:LCALLDL20 ;延时去抖ORLP1,#3FH ;修改P1MOVA,P1 ;读P1ANLA,#3FHCJNEA,#3FH,KE2SJMPKE7 ;误动作返回,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,10,5. 矩阵式键盘,工作方式查询定时每隔一段时间对键盘扫描一次利用单片机内部的定时器的定时器溢出中断。中断,中断方式,0000,1 1 1 1,MCS-5

5、1单片机外部并行口扩展技术-542 键盘接口工作原理,11,处理过程键扫描确认有无按键按下去抖动延时按键的识别:确定键的行、列号扫描算法、线反转法键号的确定键号=所在行号键盘列数+所在列号等待键释放,扫描算法:逐行置低电平,其余各行为高电平,检查各列电平的变化,如果某列线电平为低电平,即可确定此行列线交叉点处的按键被按下。交换行列线的输出读取关系也可以实现。线反转法:首先,将行线编程为输入线,列线编程为输出线,然后使列线线全输出低电平,读取行线电平,行线从高电平转为低电平的行线为按下按键所在行;然后,将列线编程为输入线,行线编程为输出线,然后使行线全输出低电平,读取列线电平,列线从高电平转为低

6、电平的列线为按下按键所在列。,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,13,例1 扫描算法,用8255A作单片机键盘接口, A口为输出口接键盘列线。C口为输入口接键盘的4条行线,8255A地址A口:7FFCH B口:7FFDHC口:7FFEH 控制寄存器:7FFFH,子程序 KSI :判定有无闭合键的,KSI:MOVDPTR, #7FFCH;A口地址MOVA, #00HMOVXDPTR, A;A口送00HINCDPTRINCDPTR;C口地址MOVXA, DPTR;读C口CPLA ANLA, #0FH;屏蔽高四位RET,0 0 0 0 0 0 0 0,有闭合键,则(A)

7、0无闭合, 则(A)=0,1 1 1 1,KEY1:ACALLKSI;检查是否有键闭合JNZLK1;A非“0”则转移ACALLDIR;显示一次LED(“延时6ms”)AJMPKEY1LK1:ACALLDIR;有键闭合二次延时ACALLDIR;共12ms去抖动ACALLKSI;再检查是否有键闭合JNZLK2;有键闭合转移到LK2ACALLDIRAJMPKEY1;无键闭合,延时6ms后转KEY1,有闭合键,则(A)0无闭合, 则(A)=0,LK2:CLRF0;有键标志MOVR2, #0FEH;扫描初值送R2MOVR4, #00H;扫描列号送R4LK4:MOVDPTR, # 7FFCH;A口地址MO

8、VA, R2MOVXDPTR, A;扫描初值送A口INCDPTRINCDPTR;C口地址MOVXA, DPTR;读C口,有闭合键,则(A)0无闭合, 则(A)=0,0 1 1 1 1 1 1 1,KEY1:ACALLKSI;检查是否有键闭合JNZLK1;A非“0”则转移ACALLDIR;显示一次LED(“延时6ms”)AJMPKEY1LK1:ACALLDIR;有键闭合二次延时ACALLDIR;共12ms去抖动ACALLKSI;再检查是否有键闭合JNZLK2;有键闭合转移到LK2ACALLDIRAJMPKEY1;无键闭合,延时6ms后转KEY1LK2:MOVR2, #0FEH;扫描初值送R2MO

9、VR4, #00H;扫描列号送R4LK4:MOVDPTR, # 7FFCH;A口地址MOVA, R2MOVXDPTR, A;扫描初值送A口INCDPTRINCDPTR;C口地址MOVXA, DPTR;读C口,有闭合键,则(A)0无闭合, 则(A)=0,0 1 1 1 1 1 1 1,全程序,JBACC.0, LONE;ACC.0=1,第0行无键闭合,转LONEMOVA, #00H;装第0行值AJMPLKPLONE:JBACC.1, LTWO;ACC.1=1,第1行无键闭合,转LTWOMOVA, #08H;装第1行值AJMPLKPLTWO:JBACC.2, LTHR;ACC.2=1,第2行无键闭

10、合,转LTHRMOVA, #10H;装第2行值AJMPLKPLTHR:JBACC.3, NEXT;ACC.3=1,第3行无键闭合,转NEXT MOVA, #18H;装第3行值LKP:ADDA, R4;计算键码PUSHACC;保护键码LK3:ACALLDIR;延时6msACALLKSI;检查是否继续闭合,若闭合再延时JNZLK3POPACC;若键起,则键码送ARET,扫描列号:R4,NEXT:INCR4;扫描列号加1MOVA, R2JNBACC.7, KND;若第7位=0,已扫完最高列则转KNDRLAMOVR2, AAJMPLK4;进行下一列扫描KND:SETBF0;无键标志RET;扫描完毕,扫

11、描列号:R4,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,20,例2 线反转法,KEY:MOVP1, #0F0H;行线置低电平,列线置输入态KEY0:MOVA, P1;读列线数据CPLA;数据取反,“1”有效ANLA, #0F0H;屏蔽行线,保留列线数据MOVR1, A;存列线数据(R1高4位)JZGRET;全0,无键按下,返回KEY1:MOVP1, #0FH;行线置输入态,列线置低电平MOVA, P1;读行线数据 CPLA;数据取反,“1”有效ANLA, #0FH;屏蔽列线,保留行线数据MOVR2, A;存行线数据(R2低4位)JZGRET;全0,无键按下,返回JBCF0

12、, WAIT;已有消抖标志,转SETBF0;无消抖标志,置消抖标志 LCALLDY10ms;调用10ms延时子程序消抖SJMPKEY0;重读行线列线数据GRET:RET,参考程序:,WAIT:MOVA, P1;等待按键释放CPLA ANLA, #0FHJNZWAIT;按键未释放,继续等待KEY2:MOVA, R1;取列线数据(高4位)MOVR1, #03H;取列线编号初值MOVR3, #03H;置循环数CLRCKEY3:RLCA;依次左移入C中JCKEY4;C=1,该列有键按下,(列线编号存R1)DECR1;C=0,无键按下,修正列编号DJNZR3, KEY3;判循环结束否?未结束继续寻找有键

13、按下的列线KEY4:MOVA, R2;取行线数据(低4位)MOVR2, #00H;置行线编号初值MOVR3, #03H;置循环数CLRC KEY5:RRCA;依次右移入C中JCKEY6;C=1,该行有键按下,(行线编号存R2)INCR2;C=0,无键按下,修正行线编号DJNZR3, KEY5;判循环结束否?未结束继续寻找有键按下的行线,KEY6:MOVA, R2;取行线编号CLRC RLCA;行编号2RLCA;行编号4ADDA, R1;行编号4+列编号=按键编号KEY7:CLRC RLCA;按键编号2RLCA;按键编号4(LCALL+ RET共4字节)MOVDPTR, #TABJ JMPA+D

14、PTR;散转,执行相应键功能子程序TABJ:LCALLWORK0;调用执行0#键功能子程序RET LCALLWORK1;调用执行1#键功能子程序RET LCALLWORK15;调用执行15#键功能子程序RET,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,24,键盘/显示一体 8255接口图,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,25,小结,键盘接口工作原理相应的程序设计方法,实验:键盘扫描显示,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,27,74LS245,双向总线收发器,MCS-51单片机外部并行口扩展技术-542 键盘接口工作原理,28,74LS273,地址锁存器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1