矩阵键盘.ppt

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矩阵键盘

* 2. 矩阵式键盘处理 2. 矩阵式键盘处理 (2)线反转法  反转法要求连接矩阵键盘行线和列线的接口为双向口,而且在行线和列线上都需要接上拉电阻,以保证无键按下时行线或列线处于稳定的高电平状态。 ①行设为输出,且输出低电平;列设为输入,读入列线状态。 ②列设为输出,行设为输入。读入行线状态。 ③根据两次读数,合成一个代码,即特征码(特征码中隐含着按键的位置),并建立键码与特征码关系。 (P10~P17) 1 1 0 1 0 0 0 0 +5V +5V 1 1 0 1 1 0 1 1 +5V +5V (P10~P17) 2. 矩阵式键盘处理 表5-2 键码转换表 unsigned char Key_Scan() { unsigned char i;//键码临时存储 unsigned char data1,data2; unsigned int x; P1=0x0f; //行输出低电平 data1=P10x0f; //读取列线状态 if(data1==0x0f){i=0xff;return i;} //无键按下 for(x=0;x1000;x++); //延时消抖 P1=0x0f; //行输出低电平 data1=P10x0f; //读取列线状态 if(data1==0x0f){i=0xff;return i;} //无键按下 按键扫描过程: (1)识键 (2)消抖 (3)译键 P1=0xf0; //列线输出低电平 data2=P10xf0; //读行线 data1=data1|data2; //计算特征码 if(data1==0xe7)keynum=0;//S0键按下 //…. else if(data1==0x7e)keynum=0x0f; //SF键 } return i; } 思考:行列扫描法的程序编制及流程图如何绘制! (作业) * * *

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档