第
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

第 9 章 串行通信 及其接口 PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

第 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


9

第9章 串行通信及其接口

第二部分 微机原理

主讲教师:喻红


9

主要内容

  • 了解串行通信原理

  • 了解MCS51串行通信方式

  • 了解MCS51串行通信的使用


9

9.1 概述

9.1.1 串行通信的基本概念

一、并行通信和串行通信

  • 并行通信:

  • 定义:数据各位同时传送

  • 特点:速度快、效率高、数据线较多,

    成本高,适用于通信距离较短。

  • 串行通信:

  • 定义:数据按位顺序传送

  • 特点:线路简单,最多一对传输线

    传送时数据格式有要求

    信息逻辑定义与TTL电平不兼容,

    需要进行电平转换。


9

二、异步通信和同步通信

1.异步通信:一个字符一个字符地传送。

数据格式:

1)起始位:一个字符开始的标志,是一位低电平

2)数据位:低位在前高位在后,5~8位。

3)奇偶效验位:用于检查字符传送的正确性,占一位。分为奇校验、偶校验和无校验三种。

4)停止位:一个字符结束的标志,是一位或两位高电平


9

数据传送过程

(1)接收设备不断检测传送线,确定是否有起始位到来。在一系列的“1”(停止位和空闲位)之后检测到一个下降沿,并确定该低电平有一位数据的宽度,既确认是一个起始位。

(2)起始位之后,可以确定是数据位。

(3)将接收到的数据按事先约定好的格式,去掉停止位,进行奇偶校验并无错误,则确认接收到一个字符。

(4)下一个字符起始位的检测,回到(1)。

(5)所有数据传送完毕。


9

2.同步通信

同步——发送设备时钟与接收设备时钟严格一致。

所有字符以帧的形式传送

接收端通过搜索开始和结束标志建立帧的同步。

标志之间为地址场、控制场、信息场和帧校验场。


9

三、串行通信数据传送方向

单向传送:

简称单工传送,数据只向一个方向传送

半双向传送:

简称半双工传送

特点:

数据双向传送

传送线只有一根,既作输入

又作输出,但不能同时收发

软件控制传送方向

全双向传送:

简称全双工传送

特点:

数据双向传送

两根数据传送线,通信双

方可同时进行接收和发送。


9

四、波特率

  波特率:数据传送速率,即每秒钟传送二进制代码的位数。

  单位:位/秒(bit/s)或波特。

  如果数据传送速率位200字符/ 秒,每个字符包含10个代码位,则传送的波特率是

200字符/秒×10位/字符=2000波特=2000bps


9 2 mcs 51

9.2MCS-51的串行口

9.2.1 串行口的组成

MCS-51串行口特点

  • 全双工串行口

  • 4种工作方式

  • 可编程(软件设定波特率)

  • 两个独立的接收、发送数据缓冲器SBUF

  • 控制寄存器SCON和PCON


9

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


9

5 l 单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.l,串行数据发送端)与外界进行通信。

●发送缓冲器只能写入,不能读出,CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送;发送指令:

MOVSBUF,A

●接收缓冲器只能读出、不能写入。读SBUF,就是读接收寄存器。读取串行口接收数据指令:

MOV A,SBUF


9

一、控制状态寄存器SCON,字节地址98H

  • SM0、SM1:工作方式控制位

  • SM2:方式2、3多机通信控制位;

  • REN:允许接收控制位;

  • TB8:方式2、3中要发送的第9位

  • RB8:方式2、3中接收到的第9位

TI:发送中断标志位。

RI:接收中断标志位。


9

二、特殊功能寄存器PCON,地址87H

  • SMOD:波特率倍增位

SMOD=1,波特率加倍。

SMOD=0,波特率不加倍。


9

●波特率发生器 可以有两种选择:

1.定时器T1作波特率发生器,改变计数初值就可以改变串行通信的速率,称为可变波特率。

2.以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率


9

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


9

9.2.2 串行口的工作方式

工作方式0特点:移位寄存器方式 由RXD输入或输出数据(8位) 由TXD输出同步位移脉冲主要用于扩展I/O口。

1.方式0发送 :发送完毕置位TI

2.方式0接收 :接收条件REN=1、RI=0;接收完毕置位RI

波特率:focs/12


9

工作方式1特点:波特率可变的8位异步通信;数据结构10位:

1位起始位+8位数据位+1位停止位

1.方式1发送 :发送完毕置位TI。

2.方式1接收 :接收条件RI=0、SM2=0或接收到        的停止位为1;接收完毕置位RI。

波特率:2SMOD/32 × TI溢出率


9

工作方式2特点: 9位异步通信   数据结构11位:

1位起始位+8位数据位+1位附加位+1位停止位

波特率:2SMOD/64 × focs


9

工作方式3同工作方式2

波特率:2SMOD/32 × TI溢出率


9

乙方 (接收)

甲方(发送)

CPU

CPU

并行数据

并行数据

MOV SBUF , A

MOV A , SBUF

串行数据

SBUF

SBUF

shift

shift

串行通信的传送过程用下面简图说明

甲方发送时,CPU执行指令 MOV SBUF , A 启动了发送过程,数据并行送入SBUF,在发送时钟 shift的控制下由低位到高位一位一位发送,乙方在接收时钟 shift 的控制下由低位到高位


9

顺序进入移位寄存器SBUF,甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断), CPU可再发送下一帧数据 。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过MOV A ,SBUF CPU将这帧数据并行读入。

由上述可知:

1.甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。

2.发送方是先发数据再查标志,接收方是先查标志再收数据。


9 2 3

9.2.3 波特率的设定

波特率的设定:

方式0:1/12 focs

方式2:2SMOD/64 focs

方式1、3:

2SMOD/32×TI溢出率

T1用于产生波特率时,通常工作于定时模式2,为8位自动重装定时器,且禁止T1中断。


9

方式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)]


9

在实际应用中,往往给定通信波特率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


9

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 ;串行口开中断


9

本章结束

谢谢


  • Login