我没有他的代码,这里给你个思路void LEDadjust(char n){while(1){ LED=0; //亮 delayms(100-n*10); LED=1; //熄 delayms(n*10);}}n是按键次数,取值0-9,将100毫秒分作十段,占空比由n决定。如果精度要求高,要用定时器中断控制时间