第7章 AT89S51串行口及串行通信技术

合集下载

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍AT89S51单片机串行口的内部结构如下图所示。

它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。

发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。

串行口的控制寄存器共有两个:特殊功能寄存器SCON 和PCON。

下面介绍这两个特殊功能寄存器各位的功能。

1、串行口控制寄存器SCON串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。

SCON的格式如下图所示。

下面介绍SCON中各位的功能。

(1) SM0、SMl:串行口4种工作方式选择位。

SM0、SM1两位的编码所对应的4种工作方式见下表。

表串行口的4种工作方式(2) SM2:多机通信控制位。

因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3中。

当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才使RI置l,产生中断请求,并将接收到的前8位数据送人SBUF;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。

而当SM2=0时,则不论第9位数据是l还是0,都将前8位数据送入SBUF中,并使RI置1,产生中断请求。

在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。

在方式0时,SM2必须为0。

(3)REN:允许串行接收位。

由软件置1或清0。

REN=1,允许串行口接收数据。

REN=O,禁止串行口接收数据。

(4)TB8:发送的第9位数据。

在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置l或清O。

在双机串行通信时,TB8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。

(5) RB8:接收的第9位数据。

工作在方式2和方式3时,RB8存放接收到的第9位数据。

l第7章89C51串行口及串行通信技术

l第7章89C51串行口及串行通信技术

6
7.1.1数据通信
• 并行通信是指数据的各位同时进行传送(发送或接收)的 通信方式。
• 其优点是传送速度快; • 缺点是数据有多少位,就需要多少根传送线。 • 例如,89C51单片机与打印机之间的数据传送就属于并行
通信。 • 图7-1(a)所示为89C51与外设间8位数据并行通信的连
接方法。并行通信在位数多、传送距离又远时就不太合适 了。
1、结 构
2、串行口控制字及控制寄存器
3、串行通信工作方式
4、波特率设计
返回
2020/10/25
39
1、结 构
• 89C51通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1, 串行数据发送端)与外界进行通信。其内部结构简化示意图如图7-7 所示。图中有两个物理独立的接收、发送缓冲器SBUF,它们占用同 一地址99H,可同时发送、接收数据。发送缓冲器只能写入,不能读 出;接收缓冲器只能读出,不能写入。
返回
2020/10/25
29
2、串行通信协议
• 通信协议是对数据传送方式的规定,包括数据格
式定义和数据位定义等。 • 通信双方必须遵守统一的通信协议。串行通信协
议包括同步协议和异步协议两种。 • 在此只讨论异步串行通信协议和异步串性协议规
定的字符数据的传送格式。
返回
2020/10/25
30
2、串行通信协议
乙机时钟
返回
2020/10/25
13
1、异步通信 在异步通信中,数据是一帧一帧(包括一个字符代码或 一字节数据)传送的,每一帧的数据格式如图7-3所示
返回Biblioteka 2020/10/2514
图7-3 异返回步通信数据格式

AT89S51的串行口通信功能

AT89S51的串行口通信功能

课题九 AT89S51的串行口通信功能本课题的目标学习完本课题后,您将能够:1.清楚串行通信基础中的通信分类和通信制式。

2.清楚AT89S51单片机如何实现串行通信功能。

3.初步具备使用串行通信功能来解决实际问题的能力。

4.初步具备使用串行口中断功能来解决实际问题的能力。

本课题的要求本课题教学完成后,初学者必须做到:1.正确理解串行异步通信中字符帧格式和波特率两个重要通信指标。

2.正确理解串行通信中单工、半双工、全双工三种制式。

3.牢记AT89S51串行口控制寄存器各位符号及功能。

4.牢记AT89S51单片机串行口四种工作方式的各自特点。

5.牢记AT89S51串行口中断源的应用步骤。

本次课讲解内容1.串行通信基础2.AT89S51的串行端口3.AT89S51串口控制寄存器4.AT89S51串行口的工作方式5.AT89S51串行通信波特率的推算课堂讲解过程本课题学生笔记一.串行通信基础1.串行通信的分类同步通信: 数据传送在双方同步脉冲的控制下进行,双方时钟源需同步。

异步通信: 数据传送以字符帧格式进行传送,双方时钟源彼此独立。

2.异步通信字符帧字符帧也叫数据帧,由起始位、数据位、校验位、停止位四部分组成。

起始位: 位于字符帧开头,只占1位。

数据位: 紧跟起始位之后,低位在前高位在后。

校验位: 数据位之后,占用1位,用于串行通信数据的奇校验或偶校验。

停止位: 位于字符帧末尾,表示该帧信息传递完毕。

3.异步通信的波特率波特率的定义为每秒钟传送二进制数码的个数,单位是bps,即位/秒。

用波特率来反映数据传输的速度,波特率越高,帧数据传输速度越快。

4.串行通信的制式半双工制式: 通信数据从A站到B站或从B站到A站,双方不能同时收发。

全双工制式: 通信数据在A站和B站间可以同时发送和接收。

二.AT89S51的串行通信功能1.AT89S51的内部串行通信接口AT89S51内部含有一个全双工串行通信接口,由串行口控制寄存器SCON、发送和接收电路、串行数据缓冲寄存器SBUF组成。

89C51串行口及串行通信技术

89C51串行口及串行通信技术

②信号线的连接和应用 ► 使用MODEM连接 适用于远距离通信(15米以上) 通过专用的电话线通信
采用Modem(DCE)和电话网通信时的信号连接
采用专用线通讯时的信号连接
► 直接连接
不使用MODEM,近距离传送 简单只需3条线(TXD,RXD,SG) 也可采用反馈与交叉结合的连接法
当通信速率低于20Kb/s时,RS-232C所能直接连接的最 大物理距离为15m;使用特制的低电容电缆可以达到 150m。
1.RS-232C标准的信号线
①RS-232C信号线的定义 ► 传送信息信号 发送数据TXD:由发送端向接收端发送数据 接收数据RXD:用来接收发送端输出的数据 ► 联络信号 请求传送信号RTS:表示DTE请求DCE发送数据 清除发送CTS:表示DCE准备好接收DTE发来数据
数传机就绪DSR: DCE向DTE发送的联络信号, 为1时,DCE处于就绪状态。 数据终端就绪DTR:DTE向DCE发送的联络信号, 为1时,DTE处于就绪状态。 数据载波检出信号DCD:表示DCE已接通通信链路。 振铃指示信号RI:这是DCE向DTE发的状态信号, 为1时,表示已被呼叫。

由MAX232构成的电平转换电路
二、RS-422接口标准 ► RS-422标准是一种平衡方式传输(双端接收 和双端发送) ► 当AA的电平高于BB线的电平200MV表示逻辑 1 ► 当AA的电平低于BB线的电平200MV表示逻辑 0 ► RS-422最大传输速率 10MB/S(15M),90KB(1200M)
数据 字符2
… …
数据 字符n
CRC1
CRC2
(b)双同步字符帧结构
在同步通信中,同步字符可采用统一的标准格式, 也可以由用户在传送之前相互约定好。在单同步通 信字符帧结构中,如图(a)所示,同步字符通常采 用ACSII码中规定的SYN(同步)(即16H)代码;在双 同步通信字符帧结构中,同步字符一般采用国际通 用标准代码EB90H。 优点:同步通信的数据传输速率较高,通常可达到 56Mbps或更高。 缺点:要求发送时钟和接收时钟保持严格同步。

《单片机原理及接口技术》第7章习题及答案

《单片机原理及接口技术》第7章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社第7章 AT89S51单片机的串行口思考题及习题71.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。

答:方式1。

2.在串行通信中,收发双方对波特率的设定应该是的。

答:相等的。

3.下列选项中,是正确的。

A.串行口通信的第9数据位的功能可由用户定义。

对B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。

对C.串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。

错D.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。

对E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。

对4.通过串行口发送或接收数据时,在程序中应使用。

A.MOVC指令B.MOVX指令 C.MOV指令 D.XCHD指令答:C5.串行口工作方式1的波特率是。

A.固定的,为f osc/32 B.固定的,为f osc/16C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为f osc/64答:C6.在异步串行通信中,接收方是如何知道发送方开始发送数据的?答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。

7.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD /32×定时器T1的溢出率方式2的波特率=2SMOD /64×fosc方式3的波特率=2SMOD /32×定时器T1的溢出率8.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B ”的帧格式。

单片机原理及接口技术AT89S51单片机系统的串行扩展

单片机原理及接口技术AT89S51单片机系统的串行扩展

单片机原理及接口技术AT89S51单片机系统的串行扩展在单片机系统中,为了扩展其功能和使用,需要与其他外部设备进行通信。

串行通信是一种常见的通信方式,它通过将数据逐位地进行传输和接收。

AT89S51单片机具有多种功能引脚,可以用来实现串行扩展。

包括UART串口、SPI接口和I2C总线等。

UART串口是一种常用的串行通信接口,它使用两根引脚(TXD和RXD)进行数据传输。

在AT89S51单片机中,可以使用其内置的UART模块来实现串行扩展。

首先,需要设置串口的波特率、数据位、停止位和校验位等参数。

然后,在程序中通过读写串口数据寄存器来进行数据的传输和接收。

SPI接口是一种全双工的串行通信接口,它使用四根引脚(SCLK、MISO、MOSI和SS)进行数据的传输和接收。

在AT89S51单片机中,可以使用其内置的SPI模块来实现串行扩展。

首先,需要设置SPI的工作模式、数据位、时钟极性和相位等参数。

然后,在程序中通过读写SPI数据寄存器来进行数据的传输和接收。

I2C总线是一种双向的串行通信总线,它使用两根引脚(SDA和SCL)进行数据的传输和接收。

在AT89S51单片机中,可以通过软件实现I2C总线的功能。

首先,需要设置I2C的时钟频率和器件地址等参数。

然后,在程序中通过控制I2C总线的起始、停止、发送和接收来进行数据的传输和接收。

串行扩展可以实现单片机与其他外设的数据交互,包括和PC机的通信、与传感器的连接等。

通过串行扩展,单片机能够实现更复杂的功能和应用。

在编程过程中,需要合理地使用串口、SPI接口和I2C总线等技术,根据具体的应用需求选择合适的通信方式。

总之,单片机原理及接口技术是一种重要的扩展技术,可以极大地增强单片机的功能和使用。

在AT89S51单片机系统中,串行扩展是一种常见的技术。

通过合理地使用UART串口、SPI接口和I2C总线等技术,可以实现单片机与其他外设的数据交互,进而实现更复杂的功能和应用。

第7章 AT89S51单片机的串行口

第7章  AT89S51单片机的串行口

17
图7-6
外接串入并出移位寄存器74LS164扩展的并行输 出口
18
2.方式0接收
(1)方式0接收过程 方式0接收,REN为串行口允许接收控制位,REN=0, 禁止接收;REN = 1,允许接收。 当向SCON寄存器写入控制字(设置为方式0,并使
REN位置1,同时RI = 0)时,产生一个正脉冲,串行口
当扩展多个8位输入口时,相邻两芯片的首尾(QH与
SIN)相连。
23
在方式0,SCON中的TB8、RB8位没有用到,发送或
接收完8位数据由硬件使TI或RI中断标志位置“1”,CPU 响应TI或RI中断,在中断服务程序中向发送SBUF中送入 下一个要发送的数据或从接收SBUF中把接收到的1B存入 内部RAM中。
式中,SMOD为PCON寄存器的最高位的值(0或1)。
26
1.方式1发送
方式1输出时,数据位由TXD端输出,发送一帧信息为 10位:1位起始位0,8位数据位(先低位)和1位停止位1。 当CPU执行一条数据写SBUF的指令,就启动发送。发送 时序见图7-11。 图7-11中TX时钟的频率就是发送的波特率。 发送开始时,内部发送控制信号 变为有效,将起始位 向TXD脚(P3.0)输出,此后每经过一个TX时钟周期,
21
图7-8
扩展74LS165作为并行输入口
22
在图7-8中:
TXD(P3.1)作为移位脉冲输出与所有75LS165的移位 脉冲输入端CP相连; RXD(P3.0)作为串行数据输入端与74LS165的串行 输出端QH相连;P1.0与S/ L 相连,用来控制74LS165的 串行移位或并行输入; 74LS165的时钟禁止端(第15脚)接地,表示允许时 钟输入。

第7章 AT89S51单片机的串行口

第7章  AT89S51单片机的串行口
TXD 起 始 D0 D1 D2 D3 D4 D5 D6 D7 停 止
方 式 1 波
发送时,数据从TXD端输出,当数据写入发送 缓冲器SBUF时,就启动发送器发送。发送完 一帧数据后,TI置“1”,申请中断,通知CPU 可以发送下一个数据。
方式1发送时序( TX时钟的频率就是发送的波特率)
TX时钟
串行数据由RXD(P3.0)输入或输出 同步移位脉冲由TXD(P3.1)输出
这种方式常用于扩展I/O口. 举例proteus 程序
方式0发送时序
.
机器周期 写SBUF
RXD(数据) TXD (移位脉冲)
D0 D1 D2 D3 D4D5 D6 D7
TI
方式0发送时序
.
机器周期 写SBUF
RXD(数据) D0 D1 TXD (移位脉冲)
CLR
RI
2.特殊功能寄存器PCON •其字节地址为87H,没有位寻址功能。PCON的格式如图 7-7所示,其中与串行接口有关的只有D7位。SMOD是串 行口波特率倍增位。其他各位的功能已在第2章的节电工 作方式一节中作过介绍。
图7-7 PCON格式 方式1波特率 = 2SMOD 定时器T1的溢出率 32
返回本章首页
7.2.1 串行口的结构
AT89S51单片机内部的串行口,有两个物理 上独立地接收、发送缓冲器SBUF, 可同时接收、 发送数据,发送缓冲器只能写入不能读出,接收 缓冲器只能读出不能写入。结构图
这两个缓冲器共用一个字节地址99H.
例:
判断使用的是发送SBUF还是接收SBUF? MOV A, SBUF
返回本节
7.2.2 串行口的工作方式
表7-1 串行口工作方式 返回
1.方式0

第7章 AT89S51的串行口

第7章 AT89S51的串行口
第7章 AT89S51的串行口
单片机技术
* 在工作方式1中SM2的状态与“收到停止位=1 (有效停止位)”两个条件取“或”构成接收有 效控制条件。
SM2=1 ,要求必须收到有效停止位才置位RI
即:
SM2=0 ,不要求必须收到有效停止位即置位 RI SM2=0 “或”停止位=1均可置位RI 在方式1工作时,通常SM2=0
第7章 AT89S51的串行口
单片机技术
停止位:位于字符帧末尾,为逻辑‘1’电平,可取1 位,1.5位或2位,用于向接收端表示一帧字符信息 已发送完毕。
说明: 异步通信中数据一帧一帧进行传输,帧与帧之 间的间隙不固定,间隙处用空闲位(高电平)填补, 信息传输可以随时或间断的进行。比较灵活。对同步 时钟的要求不是非常严格。但数据冗余大,影响效率。
第7章 AT89S51的串行口
单片机技术
第7章 AT89S51的串行口
单片机技术
T R
Tቤተ መጻሕፍቲ ባይዱR 1#
T R 2#
T R 3#
T R 4#
主机 多机通信的过程如下:
从机
1,使所有从机的SM2=1,处于只接收地址帧的状态。 2,主机发送一帧地址信息,(其中包含8位地址,第9 位RB8为1,以表示发送的是地址。) 3,从机接收到地址帧后,各自将接收到的地址与本机 地址比较。
第7章 AT89S51的串行口
单片机技术
② 同步通信 同步通信是按数据块(把数据顺序连接起来组 成数据块 )传送的,
同步字符1 同步字符2 N个数据字节 校验字节1 校验字节2
特点:
*以同步字符作为传送的开始,从而使收/ 发双方取得同步。 *字符数据之间不允许有空隙,当线路空 闲或没有字符可发时,发送同步字符。 即 要求发送端不间断的发送数据。

第7章AT89S51单片机的串行口

第7章AT89S51单片机的串行口

PCONSMOD — — — GF1 GF0 PD IDL
GF1,GF0:用户可自行定义使用的通用标志位 GF1: General purpose Flag bit. GF0 :General purpose Fபைடு நூலகம்ag bit.
PD:掉电方式控制位 Power Down bit. =0:常规工作方式. =1:进入掉电方式:振荡器停振片内RAM和SRF的
例如:120字符/秒,1个字符10位, 波特率为:120×10=1200bps 平均每一位传送占用时间:Td=1/1200=0.833ms
常用的波特率有:(离散) 19200/9600/4800/2400/1200/600/300/150/100
/50, 还有10M/100M
7.1.1 与串行通信有关的寄存器
TB8:在串行工作方式2和方式3中,是要发送的第9位数据。 The 9th bit that will be transmitted in modes 2&3. Set/Cleared
by software 多机通信中: TB8=0 表示发送的是数据;
TB8=1 表示发送的是地址.
RB8:在串行工作方式2和方式3中,是收到的第9位数据.该数据来自发
REN:串行口接收允许控制位 Set/Cleared by software to Enable/Disable reception
=1 允许接收; (SETB REN) =0 禁止接收.
系统复位后,REN=0,不允许接受
SM0 SM1 SM2 REN TB8 RB8 TI RI
模式选择 多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
1
1
3 Split timer mode (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the

第7章89C51串行口及串行通信技术要点

第7章89C51串行口及串行通信技术要点

图7-2 串行通信中的数据传送方式
7.1 串行通信基本知识
7.1.1 数据通信 7.1.2 串行通信的传输方式 7.1.3 异步通信和同步通信 7.1.4 串行通信的过程及通信协议
7.1.3异步通信和同步通信
• 串行通信有两种基本通信方式,即异步通信 和同步通信。
1、异步通信 在异步通信中,数据是一帧一帧(包括一 个字符代码或一字节数据)传送的,每一 帧的数据格式如图7-3所示
10b/字符×120字符/s=1200b/s
3、波特率(Baud rate)
• 每一位代码的传送时间Td为波特率的倒数。 Td=1b/(1)=0.833ms
• 异步通信的传送速率在50b/s--19200b/s之 间,常用于计算机到终端机和打印机之间 的通信、直通电报以及无线电通信的数据 发送等。
• 串行通信指数据是一位一位按顺序传送的通信方式。 • 它的突出优点是只需一对传输线(利用电话线就可
作为传输线),这样就大大降低了传送成本,特别 适用于远距离通信;
• 其缺点是传送速度较低。假设并行传送N位数据所 需时间位T,那么串行传送的时间至少为NT,实际上 总是大于NT的。
7.1 串行通信基本知识
2、同步通信
• 同步通信中,在数据开始传送前用同步字
符来指示(常约定1个--2个),并由时钟来 实现发送端和接收端同步,即检测到规定 的同步字符后,下面就连续按顺序传送数 据,直到通信告一段落。
• 同步传送时,字符与字符之间没有间隙, 也不用起始位和停止位,仅在数据块开始 时用同步字符SYNC来指示,其数据格式如 图7-4所示。
(2)设备同步
• 进行串行通信的两台设备必须同步工作才能 有效地检测通信线路上的信号变化,从而采 样传送数据脉冲。

AT89S51

AT89S51
=0,只读取外部存储器; =1,先读片内,PC值超出0FFFH再读片外。
3)SFR:特殊功能寄存器(映射在片内RAM区的80H~FFH区中)
堆栈指针SP,堆栈指针SP的内容指示出堆栈顶部在内部RAM的位置。每向堆栈压入1字节的数据,SP自动加1,单片机复位后SP内容为07H,考虑到08H是1~3组的工作寄存器区,最好在复位后运行程序前把SP修改为60H或更大,避免工作寄存器区发生冲突。
第四章单片机与显示器及开关、键盘的接口设计
1.P0输出时,接LED时要接上拉电阻
2.要想获得大驱动能力,要采用低电平输出的接线方式
3.对单片机的I/O口编程控制时,需要对I/O的SFR进行声明,可包含头文件<re51.h>
4.循环移位函数_crol_(P1,1)和_cror_(P0,2)定义在头文件<intrins.h>中
PX1/0:外部中断1/0优先级控制位。
同级中断查询次序:
中断源
中断级别
中断入口地址
外部中断0
最高
0003H
TO溢出中断

000BH
外部中断1

0013H
T1溢出中断

001BH
串行口中断
最低
0023H
3.响应中断请求的条件:
1)中断总允许开关打开,EA=1;
2)中断源发出中断请求,即该中断的请求标志位为1;
RI:串行口的接收中断请求标志位。每接收完一帧串行数据,硬件使RI=1,CPU响应串行口接收中断时,不清除RI,必须在中断服务程序中用指令清0.
3)IE:中断允许寄存器,字节地址A8H,可位寻址。
IE
EA
ES
ET1
EX1

特殊功能寄存器SCON和PCON-AT89S51单片机的串行口PPT课件

特殊功能寄存器SCON和PCON-AT89S51单片机的串行口PPT课件
- 17 -
第7章-AT89S51单片机的串行口
1、方式0发送 (2)方式0发送应用举例
外接串入并出移位寄存器74LS164扩展的并行输出口
- 18 -
第7章-AT89S51单片机的串行口
1、方式0发送 (2)方式0发送应用举例
通过串行口外接8位串行输入并行输出移位寄 存器74LS164,扩展两个8位并行输出口。
(4)TB8— 发送的第9位数据 方式2和方式3,TB8是要发送的第9位数据,其
值由软件置“1”或清“0”。在双机串行通信时, 一般作为奇偶校验位使用;在多机串行通信中用来 表示主机发送的是地址帧还是数据帧,TB8=1为地 址帧,TB8=0为数据帧。
- 10 -
第7章-AT89S51单片机的串行口
串行口为全双工的通用异步收发(UART)。全 双工就是两个单片机之间串行数据可同时双向传 输。异步通信,就是收、发双方使用各自的时钟 控制发送和接收过程,这样可省去收、发双方的 一条同步时钟信号线,连接简单且易实现。
-3-
第7章-AT89S51单片机的串行口
7.1 串行口的结构
-4-
第7章-AT89S51单片机的串行口
RI=1,表示一帧数据接收完毕,并申请中断, 要求CPU从接收SBUF取走数据。该位的状态也可供 软件查询。RI必须由软件清“0”。
SCON的所有位都可进行位操作清“0”或置 “1”。
- 12 -
第7章-AT89S51单片机的串行口
7.1.2 特殊寄能寄存器PCON 字节地址为87H,不能位寻址。
单片机原理

第七章 AT89S51单片机的串行口
第7章-AT89S51单片机的串行口
本章主要内容
7.1 串行口的结构 7.2 串行口的4种工作方式 7.3 多机通信 7.4 波特率的制定方法 7.5 串行口的应用

学习指导十二 AT89S51的串行口通信功能

学习指导十二    AT89S51的串行口通信功能

学习指导十二AT89S51的串行口通信功能主要内容1、串行通信基础2、AT89S51的串行端口3、AT89S51串口控制存储器4、AT89S51串行口的工作方式5、AT89S51串行通信波特率的推算学习目标1、清楚串行通信基础中的通信分类和通信制式。

2、清楚AT89S51单片机如何实现串行通信功能。

3、初步具备使用串行通信功能来解决实际问题的能力。

4、初步具备使用串行口中断功能来解决实际问题的能力。

学习要求1、正确理解串行异步通信中字符帧格式和波特率两个重要通信指标。

2、正确理解串行通信中单工、半双工、全双工三种制式。

3、牢记AT89S51串行口控制寄存器各位符号及功能。

4、牢记AT89S51单片机串行口四种工作方式的个自特点。

5、牢记AT89S51串行口中断源的应用步骤。

内容导读一、串行通信基础1.串行通信的分类同步通信:数据传送在双方同步脉冲的控制下进行,双方时钟源需同步。

异步通信:数据传送以字符帧格式进行传送,双方时钟源彼此独立。

2.异步通信字符帧字符帧也叫数据帧,由起始位、数据位、校验位、停止位四部分组成。

起始位:位于字符帧开头,只占1位。

数据位:紧跟起始位之后,低位在前高位在后。

校验位:数据位之后,占用1位,用于串行通信数据的奇校验或偶校验。

停止位:位于字符帧末尾,表示该帧信息传递完毕。

3.异步通信的波特率波特率的定义为每秒钟传送二进制码的个数,单位是bps,即位/秒。

用波特率来反映数据传输的速度,波特率越高,帧数据传输速度越快。

4.串行通信的制式半双工制式:通信数据从A站到B站或从B站到A站,双方不能同时收发。

全双工制式:通信数据在A站和B站间可以同时发送和接收。

二、AT89S51的串行通信功能1.AT89S51的内部串行通信接口AT89S51内部含有一个全双工串行通信接口,有串行口控制寄存器SCON、发送和接收电路、串行数据缓冲寄存器SBUF组成。

发送与接收的SBUF在物理上独立存在,在使用上同名,单片机仅靠指令区分。

89C51串行口及串行通信技术.

89C51串行口及串行通信技术.
• 起始位后面紧接着是数据位,它可以是5位(D0--D4)、6位、7位或8位(D0--D7)。 • 奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验位,则这一位就可省去。
也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。 • 停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、1.5位或2位。
3
第七章 89C51串行口及串行通信技术
7.1 串行通信基本知识 7.2 串行口及应用 7.3 RS-232C标准接口总线及串行通信硬件设计 7.4 89C51与89C51点对点异步通信 7.5 89C51与PC机间通信软件的设计 7.6 PC机与多个单片机间的通信 7.7 思考题与习题
返回
2019年6月9日星期日
• 通信方式有两种,即并行通信和串行通信。
• 通常根据信息传送的距离决定采用哪种通信方式。
• 例如,在IBM-PC机与外部设备(如打印机等)通信时, 如果距离小于30m,可采用并行通信方式;当距离大于 30m时,则要采用串行通信方式。89C51单片机具有并 行和串行二种基本通信方式。
返回
2019年6月9日星期日
返回
2019年6月9日星期日
31
2、串行通信协议
(3)奇偶校验位
数据位发送完之后,可以发送奇偶校验位。奇偶校验用 于有限差错检测,通信双方需约定已知的奇偶校验方式。 如果选择偶校验,那么组成数据位和奇偶位的逻辑1的个 数必须是偶数;如果选择奇校验,那么逻辑1的个数必须 是奇数。
返回
2019年6月9日星期日
接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只 要再接收到0,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则使线 路电平保持为高电平(逻辑1)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 AT89S51串行口及串行通信技术前几章所涉及的数据传送方式都是并行传送,如AT89S51和外接8位数据的并行传送。

这时外设和单片机间的距离都很短,若很长的话,要实行并行的形式显然要用很多的电缆线,这在布线和经济上都不是适合的。

因此,本章引入串行传送方式,只用一根数据线传送数据的位信号,同时加上一些通信控制信号线,以满足远距离数据传送的需要,如因特网终端和客户端之间的数据通信。

在相同条件下,串行传送速度比并行慢,串行是在牺牲速度的基础上节省成本的。

本章的知识点如下:1.了解数据通信中的并行/串行、同步/异步、单工/双工以及波特率的概念。

2.掌握为什么双机通信时要有通信协议以及通信协议的主要内容。

3.了解AT89S51串行接口的基本结构。

4.理解串行接口控制寄存器SCON 各个位的含义。

5.掌握串行接口的4种工作方式及其实际应用,掌握不同工作方式下的波特率计算方法。

6.理解串行接口中断的概念。

7.了解AT89S51与PC 机间的硬件系统及设计。

重点:1.不同工作方式下的波特率计算。

2.串口收/发数据的协议及流程。

3.串口4种工作方式的应用。

难点:1.AT89S51串行接口的基本结构。

2.MAX232和PC 机的通信。

7.1 串行通信基本知识 本节介绍串行通信的基本介绍,同时介绍通信中常用到的“波特率”的概念,为以下各节学习作基础。

7.1.1 数据通信1. 通信:计算机的CPU 与外设间的信息交换,计算机与计算机间的信息交换。

2. 分类及各方式的特点(1) 并行通信定义:数据的各位同时进行传送(发送或接收)的通信方式。

特点:优点——传送速度快;缺点——数据多少位就要多少根传送线,对于位数多,传送远的通信不合适。

(2) 串行通信定义:数据是一位一位按顺序传送的通信方式。

特点:优点——只需一对传输线(如电话线),大大降低了传送成本,适合于远距离通信;缺点——传送速度相对较慢。

闽江学院电子系 薛小铃对AT89S51单片机,它可以利用P3.0(RXD)和P3.1(TXD)实现串行通信。

并行通信和串行通信方式的连接方法如图7-1所示。

图7-1 两种通信方式的连接方法7.1.2 串行通信的传输方式 串行通信的传输方向通常有如下三种: 单工:数据在发送器→接收器间单方向的传送。

半双工:两端的通信设备都具有发送器和接收器,数据可以向两端的任一方向传送,但是,在同一时刻每端只允许一个方向传送数据(相反设备有效),要么甲站发送乙站接收,要么甲站接收而乙站发送。

全双工:数据可以双向传送,两端间具有独立的通信回路,可以同时接收和传送。

串行通信中,数据传输方式如图7-2所示。

图7-2 串行通信传输方式7.1.3 异步通信和同步通信串行通信有两种基本通信方式:同步通信和异步通信。

1. 异步通信在异步通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,89S5189S51闽江学院电子系 薛小铃每一帧的数据格式如图7-3所示。

图7-3 异步通信数据格式在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。

首先是一个起始为(0),然后是5位--8位数据,接下来是奇偶校验位(可省略),最后是停止位(1)。

(1) 起始位:位于开头,只占一位,用逻辑口通知接收设备发送端开始发送一帧信息,若不传送字符帧,始终保持为1。

(2) 数据位:紧跟起始位之后,可以是5位、6位、7位或8位数据,且低位在前,高位在后。

传送ASCII 字符,则常取7位。

(3) 奇偶校验位:位于数据位之后,只占一位,用于有限差错检测,通信双方要约定一定的校验方式,起始位和奇偶校验位包含逻辑1的个数为偶数,则为偶校验,否则为奇校验。

也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。

该位可以省略。

(4) 停止位:位于末尾,为逻辑1高电平,通常可取1位、1.5位或2位,表示一帧字符已发送完毕,也为下一帧字符做准备。

只要接收到“0”,就意味下一帧字符的开始。

若发送一字符帧完之后,并不马上发送下一帧,那么这两帧字符间就要用“1”隔开,称为空闲位。

图7-2(b)就表示了这一特性。

2. 同步通信同步通信是一种连续按顺序串行传送数据的通信方式,一次通信只传送一帧信息,和异步通信中的字符帧不同,一帧的信息是连续的数据信息。

同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC 来指示,其数据格式如图7-4所示,图的上半部分是双同步字符帧结构,图的下半部分是单同步字符帧结构。

闽江学院电子系 薛小铃图7-4 同步通信数据格式同步字符的插入可以是单同步字符方式或双同步字符方式,如图7-4所示,然后是连续的数据块。

同步字符可以由用户约定,当然也可以采用ASCII 码中规定的SYNC 代码,即16H。

在国际标准中,通常用“EB90H”作为双同步字符。

按同步方式通信时,先发送同步字符,接收方检测到同步字符后,即准备接收数据。

在同步传送时,要求用时钟来实现发送端与接收端之间的同步。

为了保证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。

同步传送可以提高传输速率(达56kb/s 或更高),但硬件比较复杂。

3. 波特率(Baud rate )波特率即数据传送速率,表示每秒钟传送二进制代码的位数,其单位是b/s 。

它亦称为比特数bps (bit per second )。

波特率是串行通信的重要指标,表示数据传输的速度,如异步通信中,数据传送速率120字符帧/s ,一个字符帧包含10b ,则波特率=120字符帧/s*10b/字符帧=1200b/s说明:(1) 每位代码的传输时间T d 为波特率的倒数。

如以上例子的 (2) 字符帧的传送速率是指每秒钟所传字符帧的帧数。

如一个字符帧为10b ,另一个为11b ,则字符帧的传送速率分别为1200/10=120帧/s ,1200/11=109.09帧/s 。

可见,波特率相同字符帧的传送速率并一定相同,它和帧格式有关。

7.1.4 串行通信过程 1. 串←→并转换 解决的问题:把要发送的并行数据串行化,把接收的数据并行化。

原则:低位在前,高位在后。

具体转换原理如图7-5和图7-6所示。

闽江学院电子系 薛小铃图7-5 发送时的并-串转换图7-6 接收时的串-并转换2. 设备同步以同步时钟控制发送和接收设备的同步,有效的控制通信线路上的信号变化,从而确保发送数据被正确接收。

同时,要保证通信双方采用统一的编程方法(格式相同)和能产生相同的传送速率,从而保证bps 一致。

比如,起始位可起到设备同步的作用。

7.2 串行口及应用 第二章的学习,我们知道AT89S51单片机除4个并行I/O 口外,还有一个可编程全双工的异步串行通信接口。

它有两个功能:①具有UATR 的全部功能;②作移位寄存器实现单片机系统点对点通信和单片机与微机的单机或多机通信。

本节的内容包括串行口的结构、工作方式(涉及到SCON 、PCON )及应用。

7.2.1 AT89S51串行口1. 结构AT89S51单片机的串行口结构简图如图7-6所示。

它由三部分组成:时钟部分、异步接收部分和异步发送部分。

闽江学院电子系 薛小铃图7-7 串行口内部结构示意简图(1) 时钟部分在7.1节学习,已知异步串行通信数据的传送(发送/接收)是在时钟控制下进行的,由第6章可知:晶振f OSC 经过12分频(得到机器周期)可以控制定时/计数器T1,产生定时时间,它的倒数即所谓的溢出率,即T1可以作为串行通信的波特率发生器,T1溢出率经2分频或不分频后又经16分频可作为异步接收/发送的时钟信号,它又可以作为输入移位寄存器的时钟,可见移位脉冲和异步传送同步,即移位脉冲的频率和异步传送的波特率相同。

由图7-7可以看出,T1溢出是2分频还是不分频后再16分频,取决于SMOD 控制寄存器:若SMOD=1,则不分频;若SMOD =0,则2分频。

(2) 异步接收部分当“1到0跳变检测器”检测到RXD 线上有效电平时,便可确认RXD 线上出现了起始位,它的值为0。

输入移位寄存器开始接收RXD 线上的一帧数据,并装载到接收SUBF 中,一帧字符接收之后就自动去掉起始位并使RI =1,从而向CPU 提出中断请求,CPU 响应中断后,可以通过“MOV A,SBUF ”指令把接收到的字符送入累加器A 中。

至此,一帧字符的接收结束,根据需要还可进行下一步的接收。

(3) 异步发送部分(双缓冲结构)当有指令“MOV SBUF,A ”时,SBUF 开始装载由A 送来的一帧数据,然后在移位脉冲控制下,一位一位地从TXD 线上送出字符帧,发送完毕,TI 自动置位。

说明:接收和发送中都有SBUF ,它们共同占有一个地址99H ,CPU 根据不同指令对它们进行读/写操作。

2. 串行口控制字及控制寄存器AT89S51单片机的可编程串行口有2个控制寄存器SCON 和PCON ,可以选择串行口的通信方式和波特率。

(1) SCON (98H )AT89S51串行通信的方式选择、接收和发送控制以及串行口的状态标志等均由闽江学院电子系 薛小铃特殊功能寄存器SCON 控制和指示,其控制字格式如图7-8所示。

图7-8 串行口控制寄存器SCON①SM0和SM1(SCON.7,SCON.6)——串行口工作方式选择位。

两个选择位对应4种通信方式,如表7-1所示。

其中,f OSC 是振荡频率。

②SM2:多机通信控制位。

主要用于方式2和方式3。

③REN :接收控制位(串行口开关)。

由软件置1或清0,只有当REN =1时才允许接收,相当于串行接收的开关;若REN =0,则禁止接收。

在串行通信接收控制过程中,如果满足RI =0和REN =1(允许接收)的条件,就允许接收,一帧数据就装载入接收SBUF 中。

④TB8:发送数据的第9位。

⑤RB8:接收数据的第9位。

⑥TI :发送中断标志。

在一帧数据发送完时被置位。

在方式0串行发送第8位结束或其他方式串行发送到停止位的开始时由硬件置位,可用软件查询。

它同时也申请中断,TI 置位意味着向CPU 提供“发送缓冲器SBUF 已空”的信息,CPU 可以准备发送下一帧数据。

串行口发送中断被响应后,TI 不会自动清0,必须由软件清0。

⑦RI :接收中断标志。

在接收到一帧有效数据后由硬件置位。

在方式0中,第8位数据发送结束时,由硬件置位;在其他三种方式中,当接收到停止位中间时由硬件置位。

RI =1,申请中断,表示一帧数据接收结束,并已装入接收SBUF 中,要求CPU 取走数据。

CPU 响应中断,取走数据。

RI 也必须由软件清0,清除中断申请,并准备接收下一帧数据。

闽江学院电子系 薛小铃(2) PCON (87H )电源控制寄存器PCON 中只有SMOD 位与串行口工作有关,如图7-9所示。

相关文档
最新文档