利用定时器每毫秒对SlowDown加一,当SlowDown等于10时,Key_Driver()函数执行键盘驱动代码,当SlowDown不等于10时,Key_Briver()函数跳出。
//定时器初始化,每1ms中断一次
void Timer1Init(void)
AUXR &= 0xBF;
TMOD &= 0x0F;
TL1 = 0x18;
TH1 = 0xFC;
TF1 = 0;
TR1 = 1;
ET1 = 1;
}
//中断服务函数,每中断一次变量 Slow_Down 加1
void tm1_isr() interrupt 3
{
ms_Tick++;
if(++Slow_Down == 10) Key_Slow_Down = 0;
}
//这个函数写入键盘驱动
void Key_Driver(void)
{
if(Key_Slow_Down) return;
Slow_Down = 1;
//此处写入键盘驱动
}