单片机单个按键处理

2019-04-15 17:40发布

下面说的单片机也主要是51与台系芯片,也就是现在的工作。其它应用不在讨论范围。
你首先要设置按键IO设置成输入 开上拉 (算我废话)u8(无符号 char)   R_KeyCount;bit  B_KeyFlag;void KeyPor(void)
{
    if(IO_Key==0)
    {
      if(++R_KeyCount>=20)   //20MS 去抖动
      {
          R_KeyCount=0;
          if(B_KeyFlag==1)      //按键按下只执行一次程序
          {
            B_KeyFlag=0;
            //按键进来了
            IO_LED=1;        //打开灯    
          }
      }
    }
    else   //没有按键寄存器清除
    {
    B_KeyFlag=0;
    R_KeyCount=0;
    }
}这个是闲的写给刚接触单片机的朋友看的,当然感谢6年前三力泰武总和我老大!