不是单片机本身的问题,是你的计算方法有问题。把频率分10份,每秒加一份?第一秒0-999,第二秒1000-1999,第三秒2000-2999,停,你自己看看,这是匀速么……你这是阶越式的啊,每秒就突然变大一下。关键不在分几份,在于怎么让频率平滑的上升,否则分10份和分1份也没大区别。不行就分成毫秒。这样到最后最后的时候,最后一毫秒要输出10个周期。即使这样也很难达到平滑,还是有除不开的情况存在,不过也只能将就了。