永发信息网

单片机中键盘扫描,主要是对CPU怎么扫描键按下没,何时扫描不懂

答案:1  悬赏:0  手机版
解决时间 2021-02-14 01:40
  • 提问者网友:夢醒日落
  • 2021-02-13 22:25
单片机中键盘扫描,主要是对CPU怎么扫描键按下没,何时扫描不懂
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-02-13 23:45
新手?。。。那要看你是怎样的键盘了,是4X4矩阵键盘?还是8个按键直列某IO口的键盘?或者是其他的?扫描可以有软件循环等待扫描,就是一直等待用户按键;还有就是中断方式的键盘扫描,当有键按下后进入中断服务程序,然后再执行键盘扫描程序判断按键。就矩阵键盘的稍微复杂点,其他种类的键盘很简单,下面的是一个接在P2口的4X4矩阵键盘扫描程序,延时程序省略掉了,忘你能了解键盘扫描的过程: P2= 0xf0; if ((P2&0xf0)!=0xf0) // 若有键按下
{
delay(10); // 延时去抖动
if ((P2&0xf0)!=0xf0) // 延时后再判断一次,去除抖动影响
{
scancode = 0xfe;
while((scancode&0x10)!=0)// 逐行扫描
{
P2 = scancode; // 输出行扫描码
if ((P2&0xf0)!=0xf0) // 判断本行是否有键按下
{
tmpcode = (P2&0xf0)|0x0f;

return((~scancode)+(~tmpcode));
}
else scancode = (scancode<<1)|0x01; // 行扫描码左移一位
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯