Presentation is loading. Please wait.

Presentation is loading. Please wait.

主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用

Similar presentations


Presentation on theme: "主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用"— Presentation transcript:

1 主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
第6章 MCS-51串行口及应用 主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用

2 6.1 数据通信的基本概念 6.1.1 并行通信和串行通信 计算机采用二进制数字(位)表示数据,数据从一台计算机向另一台计算机传输称为通信。
6.1 数据通信的基本概念 6.1.1 并行通信和串行通信 计算机采用二进制数字(位)表示数据,数据从一台计算机向另一台计算机传输称为通信。 数据通信有两种方式:并行通信和串行通信。 并行通信 串行通信

3 6.1 数据通信的基本概念 6.1.2 串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。 单工通信

4 6.1 数据通信的基本概念 6.1.2 串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。 半双工方式

5 6.1 数据通信的基本概念 6.1.2 串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。 半双工方式

6 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 异步方式的一帧数据格式 起始位:表示一个字符的开始
6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 异步方式的一帧数据格式 起始位:表示一个字符的开始 停止位:表示字符的结束 数据位:N位,在起始位之后、停止位之前。通信时,数据从低位开始传送。 奇偶校验位:紧跟在数据位之后一位,用于有限差错检测,保证数据传输的正确性 。当数据不需进行奇偶校验时,此位可省略。

7 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 异步通信中数据传送格式

8 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 在异步通信时,通信的双方必须遵守以下基本约定:
6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 在异步通信时,通信的双方必须遵守以下基本约定: (1)字符格式必须相同; (2)通信速率必须相同。

9 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式
6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (一)异步方式 串行通信的速率也称为波特率,波特率是指每秒传送二进制代码的位数,单位为位/秒(bit/s)。 假设一台设备的数据传送速率为240字符/秒,异步通信方式时,字符格式位为:1位起始位,8位数据位,1位停止位,则波特率为:240×10=2400 bit/s 每一个二进制代码位的传送时间为波特率的倒数: 异步通信的波特率一般在50~19200 bit/s 之间。

10 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (二)同步方式
6.1 数据通信的基本概念 6.1.3 数据通信的同步方式 (二)同步方式 每个数据位占用的时间都相等,发送器按照一个基本相同的时间单位发送一个数据位,接收器必须与传输符号同步,使采样的定时脉冲周期与码元相匹配,即发送时钟与接收时钟必须同步。 在同步方式时,是以块的形式传送,数据块中的数据之间没有间隔。 传送数据块时,在数据块之前加上同步字符(SYN),紧接着连续传送数据,并用准确的时钟来保证发送端与接收端的同步,当线路空闲不断地发送同步字符。 一个大的数据块可以分解成若干个小的数据块,每个小数据块之间依靠同步字符来区别。

11 6.2 MCS-51 单片机的串行口 6.2.1 MCS-51 单片机的串行口结构 MCS-51单片机串行口内部结构

12 异步方式 6.2 MCS-51 单片机的串行口 6.2.1 MCS-51 单片机的串行口结构
串行口的工作有多种方式,由串行口控制寄存器(SCON)、波特率控制寄存器(PCON)及SBUF实现数据的接收和发送,在工作过程中,需要提供接收和发送的频率信号。 在接收方式下,串行数据通过RXD(P3.0)进入单片机。当接收控制器检测到接收端RXD的负跳变时,启动接收过程,则串行口按照程序设定的格式、以一定的频率(波特率)接收一帧数据,接收完毕,数据存入接收缓冲器SBUF中,并置RI为1。 在发送方式下,通过CPU执行“MOV SBUF, A”指令启动发送过程,数据由TXD(P3.1)一位一位的发出,发送完最后一位,将TI置1。 异步方式

13 6.2 MCS-51 单片机的串行口 6.2.2 串行口的控制 (一)串行口控制寄存器(SCON,98H):用来设置串行口的工作方式和指示串行口的工作状态。 SM0 SM1 SM2 REN TB8 RB8 TI RI D D D D D D D1 D0 串行口工作方式 多机通信选择位 允许接收选择位 发送数据的第8位 接收数据的第8位 接收中断标志 发送中断标志 接收工作方式 方式2 第8位数据 接收到/发送完标志

14 6.2 MCS-51 单片机的串行口 6.2.2 串行口的控制 SCON各位的定义: (1)SM0、SM1:串行口操作方式选择位。
方式2或3中,SM2=1,只有当RB8=1,才会将接收到的数据送入SBUF,并置RI为1。否则,将接收到的数据丢弃。而SM2=0, 不论RB8是否为1,都将前8位数据存入SBUF,并置RI为1。

15 6.2 MCS-51 单片机的串行口 6.2.2 串行口的控制 SCON各位的定义: (3)REN:允许串行接收位。
REN=1允许接收, REN=0禁止接收。 (4)TB8:方式2和3时要发送的第9位数据。 TB8可作为奇偶校验位。在多机通信中作为发送地址帧或数据帧的标志。TB8=1,表示该发送帧为地址帧,TB8=0,表示该发送帧为数据帧。 (5)RB8:方式2或3中接收的第9位数据 可能是奇偶校验位或地址/数据标识位;方式1中,如果SM2=0,RB8是接收到的停止位,在方式0中,不使用RB8。 (6)TI、RI:中断标志位 RI=1标志着接收到一帧数据。RI必须由软件清零。 TI=1标志着发送完一帧数据。TI必须由软件清零。

16 6.2 MCS-51 单片机的串行口 6.2.2 串行口的控制 (二)电源控制寄存器( PCON,87H) SMOD:波特率倍增选择位。
波特率选择位 SMOD:波特率倍增选择位。 串行口工作在方式1、方式2、方式3时,如果采用定时/计数器T1产生波特率,则SMOD设置为1,波特率提高一倍;SMOD=0,波特率不会提高。

17 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 (一)串行口工作方式0
在方式0时,串行口作为同步移位寄存器使用,此时,RXD作为移位寄存器的出口和入口,TXD提供移位时钟脉冲,频率为振荡器频率的1/12。移位数据的发送和接收以8位为一组,低位在前,高位在后。

18 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 (一)串行口工作方式0 MOV SBUF,A 发送结束 TI=1
接收结束 RI=1 MOV A, SBUF

19 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 (二)串行口工作方式1
10位为一帧的异步串行通信方式,1位起始位,8位数据,1位停止位。发送和接收频率可设定。 TXD为发送端,RXD为接收端,数据以一定的频率发送,由定时/计数器提供。

20 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 串行口方式1的时序 (二)串行口工作方式1 MOV SBUF,A
发送结束 TI=1 接收结束 RI=1 MOV A, SBUF

21 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 发送和接收频率(波特率 Baud Rate)的设定
定时/计数器的溢出率(Timer Overflow Rate)的倒数为定时/计数器的溢出周期,即定时时间。设计数初始值为X,定时时间为 为晶体振荡器的频率。

22 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 波特率 Baud Rate 定时/计数器的初始时间常数为:

23 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 (三)串行口工作方式2
11位为一帧的异步串行通信方式,1位起始位,9位数据,1位停止位。发送和接收频率是固定的: 有两种情况,SMOD=1,波特率为晶体振荡器频率的1/32;SMOD=0,波特率为晶体振荡器频率的1/64。 发送时,数据的第8位由TB8设置,而接收时,数据的第8位被放置在RB8中。接收和发送原理过程与方式1相同。支持多机通信方式。

24 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 串行口方式2、3的时序 (三)串行口工作方式2 MOV SBUF,A
发送结束 TI=1 接收结束 RI=1 MOV A, SBUF

25 6.2 MCS-51 单片机的串行口 6.2.3 串行口的控制方式 (四)串行口工作方式3
11位为一帧的异步串行通信方式,1位起始位,9位数据,1位停止位。通信过程与方式2相同,不同的是它的波特率是可变的,计算过程与方式1相同。 方式3支持多机通信方式。

26 6.3 串行口的应用 6.3.1 并行I/O口扩展 串行口工作方式0的功能相当于一个移位寄存器,常用于实现串行——并行、并行——串行数据格式之间的转换,因此, 可以与具有并行输入串行输出、串行输入并行输出功能的芯片结合扩展并行I/O口。 常用的具有并行输入串行输出功能的TTL芯片有74LS165、74HC165,CMOS芯片有CD4094。具有串行输入并行输出功能的TTL芯片有74LS164、74HC164,CMOS芯片为CD4014。

27 采用2片74LS165扩展的2个8位并行输入输出接口电路
6.3 串行口的应用 6.3.1 并行I/O口扩展 (一)并行输入口扩展 采用2片74LS165扩展的2个8位并行输入输出接口电路

28 接收1个字节

29 6.3 串行口的应用 6.3.1 并行I/O口扩展 (二)并行输出口扩展 采用串行口扩展的16位并行输出接口电路

30 发送1个字节

31 6.3 串行口的应用 6.3.2 串行口异步通信 MCS-51单片机提供3种异步通信方式,与之通信的设备可以是MCS-51系列的单片机、或者其它系列的单片机或计算机。 3种异步通信方式中,最常用的是方式1和方式3,其通信的波特率是可变的,用户可以根据实际情况进行选择。不论哪种方式,在软件设计时,都可以采用查询方式和中断方式实现,其数据帧的格式可以根据实际情况确定。在通信时,必须保证通信双方采用相同的波特率和数据格式。

32 6.3 串行口的应用 6.3.2 串行口异步通信 (一)方式1的应用 例:A、B两台MCS-51单片机进行单工串行通信,A机工作在发送状态,B为接收状态,现将A机片内RAM从30H单元开始存储的16个字节的数据发送到B机,并存储在片内RAM20H单元开始的区域。A、B单片机的晶振频率均为 MHz,拟采用通信波特率为9600 bit/s。

33 6.3 串行口的应用 6.3.2 串行口异步通信 (一)方式1的应用 在数据通信之前,需要进行以下初始化编程:
6.3 串行口的应用 6.3.2 串行口异步通信 (一)方式1的应用 在数据通信之前,需要进行以下初始化编程: (1)确定定时/计数器T1的工作方式,设置TMOD。 通常定时/计数器T1设定为方式2,定时模式。 (2)根据波特率,计算定时/计数器T1的计数初始值,分别装入TH1和TL1。 (3)启动定时/计数器T1,SETB TR1。 (4)确定串行口工作方式,设置SCON,接收时置REN=1。 (5)如果采用中断方式,则开放CPU中断(EA=1)、允许串行口中断(ES=1)。

34 6.3 串行口的应用 6.3.2 串行口异步通信 (一)方式1的应用 MCS-51单片机单工串行通信

35 THAT’ S ALL! THANK YOU!


Download ppt "主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用"

Similar presentations


Ads by Google