使用振动周期为12MHZ时,一个机器周期就是1微妙,恰好是一个整数;
但我们平时看到的较多的使用11.059 2MHz的晶振,这个是什么情况?
那是为了计算精准波特率的,波特率=Fosc/2x16x(65536-t)
9600=12MHz/2x16x(65536-t) t=65496.93759600=11.0592MHz/2x16x(65536-t) t=65500=0xFFDC一个是整数,一个非整数!
11.0592可以产生精确的9600串口时钟
而用12的要有2%的误码率
你用单片机小精灵这个软件看看,11.0592M晶振频率在计算波特率的时候误差为零