找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17114|回复: 5
打印 上一主题 下一主题
收起左侧

51单片机串口通信原理课件下载(很详细)

  [复制链接]
跳转到指定楼层
楼主
ID:398515 发表于 2018-9-25 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是计算机通信

通信是指通过某种媒体将信息从一地传送到另一地。古代飞鸽传书和今天电话、手机,都是人与人之间的通信。
计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换。 上面所说的计算机与计算机之间的通信分下面3种情况:
PC机与PC机通信; PC机与单片机通信(本讲只讲这一种); 单片机与单片机通信。


为什么要进行计算机通信

计算机通信的出现,大大拓展了计算机的应用范围。 PC机与单片机通信,可以实现:
1、实现远程测控。
2、组成计算机网络。




并行通信的特点:传输速度快,由于需要多根传输线,长距离传输时成本高,只适用于短距离传输。

串行通信的特点:传输速度慢,但传输线少,长 距离传传输时成本低,适用于长距离传输。

异步通信与同步通信

异步通信 收发设备使用各自的时钟。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。接收端必须时刻做好接收的准备。发送端可
以在任意时刻开始发送字符,为保证收发双方同步, 每个字符的开始和结束的地方必须加上标志,即加上起始位和停止位,以便使接收端能够正 确地将每一个字符接收下来。

特点:由于不要求收发双方时钟严格一致,因此容易实现,通信设备简 单、便宜。但为保证收发双方同步,每个字符均需附加起始位、停止位, 因此传输效率不高。

同步通信 发送与接收设备使用同一个时钟,双方本身完全同步,从理论上说,不 需要人为增加同步措施,但实际上还是要增加一些同步措施的(同步通信把几十到几千个字符组成一个帧,每帧的开始要附加同步字符)。异 步通信在发送字符时,所发送的字符之间没有时间间隔。

特点:收发双方不停地发送和接收连续的字符,传输效率高,特别适合 批量数据的传送;但它要求在通信中保持精确的同步,实现较异步通信 复杂。





串行通信的传输方向

1、单工 单工是指数据传输仅能沿一个方向进行。
2、半双工 半双工是指数据传输可以沿两个方向,但需要分时进行。
3、全双工 全双工是指数据可以同时进行双向传输。



本讲没有用到奇偶校验,因此这里我们只要了解就可以了。 收发双方事先约定采用奇校验还是偶校验。 如约定采用奇校验:发送数据时,数据位尾随1位奇校验位,奇校验 位可以取0或1,但要保证,数据中“1”的个数与校验位“1”的个数之和 应为奇数;接收数据时,检查数据中“1”的个数与校验位“1”的个数之 和是否仍应为奇数,如不是,则说明数据在传输过程中出现了差错。 如约定采用偶校验:发送数据时,数据位尾随1位偶校验位,偶校验 位可以取0或1,但要保证,数据中“1”的个数与校验位“1”的个数之和 应为偶数;接收数据时,检查数据中“1”的个数与校验位“1”的个数之 和是否仍应为偶数,如不是,则说明数据在传输过程中出现了差错。

串行通信的数传率

数据传输率 简称数传率,指单位时间内传输的信息量,可用比特率和波特率来表示。
⑴比特率:是数字信号的传输速率,它用单位时间内传输的二进制代码的有 效位(bit)数来表示,其单位为每秒比特数bit/s(bps) 。
⑵波特率:波特率指数据信号对载波的调制速率,它用单位时间内载波调制 状态改变次数来表示,其单位为波特(Baud)。 对于串行通信来说,或者说是对于普通的数字电路来说,都是两相调制,也就 是单个调制状态对应1个二进制位,因此:
比特率= 波特率

1bps=1 Baud
计算机中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可达56Kbps.
CH340转出的虚拟串口的波特率突破了传统串口的56Kbps限制,最高可达2Mbps

串行通信的传输距离
RS232为全双工,最大传输距离15米。 RS485为半双工,最大传输距离1200米,最多可 加8只中继器,可延伸到10800米 。

串行通信接口标准

RS-232是美国电子工业协会EIA在1962年发布的一种 串行通信接口标准,后有不少改进版本,其中最常用的 是RS-232-C版。 RS是英文“推荐标准”的缩写,232为 标识号,C表示修改次数。RS-232-C总线标准设有25 条信号线,包括一个主通道和一个辅助通道,在多数情 况下主要使用主通道,对于一般双工通信,仅需几条信 号线就可实现,如一条发送线、一条接收线及一条地线。







笔记本电脑如何进行串口实验

大部分笔记本电脑,甚至部分新出的台式机没有 串口,我们可以用USB转换的方式,转出一个甚 至多个虚拟的串口,同样可以完成串口实验。

此时,单片机端要用CH340(或其他的USB- COM芯片,如PL2303)替代MAX232,单片机端 与PC端改用USB电缆连接, PC机安装驱动程 序。上下位机编程和其他操作和原来完全一致。


笔记本电脑(包括台式机)可使用USB口转出的虚拟串口进行串行通信,框图如上

MAX232是TTL和RS232电平转换芯片,CH340是USB-COM转换芯片。 单片机叫下位机,PC机叫上位机。

在串口传输电缆上,采用 RS232电平规范:
逻辑1=-3V~-15V
逻辑0=+3V~+15V
而单片机的串口模块采用TTL电平规范: 逻辑1=5V
逻辑0=0V

因此单片机的串口模块和串口传输电缆之间要进 行电平转换,这个任务由MAX232完成。


STC89C52 有1个串口模块----串口1,有两个物理上独立的接收、发送缓冲器,但是它们都叫SBUF。单片机 操作的时候是否会产生混乱?不会。执行读操作时,访问接收缓冲器; 执行写操作时,访问发送缓冲器。

串行口的控制寄存器

SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发 送控制以及设置状态标志,可以按位操作:(复位值:0x00000000)



SM0和SM1为工作方式选择位,可选择四种工作方式,一般选方式1:



●REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
●TI,发送中断标志位。在方式0时,当串行发送第8位数 据结束时,或在其它方式,串行发送停止位的开始时,由 内部硬件使TI置1,向CPU发中断申请。在中断服务程序 中,必须用软件将其清0,取消此中断申请。
●RI,接收中断标志位。在方式0时,当串行接收第8位数 据结束时,或在其它方式,串行接收停止位的中间时,由 内部硬件使RI置1,向CPU发中断申请。也必须在中断服 务程序中,用软件将其清0,取消此中断申请。

下列位本讲未用,采用上电默认值0:
●SM2:多机通信控制位
●TB8:发送数据的第九位
●RB8:接收到数据的第九位

独立波特率发生器的相关位



BRTR(独立波特率发生器启停位): =1, 允许独立波特率发生器 运行;=0, 不允许独立波特率发生器运行。

BRTx12:=0, 独立波特率发生器每12 个时钟计数一次(和传 统51兼容),=1, 独立波特率发生器每1 个时钟计数一次

S1BRS: =1, 独立波特率发生器作为串口1 的波特率发生 器,此时定时器1 得到释放; =0, 串口1 波特率发生器选 择定时器1。

PCON中只有一位SMOD与串行口工作有关 :

SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。
该位本讲未用,采用上电默认值0即可。

串行口的工作方式

本讲只讲最常用的方式1;方式0、2、3很少用到,不需掌握。
方式1是10位数据的异步通信口。TXD为数据发送引脚, RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1 位起始位,8位数据位,1位停止位。



波特率和BRT值的计算

在串行通信中,收发双方对发送或接收数据的速率要有约定。

方式1的波特率=(2SMOD/32)•( 独立波特率发生器的溢 出率)
当BRTx12 = 0时:独立波特率发生器的溢出率 =Fosc/12/( 256 - BRT )
实例:波特率9600,计算BRT的值。
波特率 =(1/32)•(fosc /12/(256 -BRT))
BRT=256- fosc /(384*波特率)=256-11059200/
(384*9600)=253
也可以用“51串口通信计算器”快速完成BRT设置值的计算。


串行口初始化步骤


1、TX设置为输出、RX设置为输入,也可不设置,采用默认的准双向 口模式。
2、设置串口1 的工作模式,SCON 寄存器中的SM0 和SM1 两位决定 了串口1 的4 种工作模式。
3、如要串口1 接收,将SCON 寄存器中的REN 位置1 即可。
4、计算BRT的值, 并置数;
5、设置独立波特率发生器相关位:BRTx12:=0, S1BRS: =1, SMOD
6、启动独立波特率发生器( BRTR =1);
7、串行口工作在中断方式时,还要设置串口1 的中断优先级
( PS,PSH ),如果不设置的话,默认是低优先级;打开中断相应的 控制位(ES,EA)。接收完成标志RI,发送完成标志TI,要由软件清


如何通过串口收发数据

串口1接收到的数, 从SBUF中读取;如要从串口1 发送,将数据送入SBUF 即可。







完整的pdf格式课件文档51黑下载地址:
35、慧净51单片机视频教程 51单片机串口通信原理.pdf (1.03 MB, 下载次数: 0)





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:49198 发表于 2019-4-23 13:44 | 只看该作者
不错的资料,学习一下,顶,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:526414 发表于 2019-5-3 14:25 | 只看该作者
不错的资料,学习一下,顶,51黑有你更精彩!!!
回复

使用道具 举报

地板
ID:394337 发表于 2019-7-27 16:33 | 只看该作者
不错的资料,学习一下,顶,51黑有你更精彩!!!
回复

使用道具 举报

5#
ID:603958 发表于 2019-12-10 13:57 | 只看该作者
能下载吗
回复

使用道具 举报

6#
ID:660572 发表于 2019-12-10 14:31 来自手机 | 只看该作者
感谢大佬分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表