① 从现象来看,单片机启动时并未能正确让晶体起振,从而改用片内RC振荡电路的16MHz时钟。 ② 你提到外部晶振电容是20pF,说明你搭配的是无源晶体谐振器。若无源晶体谐振器起振困难可考虑适当更改电路。另外晶体谐振器的温度特性都比较差,低温下不起振或停振是非常常见的。如果你的产品有低温工作需求,应选用相应温度级别的晶体。 ③ “测试过晶振都是正常起振的”——用什么仪器测试的?示波器表笔档位设置不正确的话,你用表笔一搭,原本未起振的晶振也会起振的,造成“晶振已起振”的假象。 ④ 从产品稳定性而言建议你还是加点钱换有源晶振。