6 矩阵键盘指导书.pdfVIP

  • 3
  • 0
  • 约4.4千字
  • 约 5页
  • 2019-07-05 发布于未知
  • 举报
NBCPIC-V2.0—矩阵键盘部分 北方蓝芯科技开发有限公司 NBCPIC-V2.0 使用手册 目 录 矩阵键盘原理及硬件介绍3 EX6.1、4X4 键盘扫描4 2 北方蓝芯科技开发有限公司 NBCPIC-V2.0 使用手册 矩阵键盘原理及硬件介绍 矩阵键盘部分电路和实物图片如下所示。 矩阵键盘部分电路 矩阵键盘由行线和列线组成,J6_1 、J6_2 、J6_3 、J6_4 对应键盘的行线,J6_5 、J6_6 、J6_7 、 J6_8 对应键盘的列线。矩阵键盘通过扫描来获得键盘的输入值,所谓扫描,就是对行线置低电平, 然后检测列线的状态,如果某个按键按下,则某个列线将变为低电平状态,从而确定是哪个按键按 下。例如将行线J6_1 置低电平,读得列线J6_6 为低电平,可判断是S2 按下。 矩阵键盘电路实物图 3 北方蓝芯科技开发有限公司 NBCPIC-V2.0 使用手册 EX6.1、4X4 键盘扫描 实验源程序: //*********************************************************************************** //矩阵键盘扫描函数 //*********************************************************************************** void keyScan() { uchar x,y; PORTC=0xf0; //RC 赋值0xf0 if((PORTC0xf0)!=0xf0) //判断高4 位是否为全1(高4 位全1 代表没按键按下) { delay(20); /*延时去抖动,一般为 5ms~10ms (由于机械触点的 弹性作用,按键 在闭合时不会马上稳定地接通, 而在闭合瞬间伴 随有一连串的抖 动,键抖动会引起一次按键被误读多次)*/ if((PORTC0xf0)!=0xf0) //如果还能检测到有键盘按下去 { x=PORTC0xf0; //读取RC 口数据 PORTC=0x0f; //反转,RC 赋值0x0f y=PORTC0x0f; //读取RC 口数据 keyValue=x|y; //得到扫描结果 } } } //*********************************************************************************** //矩阵键盘扫描结果处理函数 //******** *************************************************************************** uchar keyHandle

文档评论(0)

1亿VIP精品文档

相关文档