slide1
Download
Skip this Video
Download Presentation
《 单片机原理与应用 》

Loading in 2 Seconds...

play fullscreen
1 / 43

《 单片机原理与应用 》 - PowerPoint PPT Presentation


  • 149 Views
  • Uploaded on

《 单片机原理与应用 》. 第 9 章 单片机的串行通信. §9.1 串行通信基础知识. 一、计算机的数据传送方式 1 、 并行传送方式 :各数据位同时传送,传输线多,传送速度快,距离近。 2 、 串行传送方式 :数据逐位传送,只需 1 根传输线,传送速度慢,距离远。 分:异步串行通信方式 同步串行通信方式. §9.1 串行通信基础知识. 一、计算机的数据传送方式 二、异步串行通信的字符格式 1 、串行通信时信息的两种状态: mark :也称为“标号”状态,对应为“逻辑 1”

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 《 单片机原理与应用 》' - sailor


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
slide1

《单片机原理与应用》

第9章 单片机的串行通信

slide2
§9.1 串行通信基础知识
  • 一、计算机的数据传送方式

1、并行传送方式:各数据位同时传送,传输线多,传送速度快,距离近。

2、串行传送方式:数据逐位传送,只需1根传输线,传送速度慢,距离远。

分:异步串行通信方式

同步串行通信方式

[email protected]

slide3
§9.1 串行通信基础知识

一、计算机的数据传送方式

  • 二、异步串行通信的字符格式

1、串行通信时信息的两种状态:

mark:也称为“标号”状态,对应为“逻辑1”

space:也称为“空格”状态,对应为“逻辑0”

2、字符格式(帧格式)

[email protected]

slide4
二、异步串行通信的字符格式

2、字符格式(帧格式)

  • 起始位:space状态,占用一位,用来表示一个新字符的开始。
  • 数据位:5位、6位、7位或8位。各数据位传送顺序:低位在前,高位在后。
  • 奇偶校验位:偶校验、奇校验和无校验位。

[email protected]

slide5
二、异步串行通信的字符格式

2、字符格式(帧格式)

  • 奇偶校验位:偶校验、奇校验和无校验位。

奇校验:使各数据位加校验位含有奇数个“1”的校验方式。例如,某异步串行通信含有8位数据位,采用奇校验方式,若传送十六进制数34H,则校验位应为“0”;

偶校验:使各数据位加校验位含有偶数个“1”的校验方式。上例中若采用偶校验方式,传送十六进制数34H,则校验位应为“1”

[email protected]

slide6
二、异步串行通信的字符格式

2、字符格式(帧格式)

  • 起始位:space状态,占用一位,用来表示一个新字符的开始。
  • 数据位:5位、6位、7位或8位。各数据位传送顺序:低位在前,高位在后。
  • 奇偶校验位:偶校验、奇校验和无校验位。
  • 停止位:mark状态,可1位、1.5位或2位。

[email protected]

slide7
二、异步串行通信的字符格式

2、字符格式(帧格式)

  • 例1:某异步串行通信的字符格式为:1位起始位、8位数据位、2位停止位,并含有1位奇校验位(12位/帧),请画出传送字符“T”的ASCII码的帧格式。

解:字符“T”的ASCII码为54H,即二进制数为01010100B,含有奇数个(3个)“1”,因此校验位应为“0”

[email protected]

slide8
§9.1 串行通信基础知识
  • 三、串行通信的数据通路形式

1、单工: 数据传送方向为单向

一端固定为发送,一端固定为接收。

[email protected]

slide9
§9.1 串行通信基础知识

三、串行通信的数据通路形式

1、单工:

  • 2、全双工:数据传送方向为双向,可同时接收和发送数据。

[email protected]

slide10
§9.1 串行通信基础知识
  • 四、串行通信的数据通路形式

1、单工

2、全双工

3、半双工:数据传送方向为双向,但同一时刻只能 接收或发送数据。

[email protected]

slide11
注意:
  • MCS-51单片机的串行口是全双工的串行口,其帧格式为:1位起始位、8位数据为、1位(或无)校验位、1位停止位

[email protected]

slide12
§9.1 串行通信基础知识
  • 四、波特率:

1、波特率:每秒钟传送二进制的位数。

2、单位:位/秒(bps)或波特(baud)

3、波特率决定了每位传送的时间

例2:上例中串行异步传送的帧格式为12位/帧,若采用2400bps的波特率,则每秒能传送多少个字符?

[email protected]

slide13
§9.1 串行通信基础知识
  • 五、异步串行通信的标准—RS-232C标准

RS:Recommended Standard

是美国电子工业协会( EIA,Electronic IndustryAssociation)的推荐标准,第232号修改版C。

1、电平特点:电平范围:-25V~+25V

逻辑1:-3V~-25V

逻辑0:+3V~+25V 采用负逻辑

2、波特率:≤19200bps,即19.2kbps

其中为:50、75、110、150、300、600、1200、

2400、4800、9600、 19200bps

[email protected]

rs 232c
五、异步串行通信的标准—RS-232C标准

3、RS-232C连接器及引脚定义:

  • 连接器:DB-25、DB-9

目前,大多数计算机使用DB-9连接器与外界进行串行通信, DB-9连接器引脚定义如下:

[email protected]

slide15

引脚

信号名称

简称

方向

信号功能

1

接收线路信号检测

DCD

DTE←

DCE已接收到远程信号

2

接收数据

RXD

DTE←

DTE接收串行数据

3

发送数据

TXD

→DCE

DTE发送串行数据

4

数据终端就绪

DTR

→DCE

DTE准备就绪

5

信号地

GND

信号地

6

数据传送设备就绪

DSR

DTE←

DCE准备就绪

7

请求发送

RTS

→DCE

DTE请求切换到发送方式

8

清除发送

CTS

DTE←

DCE已切换到准备接收(清楚发送)

9

振铃指示

RI

DTE←

通知DTE,通信线路已通

§9.1 串行通信基础知识
  • DB-9引脚定义:(P226: DB-25引脚定义)

[email protected]

slide16
§9.1 串行通信基础知识

3、RS-232C连接器及引脚定义

  • 连接器:
  • DB-9引脚定义
  • 串行通信的重要引脚:

RXD:串行接收数据引脚

TXD:串行发送数据引脚

GND:信号地

[email protected]

slide17
§9.1 串行通信基础知识
  • 六、串行接口电路

1、串行通信要解决的技术问题

  • 数据转换:串行数据与并行数据的相互转换
  • 数据传送:标准、格式等

2、串行接口电路 :UART,通用异步接收发送器

Universal Asynchronous Receiver and Transmitter

  • 如INTEL8250、8251芯片就是一种串行接口电路
  • MCS-51的串行接口电路集成在芯片内部

[email protected]

9 2 mcs 51
§9.2 MCS-51的串行口及控制寄存器
  • 一、51串行口的UART结构

1、串行口的结构

  • 具有两个串行口缓冲寄存器

接收SBUF:

发送SBUF:

共用一个地址99H

  • 接收部分采用两级缓冲

移位寄存器:串 并

接收SBUF:暂存接收到的数据

[email protected]

51 uart
一、51串行口的UART结构
  • 2、发送接收过程
  • 发送过程:

由指令:MOV SBUF,A 启动发送,UART根据工作方式自动插入格式信息,位串由TXD引脚发出,发送完毕TI置1。

  • 接收过程:当测试到RXD引脚由高变低时,移位寄存器开始接收数据,根据工作方式,自动滤除格式信息,接收完数据RI置1,并将接收到的数据转换为并行数据保存到接收SBUF中。

[email protected]

9 2 mcs 511
§9.2 MCS-51的串行口及控制寄存器
  • 二、51串行口的控制

1、SCON

  • SM0SM1:串行口工作方式控制,00~11:方式0~3
  • SM2:多机通信控制位
  • REN:接收允许控制位,REN=1,允许
  • TB8/RB8:在方式2、3时,发送/接收的第9位数据
  • TI/RI:发送/接收标志,在发送/接收完一帧数据后。硬件置为1,必须软件清除。

例:MOV SCON,#50H

表示串行口工作于方式1,允许接收方式。

[email protected]

9 2 mcs 512
§9.2 MCS-51的串行口及控制寄存器
  • 二、51串行口的控制

2、PCON

  • 回忆GF1、GF0和PD、IDL位的控制意义
  • SMOD:波特率倍增位,SMOD=1,波特率倍增

[email protected]

9 2 mcs 513
§9.2 MCS-51的串行口及控制寄存器
  • 二、51串行口的控制

3、IE

4、IP

  • 回忆各位的控制意义

[email protected]

9 2 mcs 514
§9.2 MCS-51的串行口及控制寄存器
  • 二、51串行口的控制

例:读下面程序,说明控制功能

MOV SCON,#50H

MOV IP,#10H

MOV IE,#90H

LOOP:JNB TI,LOOP

CLR TI

MOV A,#54H

MOV SBUF,A

LJMP LOOP

[email protected]

9 3 mcs 51
§9.3 MCS-51串行通信工作方式及应用
  • 一、串行工作方式0—8位同步移位寄存器方式

1、设置方法:SCON中的SM0SM1=00

2、特点:

  • RXD脚接收或发送数据

TXD脚送出同步移位脉冲

  • 帧格式:

。。。D7、D0、D1、D2、D3、D4、D5、D6、D7、D0。。。

  • 波特率:固定为fosc/12

3、应用:串口转换为并口

与串入并出(或并入串出)移位寄存器连接

[email protected]

slide25
一、串行工作方式0—8位同步移位寄存器方式
  • 3、应用:串口转换为并口

(1)与并入串出移位寄存器CD4014连接使用,将8位并行输入转换为串行输入。

(2)与串入并出移位寄存器CD4094连接使用,将串行的输出转换为并行的输出。

[email protected]

2 cd4094
(2)与串入并出移位寄存器CD4094连接使用
  • CD4094介绍
  • DATA:串行数据输入端。
  • CLK:移位时钟。
  • Q0~Q7:并行数据输出端,其中Q7输出第1个由DATA引脚输入的串行数据D0,Q0出第8个由DATA引脚输入的串行数据D7。
  • STB:锁存控制,STB=1,锁存器通。
  • OE:三态缓冲控制。OE=1,三态门通。
  • Qs:级连输出。CLK上升沿输出q7数据
  • Qs′:级连输出。CLK下降沿输出q7数据

[email protected]

2 cd40941
(2)与串入并出移位寄存器CD4094连接使用
  • 应用举例:如图,使用8051串行口控制CD4094点亮8支发光二极管,试将8支发光二极管从左到右循环点亮。
  • 分析:点亮左1发光管,Q0~Q7呈1000’0000,串行口送出80H

点亮左2发光管,Q0~Q7呈0100’0000,串行口送出40H

点亮左3发光管,Q0~Q7呈0010’0000,串行口送出20H

。。。。。。

点亮左8发光管,Q0~Q7呈0000’0001,串行口送出01H

[email protected]

2 cd40942

设置串行口工作方式

不允许中断

A #80H

STB 0

SBUF A

发送完?

N

Y

取下数据

清TI

延 时

STB 1

(2)与串入并出移位寄存器CD4094连接使用
  • 程序如下:

MOV SCON,#00H CLR ES MOV A,#80H

LOOP:CLR P1.0

MOV SBUF,A

JNB TI,$ CLR TI SETB P1.0 ACALL DELAY RR A LJMP LOOP

[email protected]

2 cd40943
(2)与串入并出移位寄存器CD4094连接使用
  • 程序如下:

MOV SCON,#00H CLR ES MOV A,#80H

LOOP:CLR P1.0 ;1

MOV SBUF,A ;1 JNB TI,$ ;2 CLR TI ;1 SETB P1.0 ;1 ACALL DELAY ;2 RR A ;1 LJMP LOOP ;2

  • 若fosc=12MHz,每LOOP需9个机器周期,即9μS。
  • 每幅72 μS,即每秒可扫描14000幅

[email protected]

9 3 mcs 511
§9.3 MCS-51串行通信工作方式及应用
  • 二、串行工作方式1—10位异步串行通信方式

1、设置方法:SCON中的SM0SM1=01

2、特点:

  • RXD(P3.0)引脚接收数据

TXD(P3.1)引脚发送数据

  • 帧格式:

起始位、D0、D1、D2、D3、D4、D5、D6、D7、停止位

  • 波特率:

[email protected]

9 3 mcs 512
§9.3 MCS-51串行通信工作方式及应用

二、串行工作方式1

  • 波特率:T1工作于方式2提供波特率
  • 设T1工作于方式2,初值为X
  • T1溢出周期=(256-X)机器周期

=(256-X)·12/fosc

  • T1溢出率=fosc/[(256-X)·12]
  • 波特率为

例:51单片机以方式1进行串行数据通信,波特率为1200bps。

若晶体振荡频率fosc为6MHz,试确定定时器/计数器1的计数初值。

[email protected]

slide32
计算得:约F3H

要想提供精确的波特率,常使用11.0592MHz频率的晶体振荡器,提供出1200bps、2400bps、4800bps、9600bps等多种常用串行通信波特率

程序:

MOV SCON,#50H

MOV PCON,#00H

MOV TMOD,#20H

MOV TH1,#0F3H

MOV TL1,#0F3H

SETB TR1

MOV IE,#00H

MOV IP,#00H

波特率计算

[email protected]

slide33
二、串行工作方式1

1、设置方法

2、特点

  • 3、应用举例:

例: 假定甲乙两单片机使用晶体振荡器频率为6MHz,以方式1进行串行数据通信,通信波特率为1200bps。甲机发送数据,先发数据区首末地址,再发数据区数据。甲机要发送的数据存放于内部RAM的40H~4FH单元中;乙机接收,并把接收到的数据块首末地址及其数据存放于外RAM5000H开始的单元中。试编写甲乙两机的串行通信程序

[email protected]

slide34
编程步骤

(1)计算T1计数初值,设置1200波特率:

(2)甲乙两机SCON的设置

(3)初始化程序

(4)串行发送接收程序

[email protected]

slide35
(3)初始化程序

甲机:

MOV SCON,#40H

MOV PCON,#00H

MOV TMOD,#20H

MOV TH1,#0F3H

MOV TL1,#0F3H

MOV IE,#00H

(MOV IP,#00H)

SETB TR1

乙机:

MOV SCON,#50H

MOV PCON,#00H

MOV TMOD,#20H

MOV TH1,#0F3H

MOV TL1,#0F3H

MOV IE,#00H

(MOV IP,#00H)

SETB TR1

[email protected]

slide36

MOV SBUF,#40H

JNB TI,$

CLR TI

SETB ES

MOV SBUF,#1FH

MOV DPTR,#4000H

MOV R7,#20H

SJMP $

ACINT:MOVX A,@DPTR

CLR TI

MOV SBUF ,A

DJNZ R7,AEND

CLR ES

CLR TR1

AEND:INC DPTR

RETI

(3)甲机发送程序

甲机发送:

MOV SCON,#40H

MOV PCON,#00H

MOV TMOD,#20H

MOV TH1,#0F3H

MOV TL1,#0F3H

SETB EA

CLR ES

SETB TR1

MOV SBUF,#40H

JNB TI,$

CLR TI

MOV SBUF,#00H

JNB TI,$

CLR TI

[email protected]

slide37

INC DPTR

JNB RI,$

CLR RI

MOV A, SBUF

MOVX @DPTR,A

INC DPTR

JNB RI,$

CLR RI

MOV A, SBUF

MOVX @DPTR,A

INC DPTR

SETB ES

SJMP $

BCINT:MOV A , SBUF

MOVX @DPTR ,A

CLR RI

DJNZ R7,AEND

CLR ES

CLR TR1

BEND:INC DPTR

RETI

(3)乙机接收程序

MOV SCON,#50H

MOV PCON,#00H

MOV TMOD,#20H

MOV TH1,#0F3H

MOV TL1,#0F3H

SETB EA

CLR ES

SETB TR1

MOV DPTR,#5000H

MOV R7,#20H

JNB RI,$

CLR RI

MOV A, SBUF

MOVX @DPTR,A

INC DPTR

JNB RI,$

CLR RI

MOV A, SBUF

MOVX @DPTR,A

[email protected]

9 3 mcs 513
§9.3 MCS-51串行通信工作方式及应用
  • 二、串行工作方式2—11位异步串行通信方式

1、设置方法:SCON中的SM0SM1=10

2、特点:

  • RXD(P3.0)引脚接收数据

TXD(P3.1)引脚发送数据

  • 帧格式:

起始位、D0、D1、D2、D3、D4、D5、D6、D7、D8、停止位

  • 波特率:

[email protected]

9 3 mcs 514
§9.3 MCS-51串行通信工作方式及应用
  • 二、串行工作方式2—11位异步串行通信方式

1、设置方法:

2、特点:

  • 起始位、D0、D1、D2、D3、D4、D5、D6、D7、D8、停止位

3、发送指令:

  • 先准备D8, 如CLR TB8(或 SETB TB8)
  • 再发送D0~D7, 如MOV SBUF,A

例:奇校验位为0,发送字符“T”的ASCII码(#54H)的指令:

CLR TB8

MOV SBUF,#54H

[email protected]

9 3 mcs 515
§9.3 MCS-51串行通信工作方式及应用
  • 二、串行工作方式2—11位异步串行通信方式

3、发送指令:

  • 先准备D8, 如CLR TB8(或 SETB TB8)
  • 再发送D0~D7, 如MOV SBUF,A

4、接收指令:

  • 接收D8 如MOV C,RB8
  • 接收D0~D7, 如MOV A ,SBUF

[email protected]

9 3 mcs 516
§9.3 MCS-51串行通信工作方式及应用
  • 二、串行工作方式3—11位异步串行通信方式

1、设置方法:SCON中的SM0SM1=11

2、特点:

  • RXD(P3.0)引脚接收数据

TXD(P3.1)引脚发送数据

  • 帧格式:

起始位、D0、D1、D2、D3、D4、D5、D6、D7、D8、停止位

  • 波特率:

[email protected]

slide42
串行口实验

一、实验目的:

  • 掌握双机通信的硬件连接
  • 掌握双机通信的工作过程
  • 会用查询和中断方式实现双机通信时的软件设计

二、实验内容

甲乙两单片机使用晶体振荡器频率为6MHz,以方式1进行串行数据通信,通信波特率为1200bps。甲机发送数据,先发数据区首末地址,再发数据区数据。甲机要发送的数据存放于内部RAM的40H~4FH单元中;乙机接收,并把接收到的数据块首末地址及其数据存放于外RAM5000H开始的单元中。试完成甲乙两机的串行通信。

[email protected]

slide43
串行口实验

一、实验目的:

二、实验内容

三、实验步骤:

1、将两台单片机实验箱连接成双机通信系统。

2、在甲机内部RAM的40H~4FH地址传送一批要发送的数据;检查并记录乙机外RAM5000H开始的16个地址的初始数据。

3、编程并调试将甲机内部RAM的40H~4FH地址的数据发送出去;乙机接收串行数据并保存在外RAM5000H开始的16个地址中。

4、记录数据,验证程序的正确性。

[email protected]