51单片机串口通信【收集学习向】

本篇整理了学习51串口通信过程中看到的一些比较好的文章,有很多的超链接。并根据自己遇到的情况分析了串口传输乱码的一些原因。

1.原理知识

串口通信有查询和中断两种方式。一种开ES,有中断函数interrupt 4,另一种不开ES,没有中断函数。
(C51学习五)单片机与PC通过串口通信

两种方式代码对比

2.测试程序和虚拟仿真

51单片机串口通信的程序实现与Proteus仿真
基于Proteus的验证单片机的串口通信和模拟单片机与计算机的串口通信。
<1>注意两种方式接线的区别
<2>使用工具:Configure Virtual Serial Port Driver ,串口助手(可同时打开多个串口),烧录软件一般都自带串口助手。

3.电路设计与公母口连线

电路设计

设计原理图

232选型

SP232
感觉MAX232IN和SP232差不了多少,电路设计可以用一样的。之前我使用MAX232上电后时烫时不烫的原因不是因为闩扣,而是因为错误的将一路没用的口T1IN接了地!!!但闩扣现象还是可能存在,保险起见还是使用SP吧。

我购买的是Maxlinear公司的SP232EEN-L/TR这款,优先使用无极性瓷片电容ceramic capacitors(手册推荐,且无正负极,体积小,方便),手册里给出的典型电路是针对极性电容polarized capacitors。不管怎样,四个电容和一个附近的电源和地之前的去耦电容都应该尽可能地靠近芯片本身。

Maxlinear公司的SP232典型电路设计

说明
而对于MAX232,相比于极性电容更容易发热,瓷片电容具有较低的等效串联电阻(ESR,equivalent series resistance),也是推荐使用0.1UF瓷片电容

芯片手册典型电路图

公母口

座分公座和母座之分,对应用母头和公头的线,一定要注意公母的序号起始是不一样的!在PCB上放的是座。原理图里虽然形状,引脚连接都是对的,但封装时一定要去看实物,再画图!仔细去看插针底部,也都有标序号。DB9 公头母头引脚定义及连接

如果是公座(凑合看吧):
在这里插入图片描述
如果是母座就是上图两行的起始1,6在下面了。

买USB转串口的线就可以与计算机通信了,当公对母插在一起后,可以直观发现引脚2对2,3对3。线
如果只是座顺序错了,还有补救办法,买一个母对母或者公对公转接头就OK。

4.串口传输乱码原因

常见的乱码产生原因

软件分析

  1. 确保Keil里设置的单片机晶振与实际单片机的晶振大小相等,有的开发板上是奇葩的12MHz,推荐取下来换成11.0592MHz,更好分频成常用波特率,误差更小。
    常用波特率初值表
  2. 波特率取低一点,1200推荐。PCON的第七位SMOD为0时不会加倍。
  3. 如在Proteus里仿真,双击单片机检查or修改晶振频率。使用Virtual Terminal(连线R对T) 或者COMPIM(连线R对R,该器件会自动转电平,不用加232芯片)时检查连线,同样点进去设置波特率,奇偶效验位,停止位,一般只改波特率,注意COMPIM里有两个要设置的。
  4. 在设备管理器中,右键对应的COM口>属性>端口设置,修改波特率置设定值。如同时使用了几个端口。注意区分。根本就没检测到串口则需要重装串口驱动。

硬件分析

  1. 注意设计的PCB连线图是否与选型的插座一致。
  2. 如果使用开发板模块,板子可能需要改变改接两个套子
    改两个套子
    我用的这块板子就是默认将上图的RXD与RXD-U,TXD与TXD-U分别用两个套子连接起来了,-U部分连接到了USB转TTL下载模块(含CH340G芯片,只有贴片。是一款USB转串口芯片,同样可转电平,无需额外买USB转串口线,使用更方便),打开该根USB对应的COM口可观察到数据。如通过RS232模块则需要改接套子连接RXD与RXD-R,TXD与TXD-R。
  3. 就使用转接口传输时,需要把9个引脚和两边的大孔都焊上才能稳定传输,否则不仅插座不牢,好像数据传输也不稳定不准确。

5.其他的一些链接

MAX232型号说明关于MAX232一点心得
实际中还是推荐使用较低的波特率波特率,kbps,Mbps含义
关于串口通信波特率的几点思考

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值