【单片机教程】串口通信模块应用指南

更新:11-23 神话故事 我要投稿 纠错 投诉

其实【单片机教程】串口通信模块应用指南的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享【单片机教程】串口通信模块应用指南的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

有两种联系方式:并行通信串行通信。在多微机系统和现代测控系统中,常采用串行通信来交换信息。

并行通信通常使用多条数据线同时传输数据字节位,如下图所示。并行通讯控制简单,传输速度快;但由于传输线路较多,长距离传输成本较高,且接收端的所有人难以同时接收。并行通信图串行通信将数据字节分成位,并在传输线上一位一位地传输,如下图所示。串行通信的特点是传输线路少,远距离传输成本低,可以利用电话网络等现有设备,但数据传输控制比并行通信复杂。串行通信图

二、串行通信的基本概念

串行通信根据发送方和接收方是否使用同步时钟分为两种方式:同步串行通信和异步串行通信。

2.1、异步通信与同步通信

(1) 异步通信

异步通信是指发送与接收设备使用各自的时钟控制数据发送和接收过程的通信。为了协调双方的发送和接收,要求发送和接收设备的时钟尽可能一致。

异步通信以字符(帧)为单位进行传输。字符之间的时间间隔(间隙)是任意的,但每个字符中的位是按固定时间传输的,即字符之间没有间隙。一定存在一种关系,是位间隔的整数倍,但同一个字符中位之间的距离是位间隔的整数倍。

异步通信示意图。异步通信的数据格式如下。一个字符帧包括:1个起始位+8个数据位+1个校验位+1个停止位=11位。

异步通信的数据格式异步通信的特点是:不要求发送方和接收方时钟严格一致,实现容易,设备开销小,但每个字符需要附加2个字符。 3位用于开始和结束位,并且每帧之间有间隙。所以传输效率不高。

(2) 同步通讯

同步通信时,必须建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输的数据的比特之间的距离为比特间隔的整数倍,传输的字符之间没有间隙,即保持了比特同步关系,又保持了字符同步关系。

发送方与接收方的同步可以通过两种方式实现:外同步和自同步,如下。

发送方与接收方的同步方法

2.2、串行通信的传输方向

串行通信的传输方向有单工、半双工、全双工。

单工是指数据只能单向传输,不能实现反向传输。半双工意味着数据传输可以在两个方向上进行,但需要分时。全双工意味着数据可以同时在两个方向上传输。如下图所示,从左到右分别是单工、半双工、全双工通信。

串行通讯传输方向

2.3、串行通信常见的错误校验

奇偶校验发送数据时,数据位的尾随1 位为奇偶校验位(1 或0)。

奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;

在偶校验中,数据中“1”的个数与奇偶校验位中“1”的个数之和应为偶数。

接收字符时,检查“1”的数量。如果发现不一致,则说明数据传输过程中出现错误。

例如发送数据11000110,数据中1的个数为4个。如果采用奇校验,则校验位为1;如果采用奇校验,则校验位为1;如果使用偶校验,则奇偶校验位应为0。

编码和验证编码和验证是指发送方将发送的数据块相加(或对每个字节进行异或),生成一字节的校验字符(checksum),并将其附加到数据块的末尾。

接收方收到数据后同时对数据块(校验字节除外)求和(或对每个字节进行异或),并将结果与发送方的校验和进行比较。如果它们匹配,则没有错误。否则,则认为传输过程发生了错误。

循环冗余校验循环冗余校验是通过一定的数学运算在有效信息和校验位之间进行循环校验。常用于磁盘信息的传输和存储区域的完整性检查。这种验证方法具有很强的纠错能力,在同步通信中得到广泛应用。

2.4、传输速率

串行通信的传输速率以比特率(也称为波特率)来衡量,比特率是每秒钟传输二进制的位数,单位为比特每秒(bps)。如果每秒传输240个字符,每个字符格式包含10位(1个起始位,1个停止位,8个数据位),那么此时的比特率为:10位240位/秒=2400bps。

串行接口或终端直接传输串行信息比特流的最大距离与传输速率传输线的电气特性有关。

当传输线采用每0.3m电容为50pF的不平衡屏蔽双绞线时,传输距离随着传输速率的增加而减小。

当比特率超过1000bps时,最大传输距离迅速下降。例如,在9600bps 时,最大距离降至仅76m。

三、串行通信接口标准

3.1、RS-232C接口

RS-232C 是EIA(电子工业协会)于1969 年修订的RS-232C 标准,该标准定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准

RS-232C 的机械特性RS-232C 接口指定使用25 针连接器。连接器的尺寸和每个引脚的排列位置都有明确的规定。 (男性头)

下图是RS-232C接口示意图。左图为标准25针连接器,左图为9针非标准连接器。

RS232C接口示意图。 RS-232C 接口的功能特性如下。序列号为9针非标连接器的针脚编号。

引脚编号接口名称功能信号方向1PGND 保护接地2(3)TXD发送数据(串行输出)DTEDCE3(2)RXD接收数据(串行输入)DTEDCE4 (7) RTS 请求发送DTE DCE5 (8) 允许CTS发送DTEDCE6 (6) DSRDCE 就绪,数据建立就绪DTEDCE7(5)SGND信号接地8 (1) DCD 载波检测DTEDCE20 (4) DTRDTE 就绪,数据终端就绪DTEDCE22 (9 ) RI 振铃指示DTE DCERS-232C 的过程特性规定了信号之间的时序关系,以正确接收和发送数据。

RS323C远程通讯原理图RS323C短程通讯原理图RS232C电平与TTL电平转换驱动电路如下:

RS232C电平与TTL电平转换驱动电路图RS-232C接口存在以下问题:

传输距离短,传输速率低。 RS-232C总线标准受到电容允许值的限制。使用时,传输距离一般不超过15米(线路条件好的情况下不超过几十米)。最大传输速率为20Kbps。

带有电平偏移的RS-232C总线标准要求发送方和接收方共享一个公共地。当通信距离较大时,发送方和接收方的地电位差较大,信号地会有较大的地电流和电压降。

抗干扰能力差RS-232C在电平转换时采用单端输入和输出。在传输过程中,正常信号中会混入干扰和噪声。为了提高信噪比,RS-232C总线标准不得不使用相对较大的电压摆幅。

3.2、RS-422A

RS-422A 输出驱动器是双端平衡驱动器。如果其中一条线处于逻辑“1”状态而另一条线处于逻辑“0”状态,则与使用单端不平衡驱动相比,电压的放大系数加倍。

差分电路可以从地干扰中拾取有效信号,差分接收器可以解析超过200mV的电位差。

如果传输过程中干扰和噪声混合在一起,由于差分放大器的作用,干扰和噪声可以相互抵消。因此,可以避免或大大减少地线干扰和电磁干扰的影响。

当RS-422A传输速率为90Kbps时,传输距离可达1200米。

RS-422A 接口

3.3、RS-485接口

RS-485 是RS-422A 的变体:RS-422A 用于全双工,RS-485 用于半双工。

RS-485 是一种多发送器标准,允许通信线路供应商使用多达32 对差分驱动器/接收器。如果超过32 个设备连接到网络,还可以使用中继器。

RS-485 接口RS-485 信号传输采用两条线之间的电压来表示逻辑1 和逻辑0。由于发送方需要两条传输线,因此接收方也需要两条传输线。

传输线采用差分通道,因此其干扰抑制极佳,并且由于阻抗低且无接地问题,传输距离可达1200米,传输速率可达1Mbps。

RS-485是一种点对多点的通信接口,一般采用双绞线结构。普通PC机一般没有RS485接口,因此必须使用RS-232C/RS-485转换器。对于单片机来说,可以通过芯片MAX485完成TTL/RS-485电平转换。

在计算机与单片机组成的RS-485通信系统中,下位机由单片机系统组成,上位机为普通PC机。它负责监视下位机的运行状态,集中处理其状态信息,并以图文形式显示出来。工业现场下位机的工作状态和受控设备的工作状态。系统中各个节点的识别是通过设置不同的站地址来实现的。

四、80C51的串行口

80C51串口的结构如下图所示。 TXD(P3.1)和RXD(P3.0)用于实现串口通信;有两个物理上独立的接收和发送缓冲器SBUF,占用同一个地址99H;为了实现串行通信,使用定时器T1。接收器具有双缓冲结构,发送缓冲区不会产生重叠错误,因为发送时CPU处于活动状态。

80C51串口结构图

4.1、80C51串行口的控制寄存器

(1)SCON特殊功能寄存器

SCON是一个特殊功能寄存器,用来设定串行口的工作方式、接收/发送控制以及设置状态标志

SCON寄存器各位表示如下:

位76543210 字节地址:98HSM0SM1SM2RENTB8RB8TIRISCON SM0 和SM1 为工作模式选择位,可选择四种工作模式: SM0SM1 模式说明波特率000 移位寄存器01110 位异步接收发送器(8 位数据)变量10211 位异步收发器(9 位数据)或11311 位异步收发器(9 位数据)变量SM2:多机通信控制位,主要用于模式2 和模式3。

当接收器的SM2=1时,可以通过接收到的RB8位来控制是否激活RI(当RB8=0时,不激活RI,接收到的信息被丢弃;当RB8=1时,接收到的数据进入SBUF,并且RI被激活,然后在中断服务中从SBUF读取数据)。当SM2=0时,无论接收到的RB8是0还是1,接收到的数据都可以进入SBUF并激活RI(即此时RB8不具备控制RI激活的功能)。通过控制SM2可以实现多机通信。模式0时,SM2必须为0;在模式1 下,如果SM2=1,只有当接收到有效停止位时,RI 才会置1。 REN:允许串行接收位。如果软件设置REN=1,则使能串口接收数据;如果软件设置REN=0,则接收将被禁用。

TB8:在模式2或模式3下,为发送数据的第9位。其功能可由软件指定。可以作为数据的奇偶校验位,也可以在多机通信中,作为地址帧/数据帧的标志。少量。在模式0 或模式1 下,该位未使用。

RB8:在模式2或3下,为接收数据的第9位,用作地址帧/数据帧的奇偶校验位或标志位。模式1下,若SM2=0,则RB8为接收停止位。

TI:发送中断标志位。在模式0下,当串行传输第8位数据结束时,或者在其他模式下,当串行传输停止位开始时,内部硬件将TI设置为1,并向CPU发送中断请求。在中断服务程序中,必须用软件清0,才能取消本次中断请求。

RI:接收中断标志位。在模式0下,当串行接收第8位数据结束时,或者在其他模式下,当串行接收停止位中间时,内部硬件将RI设置为1,并向CPU发送中断请求。还必须在中断服务程序中用软件将其清0,以取消本次中断请求。

(2)PCON特殊功能寄存器

PCON 中只有一个SMOD 与串口操作相关。

位76543210 字节地址: 97HSMODPCONSMOD:波特率乘法位。串口模式1、模式2、模式3下,波特率与SMOD有关。当SMOD=1时,波特率加倍。复位时,SMOD=0。

4.2、80C51串行口的工作方式

TCON 的SM0SM1 指定了四种工作模式。

(1)模式0

模式0下,串行口为同步移位寄存器的输入/输出模式,主要用于扩展并行输入或输出端口。

数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收都是8位数据,低位在前,高位在后。波特率固定为。

以下是模式0输出时序图。从时序图可以看出,当数据发送时,会产生中断(TI置高电平); TXD为高电平,RXD从高电平开始到低电平。发送数据。当TXD为低电平时,RXD保持电平不变;当TXD为高电平时,RXD可以改变电平。

模式0输出时序图如下:模式0输入时序图。 REN置1,启动串口接收数据;当TXD为低电平时,接收RXD输入的数据。

模式0输入时序图(二) 模式1

模式1是10位数据的异步通信端口。 TXD为数据发送引脚,RXD为数据接收引脚。传输一帧数据的格式如下图所示。 10位数据包括:1个起始位+8个数据位+1个停止位。

模式1 一帧数据格式模式1 输出时序图如下。当TXD由高电平变为低电平时,开始发送起始位。当发送停止位(高电平)时,TI置高电平,发送中断请求。

【单片机教程】串口通信模块应用指南和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

用户评论

逃避

我一直想学习一下关于单片机的串口通信啊。

    有16位网友表示赞同!

此生一诺

这玩意儿我听过,感觉挺高端的,你们讲明白点吗?

    有13位网友表示赞同!

别悲哀

学习51单片机正好趁着这个机会入门串口通信吧!

    有14位网友表示赞同!

夏日倾情

之前遇到个项目需要用到串口通信,结果找资料好久都没找到合适的教程,希望能从这里学到东西。

    有6位网友表示赞同!

爱你的小笨蛋

有没有什么具体讲解案例啊?这样能更直观理解。

    有19位网友表示赞同!

微信名字

51单片机串口通信真的比较常用吗?

    有20位网友表示赞同!

走过海棠暮

我想搞一个简单的控制项目,不知道这个模块是否适用。

    有18位网友表示赞同!

荒野情趣

我看到很多51单片机项目都用到了串口通信,真是个好东西啊!

    有12位网友表示赞同!

高冷低能儿

学习完以后能DIY一些有意思的小玩意儿吗?

    有20位网友表示赞同!

强辩

感觉标题写的太专业了,其实就是讲简单的点对点通讯吧?

    有8位网友表示赞同!

陌上花

我平时用的C语言可以用来开发串口通信吗?

    有16位网友表示赞同!

站上冰箱当高冷

有没有推荐一些学习资料或者视频教程啊?

    有10位网友表示赞同!

坏小子不坏

听说串口通信的速度还是挺慢的,适合什么类型的项目呢?

    有11位网友表示赞同!

哭花了素颜

51单片机串口模块和蓝牙有什么区别啊?

    有15位网友表示赞同!

三年约

这个系列课程难度怎么样?我刚接触单片机。

    有7位网友表示赞同!

抚笙

学习完这个模块还能做哪些高大上的事情呢?

    有5位网友表示赞同!

珠穆郎马疯@

请问这个系列课程的更新频率是多少?

    有18位网友表示赞同!

蝶恋花╮

如果有实践项目就更好了,可以跟着代码一步步做出来。

    有6位网友表示赞同!

枫无痕

有没有讲一些高级串口通信技术的文章啊?例如数据校验等等。

    有5位网友表示赞同!

爱你心口难开

希望能从这里学到一些实际操作的技巧,而不是死记硬背理论知识!

    有12位网友表示赞同!

【【单片机教程】串口通信模块应用指南】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:每日一团商品真伪鉴定及下载方法揭秘 下一篇:中国广电官方手机卡申请通道