uC 2012 Ch8-1键盘显示sxj (2)培训讲学.pptVIP

  • 5
  • 0
  • 约4.91千字
  • 约 52页
  • 2020-05-30 发布于天津
  • 举报
处理过程 键扫描 确认有无按键按下 去抖动 延时 按键的识别:确定键的行、列号 扫描算法、线反转法 键号的确定 等待键释放 扫描算法: 逐行置低电平,其余各行为高电平,检查各列电平的变化,如果某列线电平为低电平,即可确定此行列线交叉点处的按键被按下。 交换行列线的输出读取关系也可以实现。 线反转法: 首先,将行线编程为输入线,列线编程为输出线,然后使列线线全输出低电平,读取行线电平,行线从高电平转为低电平的行线为按下按键所在行; 然后,将列线编程为输入线,行线编程为输出线,然后使行线全输出低电平,读取列线电平,列线从高电平转为低电平的列线为按下按键所在列。 [例1] 扫描算法 用8255A作单片机键盘接口, A口为输出口接键盘列线。C口为输入口接键盘的4条行线 8255A地址 A口:7FFCH B口:7FFDH C口:7FFEH 控制寄存器:7FFFH 子程序 KSI :判定有无闭合键的 KSI: MOV DPTR, #7FFCH ;A口地址 MOV A, #00H MOVX @DPTR, A ;A口送00H INC DPTR INC DPTR ;C口地址 MOVX A, @DPTR ;读C口 CPL A ANL A, #0FH ;屏蔽高四位 RET 0 0 0 0 0 0 0 0 有闭合键,则(A)≠0 无闭合, 则(A)=0 1 1

文档评论(0)

1亿VIP精品文档

相关文档