1 / 26

第 9 章 串行通信 及其接口

第 9 章 串行通信 及其接口. 第二部分 微机原理. 主讲教师:喻红. 主要内容. 了解串行通信原理 了解 MCS51 串行通信方式 了解 MCS51 串行通信的使用. 9.1  概述. 9.1.1  串行通信的基本概念. 一、并行通信和串行通信 并行通信: 定义:数据各位同时传送 特点:速度快、效率高、数据线较多, 成本高,适用于通信距离较短。 串行通信: 定义:数据按位顺序传送 特点:线路简单,最多一对传输线

yeriel
Télécharger la présentation

第 9 章 串行通信 及其接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第9章 串行通信及其接口 第二部分 微机原理 主讲教师:喻红

  2. 主要内容 • 了解串行通信原理 • 了解MCS51串行通信方式 • 了解MCS51串行通信的使用

  3. 9.1 概述 9.1.1 串行通信的基本概念 一、并行通信和串行通信 • 并行通信: • 定义:数据各位同时传送 • 特点:速度快、效率高、数据线较多, 成本高,适用于通信距离较短。 • 串行通信: • 定义:数据按位顺序传送 • 特点:线路简单,最多一对传输线 传送时数据格式有要求 信息逻辑定义与TTL电平不兼容, 需要进行电平转换。

  4. 二、异步通信和同步通信 1.异步通信:一个字符一个字符地传送。 数据格式: 1)起始位:一个字符开始的标志,是一位低电平 2)数据位:低位在前高位在后,5~8位。 3)奇偶效验位:用于检查字符传送的正确性,占一位。分为奇校验、偶校验和无校验三种。 4)停止位:一个字符结束的标志,是一位或两位高电平

  5. 数据传送过程 (1)接收设备不断检测传送线,确定是否有起始位到来。在一系列的“1”(停止位和空闲位)之后检测到一个下降沿,并确定该低电平有一位数据的宽度,既确认是一个起始位。 (2)起始位之后,可以确定是数据位。 (3)将接收到的数据按事先约定好的格式,去掉停止位,进行奇偶校验并无错误,则确认接收到一个字符。 (4)下一个字符起始位的检测,回到(1)。 (5)所有数据传送完毕。

  6. 送 设 备 接 收 设 备 2.同步通信 同步——发送设备时钟与接收设备时钟严格一致。 所有字符以帧的形式传送 接收端通过搜索开始和结束标志建立帧的同步。 标志之间为地址场、控制场、信息场和帧校验场。

  7. 三、串行通信数据传送方向 单向传送: 简称单工传送,数据只向一个方向传送 半双向传送: 简称半双工传送 特点: 数据双向传送 传送线只有一根,既作输入 又作输出,但不能同时收发 软件控制传送方向 全双向传送: 简称全双工传送 特点: 数据双向传送 两根数据传送线,通信双 方可同时进行接收和发送。

  8. 四、波特率   波特率:数据传送速率,即每秒钟传送二进制代码的位数。   单位:位/秒(bit/s)或波特。   如果数据传送速率位200字符/ 秒,每个字符包含10个代码位,则传送的波特率是 200字符/秒×10位/字符=2000波特=2000bps

  9. 9.2MCS-51的串行口 9.2.1 串行口的组成 MCS-51串行口特点 • 全双工串行口 • 4种工作方式 • 可编程(软件设定波特率) • 两个独立的接收、发送数据缓冲器SBUF • 控制寄存器SCON和PCON

  10. 图中有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据。图中有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据。

  11. 5 l 单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.l,串行数据发送端)与外界进行通信。 ●发送缓冲器只能写入,不能读出,CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送;发送指令: MOV SBUF,A ●接收缓冲器只能读出、不能写入。读SBUF,就是读接收寄存器。读取串行口接收数据指令: MOV A,SBUF

  12. 一、控制状态寄存器SCON,字节地址98H • SM0、SM1:工作方式控制位 • SM2:方式2、3多机通信控制位; • REN:允许接收控制位; • TB8:方式2、3中要发送的第9位 • RB8:方式2、3中接收到的第9位 TI:发送中断标志位。 RI:接收中断标志位。

  13. 二、特殊功能寄存器PCON,地址87H • SMOD:波特率倍增位 SMOD=1,波特率加倍。 SMOD=0,波特率不加倍。

  14. ●波特率发生器 可以有两种选择: 1.定时器T1作波特率发生器,改变计数初值就可以改变串行通信的速率,称为可变波特率。 2.以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率

  15. 串行口的工作方式:由SM0、SM1定义

  16. 9.2.2 串行口的工作方式 工作方式0特点:移位寄存器方式 由RXD输入或输出数据(8位) 由TXD输出同步位移脉冲 主要用于扩展I/O口。 1.方式0发送 :发送完毕置位TI 2.方式0接收 :接收条件REN=1、RI=0;接收完毕置位RI 波特率:focs/12

  17. 工作方式1特点:波特率可变的8位异步通信; 数据结构10位:工作方式1特点:波特率可变的8位异步通信; 数据结构10位: 1位起始位+8位数据位+1位停止位 1.方式1发送 :发送完毕置位TI。 2.方式1接收 :接收条件RI=0、SM2=0或接收到        的停止位为1;接收完毕置位RI。 波特率:2SMOD/32 × TI溢出率

  18. 工作方式2特点: 9位异步通信   数据结构11位: 1位起始位+8位数据位+1位附加位+1位停止位 波特率:2SMOD/64 × focs

  19. 工作方式3同工作方式2 波特率:2SMOD/32 × TI溢出率

  20. 乙方 (接收) 甲方(发送) CPU CPU 并行数据 并行数据 MOV SBUF , A MOV A , SBUF 串行数据 SBUF SBUF shift shift 串行通信的传送过程用下面简图说明 甲方发送时,CPU执行指令 MOV SBUF , A 启动了发送过程,数据并行送入SBUF,在发送时钟 shift的控制下由低位到高位一位一位发送,乙方在接收时钟 shift 的控制下由低位到高位

  21. 顺序进入移位寄存器SBUF,甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断), CPU可再发送下一帧数据 。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过MOV A ,SBUF CPU将这帧数据并行读入。 由上述可知: 1.甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。 2.发送方是先发数据再查标志,接收方是先查标志再收数据。

  22. 9.2.3 波特率的设定 波特率的设定: 方式0:1/12 focs 方式2:2SMOD/64 focs 方式1、3: 2SMOD/32×TI溢出率 T1用于产生波特率时,通常工作于定时模式2,为8位自动重装定时器,且禁止T1中断。

  23. 方式1、3为可变波特率,它由SMOD和定时器T1的溢出率方式1、3为可变波特率,它由SMOD和定时器T1的溢出率 共同决定。 B=(2SMOD/32)×T1溢出率 用T1作波特率发生器时,通常选用T1工作在定时模式2。 T1为方式2的时间常数: X = 28 - t/T 溢出周期: t= (28 -X)T = (256-X)×12/ fosc T1溢出率=1/t= fosc /[12×(256-X)] 波特率B=(2SMOD /32)×fosc/[12×(256-X)]

  24. 在实际应用中,往往给定通信波特率B,而后确定计数初值X。由上式可得:在实际应用中,往往给定通信波特率B,而后确定计数初值X。由上式可得: X=256-( 2SMOD ×fsco)/(B×32 ×12) 例:已知8051单片机的时钟振荡频率fsco为6MHz,波特率为2400bps,(选用定时器T1工作于定时模式2,求计数初值并编写初始化程序。) 解 设波特率控制位SMOD=1,则计数初值为: X=256-(21 ×6×106)/(2400×32×12) ≈243=F3H

  25. INTT: MOV TMOD,#20H ;选T1定时模式2 MOV TH1,#0F3H ;预置计数初值X MOV TL1,#0F3H SETB TR1 ;启动定时器T1 MOV PCON,#80H ;SMOD=1 MOV SCON,#50H ;串行口方式1工作 MOV IE,#90H ;串行口开中断

  26. 本章结束 谢谢

More Related