单片机的C语言程序,就讲解,我没看懂这是个什么意思

单片机的C语言程序,就讲解,我没看懂这是个什么意思,第1张

uchar keyscan(void)//键盘扫描函数,使用行列反转扫描法

{

uchar cord_h,cord_l //定义行、列值变量

P2=0x0f //行输出全为0

cord_h=P2&0x0f//读入列值

if(cord_h!=0x0f) //先检测有无按键按下

{

delay(100)//去抖

if(cord_h!=0x0f)

{

cord_h=P2&0x0f//读入列值

P2=cord_h|0xf0 //输出当前列值

cord_l=P2&0xf0 //读入行值

return(cord_h+cord_l)//键盘最后组合码值

}

}

}

KeyPort=0x0f //行线输出全为0

cord_h=KeyPort&0x0f//读入列线值

这两句代码最后造成的结果就是使得cord_h=0x0f。

这样的话,完全没有任何的意义呀,

----

不一定是 0f。

有按键时,也可能是 07,也可能是 0d,也可能是 0e,也可能是 0b。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11434690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存