以独立按键为例
unsigned char Key_Val,Key_Old,Key_Up,Key_Down;
unsigned char Key_Slow_Down=0;
此处省略unsigned char Key_Read()函数具体内容
按键处理函数
void Key_Procedure()
{
if( Key_Slow_Down)return;//减速专用
Key_Slow_Down=1;//减速专用
Key_Val = Key_Read();
Key_Down=Key_Val & (Key_Val ^ Key_Old);
Key_Up=~Key_Val & (Key_Val ^ Key_Old);
Key_Old =Key_Val;
}
此处省略void Timer0_Init()具体内容
主函数
void main()
{
while(1)
{
}
}
中断服务函数
void Timer0() interrupt 1
{
TL0 = 0x66;
TH0 = 0xFC;
if(++Key_Slow_Down==10)Key_Slow_Down=0;//键盘减速专用
//可以修改里面的10这个数字,进而达到其他延时的效果,可适用于其他模块的减速
}
仅供参考,小编也是小白