51单片机4 x 4矩阵键盘P3=0xfe,temp=P3;第二步是把按下去的键P3赋给temp 但p3不是被0xfe赋值了吗
为什么还可以保留所按键啊P3=0xfe;temp=P3;和P3不是已经被赋值了吗,上面的temp=p3等价代换不就应该是temp=0xfe?怎么回事,迷糊了。P3=0xf...
为什么还可以保留所按键啊
P3=0xfe;
temp=P3;
和
P3不是已经被赋值了吗,上面的temp=p3等价代换不就应该是 temp=0xfe?
怎么回事,迷糊了。
P3=0xfe; //设置P3口的电平为11111110,也就是让P3.0口为低电平,其他的口为高电平
temp=P3; //读取p3口的电平
temp=temp&0xf0; //p3口的电平跟11110000做与操作
while(temp!=0xf0) //检测到第一行上有键盘按下去了
{
delay(5); //延时5ms用来消除按键的抖动
temp=P3; //再次读取P3口的电平
temp=temp&0xf0; //p3口的电平跟11110000做与操作
while(temp!=0xf0) //延时后确实有人按下了第一行的键盘(不是别的干扰导致的)
{
temp=P3; //因为已经确定按下了键,这时就读取P3口的电平
switch(temp) 展开
P3=0xfe;
temp=P3;
和
P3不是已经被赋值了吗,上面的temp=p3等价代换不就应该是 temp=0xfe?
怎么回事,迷糊了。
P3=0xfe; //设置P3口的电平为11111110,也就是让P3.0口为低电平,其他的口为高电平
temp=P3; //读取p3口的电平
temp=temp&0xf0; //p3口的电平跟11110000做与操作
while(temp!=0xf0) //检测到第一行上有键盘按下去了
{
delay(5); //延时5ms用来消除按键的抖动
temp=P3; //再次读取P3口的电平
temp=temp&0xf0; //p3口的电平跟11110000做与操作
while(temp!=0xf0) //延时后确实有人按下了第一行的键盘(不是别的干扰导致的)
{
temp=P3; //因为已经确定按下了键,这时就读取P3口的电平
switch(temp) 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询