- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;P2.0~P2.3端口送出列线电平,P0.0~P0.3端口读取行线电平;按键的键值(所处的行列位置)识别方法——逐列扫描法;按键的键值(所处的行列位置)识别方法——逐列扫描法;按键的键值(所处的行列位置)识别方法——逐列扫描法;while(1) //等待按键按下
{
P2=0xf0; //向所有的列线上输出低电平
P0=0xff;
i=P0; //读入行值
i=0x0f; //屏蔽掉高四位
if(i!=0x0f) //行值不为全1,有键按下
{
delay10ms(); //延时消抖
i=P0; //再次读入行值
i=0x0f; //屏蔽掉高四位
if(i!=0x0f) //行值不为全1,说明有键按下
{
scan_key(); //执行逐列扫描子程序判断键值
}
}
};unsigned char scan_key (void)
{
unsigned char i, temp,m,n;
bit find=0; //有键按下标志位
P0=0xff; //P0口低四位做输入口,先输出全1
for(i=0;i4;i++)
{
P2=0xfei; //逐列送出低电平
temp=~P0; //读行值,并取反,全1--全0
temp=temp0x0f; //屏蔽掉行值高4位
if(temp!=0x00) //判断有无键按下,为0则无键按下,否则有键按下
{ m=i; //列号i保存至m变量
find=1; //置找到按键标志
switch(temp) //判断哪一行有键按下,记录行号到n变量
{ case 0x01:n=0;break; //第0行有键按下
case 0x02: n=1;break; //第1行有键按下
case 0x04: n=2;break; //第2行有键按下
case 0x08: n=3;break; //第3行有键按下
default:break;}
} }
if(find==0) return -1; //无键按下则返回-1
else return(n*4+m); //否则返回键值,键值=行号*4+列号
};4
您可能关注的文档
- 网络营销基础 网络营销基础、有哪些信誉好的足球投注网站引擎营销技巧 关键词设计技巧.pptx
- 网页创意与艺术设计(拓展) 7 网页版式设计 中轴型网页_A3.pptx
- 网页创意与艺术设计(拓展) 7 网页版式设计 中轴型网页_F1.pptx
- 网页设计与制作(HTML+CSS+JS)-3期(KC003) JavaScirpt基础 3程序控制结构.pptx
- 微控制器应用基础 do while语句 do-while语句.pptx
- 微控制器应用基础 for语句 for语句.pptx
- 微控制器应用基础 while语句 while语句.pptx
- 微控制器应用基础 行列反转法 行列反转法.pptx
- PHP+MySQL网站开发技术(拓展) 2 PHP编程基础 PHP动态网页基础试题-059.pptx
- 微生物发酵技术 任务三 赖氨酸的提取和精制 赖氨酸的提取和精制.ppt
文档评论(0)