正在学习矩阵键盘,以下片段摘自,共16个键,按下对应的键,数码管上会显示出对应的数(十六进制数)
在单片机C语言编程中下面这个“与”是什么意思?
temp=temp&0xf0;
还有以下这句是什么意思?
switch(temp)
{
case 0xee:num=1;
break;
case 0xde:num=2;
break;
case 0xbe:num=3;
break;
case 0x7e:num=4;
break;
}
temp=temp&0xf0; 高四位的状态由你的输入状态决定,低四位被直接置为0
Switch语句就是依据你的temp值进行匹配,将按键状态传入temp变量,然后通过case分支,匹配不同的按键状态
temp=temp&0xf0;就是高四位有效,第四位被屏蔽了,不管temp的低四位是什么,输出都是0.
而高四位,和你按键状态有关。追问
那这条语句呢
switch(temp)
{
case 0xee:num=1;
break;
case 0xde:num=2;
break;
case 0xbe:num=3;
break;
case 0x7e:num=4;
break;
}
switch case 是判断 语句,对temp变量判断,然后
返回按键编号
呃,可以说清楚一点吗,方便留个QQ吗
后边实际上就是
if()
else if
else if
else if
的功用相同追问
switch(temp) 这里这个temp是干嘛的,有什么用?
————————————————————————————————
case 0xee:num=1; 这句是要数码管显示1的(另外这一句可以说清楚点吗)
break; 那这句呢
if(temp==0xee)
{
num=1;
}
break代表结束,跳出判断