原创 51单片机串口通信错误的原因

2009-4-2 23:15 8149 11 12 分类: MCU/ 嵌入式

51单片机串口通信错误的原因<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


之前发过一篇博文《MCU-51串口通信程序》,程序挺好用的,之后一直把串口当做测试用途,像正在调试USB,用的是CH372PC通过CH372USB)发一个字符到单片机,单片机再通过串口回传这个字符,从而验证CH372是否收到字符,结果出现意想不到的错误,错误还挺有规律的。就是发16位字符0A,接收到字符用16位显示是8A;发2A,显示AA;发2B,显示AB,就是最高位(第8位)0变为1了,试验了几个都是一样。


 


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图 


 


之前老板也是同样的问题(可见这事是多么普遍),不过当时由于不是我的事,就没管。问了一下老板,才知道是晶振的问题,之前板子是用11.0952MHz晶振,现在的板子是12MHz,程序中串口通信也没改预置值,直接就下载了,结果是误差太多,前面的码没事,但误差积累,最后的码0就变成1了。敲响警钟!


程序中串口初始化


   void init_serialcom( void )


   {


       SCON = 0x50 ;  //SCON: serail mode 1, 8-bit UART, enable ucvr


          TMOD |= 0x20 ;  //TMOD: timer 1, mode 2, 8-bit reload


          PCON |= 0x80 ;  //SMOD=1;


          TH1 = 0xFD ;   //Baud:19200 fosc=11.0592MHz


          IE |= 0x90 ;   //Enable Serial Interrupt


          TR1 = 1 ;     // timer 1 run


          TI=1;


         


       }


可是板子用的是12MHz晶振。


 


50b7f05f-7ccd-4406-a7b0-2b4912c852c7.JPG



 


通过这个小程序,可以看到误差为8.5%,通常要求不出现误码的话,误差要求在4.5%以下,而对于传统的51单片机来说,最好是选择11.0592的晶振,因为这个频率,不会有误差,也就不可能误码。


 


9ba1f134-9d16-4472-952a-f165c00607fe.JPG



 


做单片机的串口通信,要注意单片机所用的晶振

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户956387 2011-9-5 12:58

我也遇到了这个问题,我的晶振原先是12MHZ,数据位数是7位,可以。但是不能发送ASCII码。改成11.0592后,也不行,把数据位改成8位就可以了,通信正常。原来是侥幸设为7位可以,所以一直以为是7位数据。
相关推荐阅读
藤井树 2015-10-12 14:43
印制电路板的抗干扰设计 zz
印制电路板的抗干扰设计     作者:中船重工集团第707所 肖麟芬   摘   要:本文以印制电路板的电磁兼容性为核心,分析了电磁干扰的产生机理...
藤井树 2013-10-22 15:32
2010.5.30 黄草梁上包饺子一日登山活动——摘韭菜篇
        上次桃花节的时候也有野韭菜,那时候的我连草和韭菜叶分不清,才回去的韭菜也不敢吃,哈哈,这次可算真正见识了韭菜,黄草梁也叫韭菜梁,因为满山遍野都是野韭菜而闻名,比较圆比较粗的就是野韭...
藤井树 2013-10-22 15:28
2010.5.30 黄草梁上包饺子一日登山活动——包饺子篇
摘韭菜回来,大家已经忙开了 我也装模作样地“工作着” 哈哈,还不让我包,包饺子是技术活,一定要皮薄馅厚才有资格包,像我这样的只能旁观了 摘的韭菜应该足够了,旁边那个袋子是我摘来带回学校的 ...
藤井树 2013-08-09 15:19
datasheet下载网站整理(查IC芯片手册)【原创】
*************************************************************************         作为电子工程师,芯片的dat...
藤井树 2010-06-04 00:21
陈伟宁王辉一家捐助渠道(北京菲亚特—英菲尼迪)
       王辉的最新消息请关注 http://chenweining.org/       目前事故责任认定已经出来了——陈家全责。        发信人: program (程序), 信区: D...
藤井树 2010-06-01 13:43
2010.5.30 黄草梁上包饺子一日登山活动——美景篇
这天不得不说的是天空,蓝蓝的天空,白白的云    绿油油的山脊  我、洪涛哥哥、huangna妹妹还有她同事小艾走在黄草梁上    在蓝天白云下合影       阳光照过来,景色真美 象鼻山,走不...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条