单片机的输入输出设备接口第5章.pptxVIP

  • 8
  • 0
  • 约5.1千字
  • 约 24页
  • 2023-09-06 发布于广东
  • 举报
单片机的输入输出设备接口第5章;第五章 单片机的输入/输出设备接口;一、键盘接口概述 1.单片机实现键盘接口的常用方法 独立式键盘:由一组相互独立的按键组成,每个按键与一位I/O口相连,接口简单,但是占用I/O口较多。 矩阵式按键:键按行列组成矩阵,行和列相交处安放一个按键,每条行线或列线与一位I/O相连,节省I/O资源。 ;硬件去抖动方法:;⑵键值或键号的计算 当确定有键按下时,需进一步根据行线和列线的状态确定按下键的值或键号,以实现键功能的程序。 ⑶等待键释放 获得键值后在以延时或查询的方法等待键释放,以保证键的一次闭合只进行一次键功能的实现。 ⑷确定键盘的监控方法 中断方式执行。当有键被按下时,向单片机发出中断请求,中断响应后执行键盘扫描工作。 定时方式执行。利用内部定时计数器完成一段时间的重复定时,每次定时完成执行一次键盘扫描工作。 ;KEY:MOV P1,#07H MOV A,P1 CPL A ANL A,#07H JZ GRET JB ACC.0,KEY1 JB ACC.1,KEY2 JB ACC.2,KEY3 GRET:RET KEY1:LCALL WORK1 KEY2:LCALL WORK2 KEY3:LCALL WORK3 RET;三、矩阵式按键 1.矩阵式键盘的工作原理 X0~X3为键盘的行线,通过电阻接+5V;Y0~Y3为键盘的列线,由单片机控制其输入信号。每条行线和列线处有一个按键结构,当所有键未被按下时,行线与列线断开,每条行线都呈现高电平。当有键被按下时,按键所在行线与列线短路,此时行线的电平由列线的电位所决定。;3.键盘扫描程序 键输入程序的功能: (1)判别键盘上有无键闭合:其方法为扫描口PA0~PA7输出全“0”,读PC口的状态,若PC0~PC3,为全“1”(键盘上行线全为高电平),则键盘上没有闭合键;若PC0~PC3不为全“1”,则有键处于闭合状态。 (2)去除键的机械抖动:其方法为判别到键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则,认为是键的抖动。 (3)判别闭合键的键号:方法为对键盘的列线进行扫描,扫描口PA0~PA7依次输出: PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 : 0 1 1 1 1 1 1 1; 相应地顺次读出PC口的状态,若PC0~PC3为全“1”,则列线输出为“0”的这一列上没有键闭合;否则,这一列上有键闭合。闭合键的键号等于为低电平的列号加上为低电平的行的首键号。 eg、PA口的输出,读出PC0~PC3为1101,则1行1列相交的键处于闭合状态,第一行的首键号为8,列号为1,闭合键的键号为: N:行首键号+列号=8+1=9 (4)使CPU对键的一次闭合仅作一次处理:采用的方法为等待闭合键释放以后再作处理。;键盘扫描程序如下: KEY1:ACALL KS1 ;调用判别有无键闭合子程序 JNZ LK1 ACALL DIR ;调用显示子程序,延迟6ms AJMP KEY1 LK1:ACALL DIR ACALL DIR ACALL KS1 ;调用判别有无闭合键子程序 JNZ LK2 ACALL DIR AJMP KEY1 LK2:MOV R2,#0FEH ;扫描初值送R2 MOV R4,#00H ;扫描列号送R4 LK4:MOV DPTR,#7F01H ;指向A口 MOV A

文档评论(0)

1亿VIP精品文档

相关文档