51单片机使用12M晶振串口乱码问题

前几天,画了块51的板子,晶振用的是12MHz的,调试过程发现串口打印输出一直乱码,用的是STC-ISP(V6.86R)这个工具软件里面的波特率计算器来直接计算波特率,配置如下图所示:
51单片机使用12M晶振串口乱码问题_第1张图片
就是这个配置导致了通信乱码,原因是——误差太大了,8.51%的误差,查找原因过程看到有资料说如果误差在2%以上就会出现乱码(具体没有测试过),更别提我这8.51%的误差了。

原因是找到了,解决的方法呢?一是换晶振,换成11.0592MHz的频率,这个误差是0%,对波特率精度要求比较高的可以考虑下这个方案。二是修改配置,如下图所示:
51单片机使用12M晶振串口乱码问题_第2张图片
和上面那个配置相比主要是把波特率从9600改成了4800,并且勾上了波特率倍速这个选择框,这样就把误差降到了0.16%,试了一下,腰好了,肾也好了,通信也正常了。

你可能感兴趣的:(51单片机,单片机)