设置按键扫描时间(20ms~25ms)然后用边沿触发判断按键值。
例如用C51作MCU
先定义一个按键
sbit Key_New = P2^0;
再定义一个变量
bit Key_Old = 1;
按键扫描函数。
Key_Scan(void)
{
if(Key_New == 1 && Key_Old == 0) //判断按键是否按下
{
用户要处理的事情....
.........
}
Key_Old = Key_New ; 刷新按键值
}
当按键按下松开那一刻有上升沿,按键会触发一次,所以该程序是上升沿触发的。
用户可以修改 Key_Old 和Key_New 的判断参数以实现下降沿的触发。