第三篇智能仪器人机接口.pptVIP

  • 2
  • 0
  • 约7.04千字
  • 约 74页
  • 2017-06-03 发布于湖北
  • 举报
第3章 智能仪器人机接口 ;第3章 智能仪器人机接口 ;3.1 键盘与接口;3.1 键盘与接口;3.1.1 键盘输入基础知识 ;;3.1.1 键盘输入基础知识 ; 二、 键盘的工作方式;三、 键抖动及消除 ; 键抖动可能导致计算机将一次按键操作识别为多次操作,为克服这种由键抖动所致的误判,常采用如下措施:  (1) 硬件电路消除法:利用RS触发器来吸收按键的抖动如图所示。一旦有按键按下时,触发器就立即翻转,触点的抖动便不会再对输出产生影响,按键释放时亦然。  (2) 软件延时法:当判定按键按下时,用软件延时10ms~20ms,等待按键稳定后重新再判一次,以躲过触点抖动期。;四、 键连击的处理 ;五、 无锁键、自锁键及互锁键 ;五、 无锁键、自锁键及互锁键 ; 3.1.2 键盘接口电路及控制程序 ; 一、 独立式键盘接口电路及程序设计 ; 一、 独立式键盘接口电路及程序设计 ;独???式键盘接口 软件流程图 ;  上例CPU经常处于空扫描状态。为进一步提高CPU效率,可采用中断工作方式,即只有当键盘中有键被按下时,才执行扫描工作。下图为采用中断方式处理8只按键的接口电路图; 一、 独立式键盘接口电路及程序设计 ; 一、 独立式键盘接口电路及程序设计 ; ORG 0120H ; 中断服务程序 KEYJMP:MOV R3, #08H ; 设循环次数  MOV DPTR,#0EF01H ; 送A口地址  MOV R4, #00H ; 计数器清零  MOVX A, @DPTR ; 读入按键状态 KEYAD1:RRC A ; 状态字右移一位  JNC KEYAD2 ; C=0,转KEYAD2  INC R4 ; 计数器加1  DJNZ R3, KEYAD1 KEYRET:RETI KEYAD2:MOV DPTR, #JMPTBL  MOV A, R4  RL A  JMP @A+DPTR ; 转相应功能处理 JMPTBL:AJMP SB0 ; 入口地址表  AJMP SB1  AJMP SB2  AJMP SB3  AJMP SB4  AJMP SB5  AJMP SB6  AJMP SB7; 二、 矩阵式键盘接口电路及程序; 二、矩阵式键盘接口电路及程序;采用编程扫描工作方式的行扫描法步骤如下:  (1) 判是否有键按下。使端口 C所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,读入值应为FFH,如果有键按下,则不为FFH。  (2) 若有键按下,则延时10ms,再判断是否确实有键按下。 (3) 若确实有键按下,则求出按下键的键值。其实现方法是对键盘进行逐行扫描。即先令PC0为0,读入列值,若列值等于FFH,说明该行无键按下,再令PC1为0,对下一行进行扫描;若列值不等于FFH,说明该行有键按下,求出其键值。 求键值时要设置行值寄存器和列值寄存器。每扫完一行,若无键按下,则行值寄存器加上08H;若有键按下,行值寄存器保持原值,转而求相应的列值。求列值的方法是,将列值右移,每移位一次列值寄存器加1,直至移出位为低电平为止。最后将行值和列值相加即得键值。若需要十进制键值,可进行DAA修正。 (4) 为保证按键每闭合一次CPU只做一次处理,程序需等闭合的键释放后再对其做处理; ORG 0200H  KEYPR:MOV DPTR, #0100H ; 8155初始化 MOV A,#0CH MOVX @DPTR, A ; 控制字写入 MOV R3, #00H ; 列寄存器清零 MOV R4, #00H ; 行寄存器清零 ACALL KEXAM ; 检查有无键按下 JZ KEND ; 无键按下返回 ACALL D10ms ACALL KEXAM ; 再次检查有无键按下

文档评论(0)

1亿VIP精品文档

相关文档