cyj_0220 发表于 2013-3-23 20:15:20

求助m16矩阵按键扫描问题

UINT8 KEY_Scan(void)
{
    UINT8 KeyPin = 0;
    UINT8 i;
    UINT8 PinTemp;
   
    KEY_DDR = 0XF0;
    KEY_PORT = 0X0F;
    _NOP();
    PinTemp = KEY_PIN;
    if((PinTemp & 0X0f) != 0x0f)
    {
      _delay_ms(20);                        
      PinTemp = KEY_PIN;
      if((PinTemp & 0X0f) != 0x0f)
      {
            KeyPin = PinTemp & 0X0f;
            KEY_DDR = 0x0f;
            KEY_PORT = 0xF0;
            PinTemp = KEY_PIN;
            KeyPin |= (PinTemp & 0Xf0);
            KeyPin |= 0x80;
            UartSendByte(KeyPin);
            KEY_DDR = 0;
            KEY_PORT = 0XFF;
            for(i = 0 ;i < 11;i++)
            {
                if(KeyPin == szKeyPin)
                {
                  return i;
                }
            }
      }
    }
    return KEY_NONE;
}从书上抄下来的,按键扫描一直不对,想用串口看看pin值,但是收到的数据不对,一次收到两个字节的数据,麻烦坛友帮忙看看
页: [1]
查看完整版本: 求助m16矩阵按键扫描问题