不能给你程序,只能给你思路。 设置定时器(建设100ms),在设置一个变量x,(100ms自加1)在主循环中判断按键是否按下,并判断x的值大小; 假设 x每隔100ms加1 y是按键状态(为1表示按下,为0 表示未按)z记录按键状态的(初始值0)b 记录长安 a记录短按eg: if(!z){ if(y) { a=1; z=1; }}else if(x>10)// 1s{ b=1;}