头像-371616

8b6ffe166d34c398

个人成就

获得 0 次赞

帮助过0人

请教单片机按键扫描延时问题

以下是吴鉴鹰单片机课程里的按键扫描unsigned char Key_Scan(void){   uchar Key_TempScan_CodeTemp_Code;   P2 = 0XF0;   Key_Temp = P2;   if((Key_Temp&0xf0)^0xf0)     //0XE0 0b1110 0000 & 0b1111 0000  --0b1110 0000 ^0b1111 0000= 0b0001 0000   {       Scan_Code = 0xfe;  //0B1111 1110      while((Scan_Code&0x10) != 0x00) //0XFE = 0B1111 1110  0B1111 0111     {         P2 = Scan_Code;   if((P2&0XF0)^0XF0)   {        Temp_Code = (P2&0XF0)|0X0F;//1101 0111 &0x f0 = 0b1101 0000 |0x0f = 0b1101 1111 ~0b0010 0000     return((~Temp_Code)+(~Scan_Code));   }    else   {       Scan_Code = (Scan_Code<<1)|0X01;// 0b1111 1110 <<1 = 1111 1100 | 0000 0001 = 1111 1101    }         Delay(10);  这里不明白         }        }   return(0);}视频里说硬件响应需要时间,这里不明白为什么要加延时。