参考: https://zhidao.baidu.com/question/337645738.html( )
首先:
1个机器周期 = 6个状态周期;
1个状态周期 = 2个震荡周期;
1个机器周期 = 12 个震荡周期
1M Hz = 1000 000 次震荡/秒(1000 000 次/s)
那么一个机器周期所需要的时间为:
如果震荡周期为12M
1个机器时间的周期 = 12次震荡/震荡频率 = 12 /(12M hz)= 12 / (12 * 1000 1000/s) = 1 s /1000 1000 = 1us(一微秒)
如果为11.0592M那么除不尽。
所以使用定时器延迟的时候 12M晶振最为合适,延时计时更佳准确。
但是 12M晶振不好实现9600 4800的波特率,而很多串口通讯都要求这个波特率。11.0592M晶振就可以完美实现。所以在串口通信过程中,使用11.0592M晶振。