串行通信概念及51系列单片机的串行口问题

合集下载

第七章--串行口

第七章--串行口

异步通信和同步通信 异步通信(Asynchronous Communication)
在异步通信中,数据通常是以字符(字节)为单位组成字符 帧传送的。字符帧由发送端一帧一帧地发送,通过传输线 由接收设备一帧一帧地接收。发送端和接收端可以有各自 的时钟来控制数据的发送和接收。 一个字符在异步传送中又称为一帧数据,字符帧也叫数据 帧,由起始位、数据位、奇偶校验位和停止位四部分组成, 如图7-2所示。
例如,波特率为2400b/s的通信系统,若采用图7-2(a) 的字符帧,则字符的实际传送速率为2400/11=218.18帧 /s;若采用图7-2(b)的字符帧,则字符的实际传送速率为 2400/14=171.43帧/s。
串 行 通 信 和 基 础 知 识
串行口的结构
MCS-51串行口结构框图如图7-4所示。 主要由两个物理上独立的串行数据缓冲寄存器SBUF、发送 控制器、接收控制器、输入移位寄存器和输出控制门组成。 两个特殊功能寄存器SCON和PCON用来控制串行口的工作方 式和波特率。 发送缓冲寄存器SBUF只能写,不能读;接收缓冲寄存器 SBUF只能读,不能写。两个缓冲寄存器共用一个地址99H, 可以用读/写指令区分。
7.1串行通信的基础知识
7.2 MCS-51的串行I/O口及控制寄存器
7.3 串行口的工作方式 7.4 波特率的设计 7.5 MCS-51串行口的应用 7.6 MCS-51串行口的多机通信
本章首先介绍串行通信的基本概念,然后重 点讨论MCS-51系列单片机串行口的特点和用法, 要求掌握串行口的概念、 MCS-51串行口的结构、 原理及应用。
在进行通讯时,外界数据是通过引脚RxD(P3.0,串行数据 接收端)和引脚TxD(P3.1,串行数据发送端)与外界进行串 行通信。 输入数据先进入输入移位寄存器,再送入接收SBUF。在此 采用了双缓冲结构。

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。

串行口是一种通信接口,可以通过单根线传输数据。

本章将介绍80C51单片机的串行口原理及其应用。

一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。

SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。

80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。

1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。

80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。

在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。

其次,需要设置波特率。

波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。

然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。

在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。

在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。

2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。

80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。

在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。

单片机原理_第10章 MCS-51系统的串行接口(教学PPT)

单片机原理_第10章 MCS-51系统的串行接口(教学PPT)
第十章 MCS-51单片机的串行接口
1
10.1 串行通信基础知识
通信的基本方式
• 并行通信:各位数据同时传送。
• 串行通信:数据一位位按顺序传送。
串行接口
2
10.1.1 串行通信的两种基本方式
1. 异步传送方式
收发双方有各自的时钟源控制字符发送 和接收,数据以一个字(字符)为传送单位, 它们在线路上传送不连续。异步传送时, 发送方能采用两种方式传送,即各个字符
2. 数据输入(接收)
当REN=1、SM0=0、SM1=1,并检测到 起始位后,由移位脉冲控制接收数据。当满 足条件:

RI=0; 收到停止位为“1”或SM2=0时,8位数据送 入SBUF,停止位进入RB8,置位中断标志RI。 如果两个条件不满足,数据将丢失。
串行接口
38
串行口方式1的时序
串行接口
串行接口
34
方式0:移位寄存器输入/输出方式
(1) 数据输出(发送) 数据写入SBUF后,数据在移位脉冲(TXD) 控制下, 由RXD端逐位移入74LS164。当8位数据全部移出后, TI由硬件置位,发生中断请求。若CPU响应中断,则 从0023H单元开始执行串行口中断服务程序,数据由 74LS164并行输出。
串行接口

MOV SCON, #80H
方式2:11(9)位异步发送/接收方式
REN=1、SM0=1、SM1=0时,串口以 方式2接收数据。当满足条件:

RI=0,SM2=0 ;
或收到的第9位数据为“1”。
8位数据送入SBUF,第9位数据进入 RB8,置位RI。如果条件不满足,数据将 丢失。
串行接口
串行接口
10
串行通信的基础知识

第7章MCS51的串行口

第7章MCS51的串行口
单工
发送 接收
半双工
发送
时间1
接收
接收
时间2
发送
全双工
发送 接收
接收
发送
8051有1个全双工异步通信串行口


通信线的连接 1、单片机与单片机 2、单片机与PC 3、多机通信
+5V
TXD RXD89C51 主机
单片机 +
1 3 4 5
T1IN
16
2 6
+ 单片机
TXD + RXD
11
MAX232
SBUF 串行口
串行接口功能
1.发送器:并串数据格式转换,添加标识位和校 验位,一帧发送结束,设置结束标志,申请中断。 2.接收器:串并数据格式转换,检查错误,去掉 标识位,保存有效数据,设置接收结束标志,申请中 断。 3.控制器:接收编程命令和控制参数,设置工作方 式:同步/异步、字符格式、波特率、校验方式、数 据位与同步时钟比例等。
• 89C51串行口控制寄存器SCON
字节地址98H,可位寻址
位地址 位符号 9FH SM0 9EH SM1 9DH SM2 9CH REN 9BH TB8 9AH RB8 99H TI 98H RI
SM0,SM1:串口4种工作方式选择。
SM0 0 0 1 1 SM1 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 功能 8位同步移位寄存器 8位异步收发 9位异步收发 9位异步收发 波特率 fosc/12 可变 fosc/64或fosc/32 可变
空 闲
空 闲
下一字符 起始位
D0
D7
一次传输的起始位、字符各位、校验位、停止 位构成一个字符帧(数据帧)信息 帧与帧间可有任意个空闲位,起始位后紧跟数据 的最低位。

51单片机串口通信

51单片机串口通信

一、串口通信原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。

由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。

串口通信的工作原理请同学们参看教科书。

以下对串口通信中一些需要同学们注意的地方作一点说明:1、波特率选择波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。

MSC-51串行端口在四种工作模式下有不同的波特率计算方法。

其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。

在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。

在此模式下波特率计算公式为:波特率=(1+SMOD)*晶振频率/(384*(256-TH1))其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。

在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。

这要根据系统的运作特点,确定通信的频率范围。

然后考虑通信时钟误差。

使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。

为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。

下面举例说明波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。

则TH1=256-62500/波特率根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,19200。

列计数器重载值,通信误差如下表:因此,在通信中,最好选用波特率为1200,2400,4800中的一个。

2、通信协议的使用通信协议是通信设备在通信前的约定。

单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。

假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:0xA1:单片机读取P0端口数据,并将读取数据返回PC机;0xA2:单片机从PC机接收一段控制数据;0xA3:单片机操作成功信息。

51单片机-串行口ppt课件

51单片机-串行口ppt课件

为发送时CPU是主动的,不会产生重叠错误。
最新课件
21
8.2.2 80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工 作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
最新课件
22
●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的
严格一致,实现容易,设备开销较小,但 每个字符要附加2~3位用于起止位,各帧 之间还有间隔,因此传输效率不高。
最新课件
9
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。此时,传输数据的位之间的距离均 为“位间隔”的整数倍,同时传送的字符间不留间隙,即 保持位同步关系,也保持字符同步关系。发送方对接收方 的同步可以通过两种方法实现。
波特率=2SMOD/32×T1的溢出率 = 2SMOD × fosc/[ 32 × 12×(2K-初值)]
最新课件
19
回目录 上页 下页
3、传输距离与传输速率的关系
串行接口或终端直接传送串行信息位流的

深入理解51单片机串口通信及通信实例

深入理解51单片机串口通信及通信实例

深入理解51单片机串口通信及通信实例串口通信的原理串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

它很简单并且能够实现远距离通信。

比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。

通信使用3根线完成,分别是地线、发送、接收。

由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。

其他线用于握手,但不是必须的。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

对于两个进行通信的端口,这些参数必须匹配。

a,波特率:这是一个衡量符号传输速率的参数。

指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。

一般调制速率大于波特率,比如曼彻斯特编码)。

通常电话线的波特率为14400,28800和36600。

波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。

当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。

如何设置取决于你想传送的信息。

比如,标准的ASCII码是0~127(7位)。

扩展的ASCII码是0~255(8位)。

如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。

每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。

由于实际数据位取决于通信协议的选取,术语包指任何通信的情况。

第7章 MCS-51串行接口

第7章 MCS-51串行接口

5.通信协议
(1) 奇偶校验 (2) 累加和校验 (3) 循环冗余码校验 (Cyclic Redundancy Check, 简称CRC)
7.2 MCS-51串行口结构与工作原理
MCS-51单片机内部含有1个可编程全双工串行通信接口, 它有4种工作方式。串行口内部结构如下图,两个物理上独立地 接收和发送缓冲器,可同时收、发数据(全双工)。 两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)
发送指令:MOV SBUF,A ;将数据写到发送缓冲器SBUF 接收指令:MOV A,SBUF ;读出接收缓冲器SBUF中接收到的数据 控制寄存器共两个:特殊功能寄存器SCON和PCON。
串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入SBUF,CPU将自动启动和 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据。 指令 MOV SBUF,A 启动一次数据发送,可向SBUF 再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再 接收下一个数
(2)同步通信 同步通信依靠同步字符保持通信同步。同步通信 是由1~2个同步字符和多字节数据位组成,同步字符作 为起始位以触发同步时钟开始发送或接收数据;多字节 数据之间不允许有空隙,每位占用的时间相等;空闲位 需发送同步字符。(同步字符可以用户约定,也可以有 用ASCⅡ码中规定的SYNC同步字符(即16H)) 同步通信传输速度较快,但要求有准确的时钟来实 现收发双方的严格同步,对硬件要求较高,适用于成批 数据传送。

MCS-51单片机串行通信

MCS-51单片机串行通信

9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。

51单片机串口通信实例

51单片机串口通信实例

51单片机串口通信实例一、原理简介51 单片机内部有一个全双工串行接口。

什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。

其缺点是传输速度较低。

与之前一样,首先我们来了解单片机串口相关的寄存器。

SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。

从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。

串行口控制寄存器SCON(见表1) 。

表1 SCON寄存器表中各位(从左至右为从高位到低位)含义如下。

SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示。

表2 串行口工作方式控制位其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。

SM2 :多机通信控制位。

该仅用于方式2 和方式3 的多机通信。

其中发送机SM2 = 1(需要程序控制设置)。

接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。

当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。

工作于方式0 时,SM2 必须为0。

REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。

TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。

在多机通信中它代表传输的地址或数据,TB8=0 为数据,TB8=1 时为地址。

RB8 :在方式2、3 中,RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。

51单片机试题及答案

51单片机试题及答案

51单片机试题及答案51单片机是一种常用的单片机,广泛应用于各种电子设备中。

在学习和应用过程中,掌握相关的试题和答案是非常重要的。

本篇文章将提供一些常见的51单片机试题,并给出详细的答案解析。

试题一:请简述51单片机的基本概念。

答案:51单片机指的是英特尔公司开发的一种8位单片机,其核心是8051系列单片机。

它具有低功耗、高集成度和强大的功能特点。

51单片机广泛应用于嵌入式系统、电子仪器和家用电器等领域。

试题二:请解释什么是片内RAM和片内ROM。

答案:片内RAM(Random Access Memory)指的是单片机内部集成的随机存取内存,用于存储临时数据。

片内ROM(Read-Only Memory)用于存储程序代码和常量数据,无法在运行时进行修改。

试题三:请列举51单片机的常用指令集。

答案:51单片机的常用指令集包括数据传输指令、算术指令、逻辑指令、跳转指令、位操作指令等。

具体的指令可以根据需求在手册中查阅。

试题四:请解释定时器和中断的概念。

答案:定时器是一种特殊的硬件模块,用于实现定时功能。

通过设置定时器的计数值和工作模式,可以实现各种时间精度的定时。

中断是一种事件触发机制,当特定事件发生时,中断会打断当前的程序执行,转而执行相应的中断服务程序。

试题五:请简述串行通信中的UART概念。

答案:UART(Universal Asynchronous Receiver/Transmitter)是一种常见的串行通信接口,用于实现数据的传输和接收。

UART通过设置波特率、数据位、停止位和校验位等参数,实现串行通信的数据有效性和可靠性。

试题六:请简要介绍51单片机的编程流程。

答案:51单片机的编程流程主要包括以下几个步骤:写好程序代码,并保存为.asm汇编文件;使用汇编器将汇编文件转换为机器码文件;使用烧录器将机器码文件烧录到单片机的存储器中;将单片机与外部电路连接,并通电运行程序。

试题七:请解释I/O口及其在51单片机中的应用。

单片机汇编专题知识

单片机汇编专题知识

位符号 SM0 SM1 SM2 REN TB8 RB8 TI
RI
SCON中各位阐明如下:
1) SM0 、SM1——串行口工作方式选
择位
其状态组合和相应工作方式为:
SM0 SM1
工作方式
011
方式2 方式3
2) SM2——允许方式2、3旳多机通信控制位 (寄在存RB方器8)式S为B2U和1F中,3 中,才并,将置若接位受S MR到2I=产旳1生前且中8接位断受数祈到据求旳送;第入不九接然位受丢数缓弃前冲据 8还位是数为据0。,都若将S前M28=位0送,入则接不受论S第BU九F中位,数并据产(生RB中8)断为祈1 求。
12 (256 X ) fosc
溢出率为溢出周期旳倒数。则波特率旳计算公式为:
波特率= 2SMOD
fosc
32 12 (256 X)
实际使用中,波特率是已知旳。所以需要根据波特率旳计 算公式求定时初值X。顾客只需要把定时初值设置到定时器1, 就能得到所要求旳波特率。
串行工作方式2
方式2为11位为一帧旳异步串行通信方式。其帧格式为1个 起始位、9个数据位和1个停止位。如下图所示。
D0 。。。。。。 D7
RXD 8051
TXD
P1.0
A
B
74LS164
CLK STB
2. 数据接受 要实现数据接受,必须首先把SCON中旳允许接受位REN设置为
1。当REN设置为1时,数据就在移位脉冲旳控制下,从RXD端输入。 当接受到8位数据时,置位接受中断标志位RI,发生中断祈求。 其接口逻辑如下图所示。由逻辑图可知,经过外接74LS165,串 行口能够实现数据旳并行输入。
4)停止位:末尾,为逻辑“1”高电平, 可取1、1.5、2位,表达一帧字符传送 完毕。

ch10-MCS51串行通信

ch10-MCS51串行通信
17
串行口的结构
内部总线
接收、发送缓冲器SBUF在物理上是独立的,因此
可以进行全双工通信。虽然它们使用同一地址99H, 但发送缓冲器只能写入,不能读出,而接收缓冲器 18 只能读出,不能写入。
串行口的结构
内部总线
在接收时,串行数据通过引脚RXD(P3.0)进入。经移位寄
存器进入接收缓冲器SBUF,再由SBUF把数据输出到片内数据 总线上,构成了串行接收的双缓冲结构,以免在数据接收过程 中出现下一帧数据到来时,前一帧数据还没有读走而丢失,即 19 帧重叠错误。
这种方式不适用于两个MCS-51单片机间的通讯。
25
方式0输出(发送)
串行口作为并行输出口使用时,要有“串入 并出”的移位寄存器(例如CD4094或74LSl64、 74HCl64等)配合,其电路连接如下所示。
RxD TxD 8051 A B 74LS164 MR
CLK Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
35
方式1——8位异步串行通信方式
方式1接收(输入)
接收数据时,SCON的REN位应处于允许接收 状态(软件置REN=1)。在此前提下,串行口以 16倍波特率的速率采样RXD端,当采样到从“1” 向“0”状态跳变时,就认定是接收到起始位。随 后在移位脉冲的控制下,把接收到的数据位移入 接收寄存器中。直到停止位到来之后置位中断标 志RI,通知CPU从SBUF中取走接收到的一个字符。
29
机器周期 写SCON RxD TxD
00
01
02
03
04
05
06
07
RI
方式0接收时,串行控制寄存器SCON中的REN位为串行口 允许接收控制位。REN=1且接收中断标志位RI=0时,单片机内 部产生一个正脉冲,单片机开始接收数据。数据通过RxD(P3.0) 引脚输入数据,同时TxD(P3.1)为同步移位脉冲输出端。接 收器也以fosc/12的固定频率采样RxD引脚的数据信息,当单片 机接收完8位数据信息后,接收中断标志位RI置1,向CPU申请 中断,表示已经接收完一帧数据,开始准备接收下一组数据。 30

51单片机串口通信

51单片机串口通信

51单片机串口通信串行口通信是一种在计算机和外部设备之间进行数据传输的通信方式,其中包括了并行通信、RS-232通信、USB通信等。

而在嵌入式系统中,最常见、最重要的通信方式就是单片机串口通信。

本文将详细介绍51单片机串口通信的原理、使用方法以及一些常见问题与解决方法。

一、串口通信的原理串口通信是以字节为单位进行数据传输的。

在串口通信中,数据传输分为两个方向:发送方向和接收方向。

发送方将待发送的数据通过串行转并行电路转换为一组相对应的并行信号,然后通过串口发送给接收方。

接收方在接收到并行信号后,通过串行转并行电路将数据转换为与发送方发送时相对应的数据。

在51单片机中,通过两个寄存器来实现串口通信功能:SBUF寄存器和SCON寄存器。

其中,SBUF寄存器用于存储要发送或接收的数据,而SCON寄存器用于配置串口通信的工作模式。

二、51单片机串口通信的使用方法1. 串口的初始化在使用51单片机进行串口通信之前,需要进行串口的初始化设置。

具体的步骤如下:a. 设置波特率:使用波特率发生器,通过设定计算器的初值和重装值来实现特定的波特率。

b. 串口工作模式选择:设置SCON寄存器,选择串行模式和波特率。

2. 发送数据发送数据的过程可以分为以下几个步骤:a. 将要发送的数据存储在SBUF寄存器中。

b. 等待发送完成,即判断TI(发送中断标志位)是否为1,如果为1,则表示发送完成。

c. 清除TI标志位。

3. 接收数据接收数据的过程可以分为以下几个步骤:a. 等待数据接收完成,即判断RI(接收中断标志位)是否为1,如果为1,则表示接收完成。

b. 将接收到的数据从SBUF寄存器中读取出来。

c. 清除RI标志位。

三、51单片机串口通信的常见问题与解决方法1. 波特率不匹配当发送方和接收方的波特率不一致时,会导致数据传输错误。

解决方法是在初始化时确保两端的波特率设置一致。

2. 数据丢失当发送方连续发送数据时,接收方可能会出现数据丢失的情况。

第八课51单片机串行口工作原理

第八课51单片机串行口工作原理

第八课:51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。

1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。

其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。

串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。

串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。

发送时,只写不读;接收时,只读不写。

在一定条件下,向阳UF写入数据就启动了发送过程;读SBUf就启动了接收过程。

串行通信的波特率可以程控设定。

在不同工作方式中,由时钟振荡频率的分频值或由定时器Tl的定时溢出时间确定,使用十分方便灵活。

2.串行端口的工作方式①方式08位移位寄存器输入/输出方式。

多用于外接移位寄存器以扩展I/O端口。

波特率固定为fosc/12。

其中,fosc为时钟频率。

在方式0中,串行端口作为输出时,只要向串行缓冲器SBUF写入一字节数据后,串行端口就把此8位数据以等的波特率,从RXD引脚逐位输出(从低位到高位);此时,TXD输出频率为fosc/12的同步移位脉冲。

数据发送前,仅管不使用中断,中断标志TI还必须清零,8位数据发送完后,TI自动置1。

如要再发送,必须用软件将TI清零。

串行端口作为输入时,RXD为数据输入端,TXD仍为同步信号输出端,输出频率为fosc/12的同步移位脉冲,使外部数据逐位移入RxD。

当接收到8位数据(一帧)后,中断标志RI自动置。

如果再接收,必须用软件先将RI清零。

串行方式0发送和接收的时序过程见下图。

单片机串行数据通信

单片机串行数据通信

第n 字符帧 … D7 1 0 起 始 位 D0 D1 D2 D3 D4 8 位数据 D5 D6 D7 1 停 止 位 0
第n +1 字符帧 D0 D1 …
10位的帧格式
23
2.方式1
串行口工作于模式 1 时, 为波特率可变的 8 位异步通信接 口。数据位由 P3.0 (RXD)端接收, 由P3.1(TXD)端发送。 传送 一帧信息为 10 位: 一位起始位(0), 8 位数据位(低位在前) 和一位停止位(1)。波特率是可变的, 它取决于定时器 T1 的 溢出速率及SMOD的状态。 (1)方式1 发送过程。 用软件清除 TI后, CPU执行任何一 条以 SBUF为目标寄存器的指令, 就启动发送过程。数据由
11位的帧格式
27
方式3
方式3为波特率可变的11位UART通信方式,除了波 特率以外,方式3和方式2完全相同。
28
方式2 和方式3
串行口工作于方式2 和方式3 时, 被定义为 9 位异步通信 接口。 它们的每帧数据结构是 11 位的: 最低位是起始位 (0), 其后是 8 位数据位(低位在先), 第 10 位是用户定义
(2)方式2和方式3接收过程。 与方式1类似,方式2和方式3接收过程始于在 RXD端检测
到负跳变时,为此, CPU以波特率 16倍的采样速率对 RXD端不
断采样。一检测到负跳变, 16分频计数器就立刻复位, 同时把
1FFH写入输入移位寄存器。计数器的16个状态把一位时间等 分成16份, 在每一位的第7、8、9个状态时, 位检测器对 RXD 端的值采样。如果所接收到的起始位无效(为1),则复位接 收电路, 等待另一个负跳变的到来。 若起始位有效(为 0) 则起始位移入移位寄存器, 并开始接收这一帧的其余位。 当 起始位 0 移到最左面时, 通知接收控制器进行最后一次移位。 把 8 位数据装入接收缓冲器 SBUF, 第 9 位数据装入SCON中

MCS-51单片机的串行口及串行通信技术

MCS-51单片机的串行口及串行通信技术

MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。

单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。

例如,⽬前的有线电视节⽬,只能单⽅向传送。

半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。

也就是说,半双⼯通信可以分时双向传送数据。

例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。

全双⼯通信:数据可同时向两个⽅向传送。

全双⼯通信效率最⾼,适⽤于计算机之间的通信。

此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。

实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。

异步通信在异步通信中,数据⼀帧⼀帧地传送。

每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。

每⼀帧的数据格式如图7-1所⽰。

⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。

起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。

通信线在不传送字符时,⼀直保持为“1”。

接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。

起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。

数据位数据位是要传送的数据,可以是5位、6位或更多。

当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。

奇偶校验位奇偶校验位只占⼀位,其数据位为D8。

当传送数据不进⾏奇偶校验时,可以省略此位。

此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。

停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。

停⽌位必须是⾼电平。

接收端接收到停⽌位后,就知道此字符传送完毕。

MCS-51单片机应用教程 第4章

MCS-51单片机应用教程 第4章

3. 方式1或方式3的波特率 在这两种方式下,串行口波特率是由定时器的溢出率 决定的,因而波特率是可变的。波特率的公式为:
2SMOD 波特率= 定时器T1溢出率 32
定时器T1的溢出率计算公式为: f osc 1 定时器T 1 溢出率= K ( ) 12 2 -初值
式中: K为定时器T1的位数;若定时器T1方式0,则 K=13;若定时器T1方式1,则K=l6;若定时器T1方 式2或方式3,则K=8。
2. 串行口控制寄存器SCON SCON是可以进行位寻址ห้องสมุดไป่ตู้8位控制寄存器,地址 为98H。SCON的各位的定义和功能如下:
SCON.7 SM0
.6 SM1
.5
.4
.3
.2 RB8
.1 TI
SCON.0 RI
SM2 REN TB8
SM0、SM1: 串行口工作方式选择位(内容见 4.2.2节)。 SM2: 多机通信控制位。具体用法见4.3.3节。 REN: 串行接收允许位。由软件置位或清除。软 件置1时,串行口允许接收,清零后禁止接收。 TB8: 在方式2和方式3中是发送的第9位数据。 RB8: 在方式2和方式3中是接收的第9位数据。 TI: 发送中断标志位。发送结束时由硬件置位。 该位必须用软件清零。 RI: 接收中断标志位。结束接收时由硬件置位。 该位必须用软件清零。
2. 同步方式 将一大批数据分成几个数据块,数据块之间用同步 字符予以隔开,而传输的各位二进制码之间都没有 间隔,所以同步方式是按数据块传送数据的,一次 可以传送完一大批数据。 同步方式中,每一位数据占用的传输时间都是相等 的,接收机的接收时钟应该和发送机的发送时钟以 及传送的码元同步。图4-2(b)中给出了典型的数据 格式。与图4-2(a)相比,同步通信方式的数据格式 中没有两帧之间的空闲时间,也没有一帧之内的识 别标志位。显然这种方式可以大大提高通信速度, 常用于高速计算机的大容量数据通信。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RXD 接收数据(Receive) TXD 发送数据(Transmit) DTR GND DSR 数据终端准备(Data Terminal Ready) 地线(Ground) 数据准备好(Data Set Ready)
RXD 接收数据(Receive) TXD 发送数据(Transmit) DTR GND DSR 数据终端准备(Data Terminal Ready) 地线(Ground) 数据准备好(Data Set Ready)
*●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。 在方式0时,SM2必须是0。在方式1时,若SM2=1, 则只有接收到有效停止位时,RI才置1。 ●REN,允许串行接收位。由软件置REN=1,则启动 串行口接收数据;若软件置REN=0,则禁止接收。
TXD 计 算 机 RXD RTS DSR
M O D E M
电话线
M O D E M
TXD RXD RTS DSR 计 算 机
远程通信连接
近程通信连接
4、RS-232C的其它规定 RS-232C是一种电压型总线标准,以不同的电压表示逻辑 值: -3V~-15V表示逻辑“1” +3V~+15V表示逻辑“0”
三、串行通信的传输方式 1、单工 单工是指数据传输仅能沿一个方向,不能实现反向传输。 2、半双工 半双工是指数据传输可以沿两个方向,但需要分时进行。 3、全双工 全双工是指数据可以同时进行双向传输。
4.串行通信的信号传输 (1)通信线路的连接方式
信号的调制与解调 : 利用调制器(Modulator)把数字信号转换成模拟信号, 然后送到通信线路上去,再由解调器(Demodulator)把 从通信线路上收到的模拟信号转换成数字信号。由于通信 是双向的,调制器和解调器合并在一个装置中,这就是调 制解调器MODEM。
2
80C51串行口寄存器
1)SCON --- 可位寻址的串行口控制寄存器,用以 设定串行口的工作方式、接收/发送控制以及设置 状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
SM2:多机通信控制位。
REN:允许接收控制位。当REN=1,则允许接 收,当REN=0,则禁止接收。 TB8:发送数据的第9位。 RB8:接收数据的第9位。 TI:发送中断标志位。 RI:接收中断标志位。
(Universal Sychronous Asychronous Receiver/Transmitter)
三类异步串行通信接口 : RS-232接口;RS-449、RS-422和RS-485接口以及 20mA电流环。 RS-232接口标准 : RS是Recommended Standard的缩写,代表推赠标准
串行通信的传输速率与传输距离 1、传输速率 传输速率是用来说明数据传送的快慢。在串行通信中,用 波特率来表示数据传送的快慢。 波特率是指串行通信中,单位时间传送的二进制位数,单 位为bps。 例:如每秒钟传送240个字符,而每个字符格式包含10位(1 个起始位、1个停止位、8个数据位),这时的波特率为:
算机的通信功能愈来愈显得重要。 通信的目的:实现计算机与外部设备或计算机与计算机之 间的信息交换。 通信的方式:并行通信和串行通信两种方式。 PS:在多微机系统以及现代测控系统中信息的交换多采用串 行通信方式。
计算机通信是将计算机技术和通信技术的相结合,完成计
算机与外部设备或计算机与计算机之间的信息交换 。可以 分为两大类:并行通信与串行通信。 1、并行通信通常是将数据字节的各位用多条数据线同时进 行传送 。 优点:控制简单、传输速度快; 缺点:由于传输线较多,长距 离传送时成本高且接收方的各 位同时接收存在困难。
1 13 1 5
14
25
6
9
2、功能特性
表6.3 RS-232C串口引脚定义表
9针RS-232串口(DB9) 引 脚 1 2 3 4 5 6 25针RS-232串口(DB25) 引 脚 8 3 2 . 20 7 6
简写
CD
功能说明
载波侦测(Carrier Detect)
简写
CD
功能说明
载波侦测(Carrier Detect)
6.3 串行通信口
本节主要介绍串行通信概念及51系列单片机的串行口 问题,将具体介绍以下内容: 计算机串行通信基础----基本概念、标准接口 。 51单片机串行口----串行口结构、串行口的控制寄存 器、串行口的工作方式、应用举例。
6.3.1 数据通信概述
一、数据通信方式:
随着多微机系统的广泛应用和计算机网络技术的普及,计
异步串行通信的帧格式 :
异步通信的特点:异步串行通信是以字符为单位的间歇 传输形式。传送时按字符进行包装(在数据位之外要增 添起始位、奇偶校验位、停止位)。 不要求收发双方时钟的严格一致,实现容易,设备开销 较小,但每个字符要附加2~3位用于起止位,各帧之间 还有间隔,因此传输效率不高。
*五、串行通信的错误校验 1、奇偶校验 在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。 奇校验时,数据中“1”的个数与校验位“1”的个数之和应为 奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之 和应为偶数。接收字符时,对“1”的个数进行校验,若发现 不一致,则说明传输数据过程中出现了差错。 2、代码和校验 代码和校验是发送方将所发数据块求和(或各字节异或), 产生一个字节的校验字符(校验和)附加到数据块末尾。接 收方接收数据同时对数据块(除校验字节外)求和(或各字 节异或),将所得的结果与发送方的“校验和”进行比较, 相符则无差错,否则即认为传送过程中出现了差错。 3、循环冗余校验 这种校验是通过某种数学运算实现有效信息与校验位之间的 循环校验,常用于对磁盘信息的传输、存储区的完整性校验 等。这种校验方法纠错能力强,广泛应用于同步通信中。
10位×240个/秒 = 2400 bps(位/秒)
*2、传输距离与传输速率的关系 串行接口或终端直接传送串行信息位流的最大距离与传输 速率及传输线的电气特性有关。 当比特率超过1000 bps 时,最大传输距离迅速下降,如 9600 bps 时最大距离下降到只有76m(约250英尺)。
(2)同步通信 同步通信(Synchronous Communication)是按数据块 传送的。把要传送的字符顺序地连接起来,组成数据块,在数据 块的前面加上特殊的同步字符,作为数据块的起始符号。 在数据块后面加上校验字符,用于校验通信中的错误
7
8 9
RTS
CTS RI
请求发送(Request To Send)
清除发送(Clear To Send) 振铃指示(Ring Indicator)
4
5 22
RTS
CTS RI
请求发送(Request To Send)
清除发送(Clear To Send) 振铃指示(Ring Indicator)
3、过程特性 过程特性规定了信号之间的时序关系,以便正确地接收和 发送数据 。
六、串行通信的传输速率与传输距离 1、传输速率
传输速率是用来说明数据传送的快慢。在串行通信 中,用波特率来表示数据传送的快慢。 波特率是指串行通信中,单位时间传送的二进制位 数,单位为bps。
例:如每秒钟传送240个字符,而每个字符格式包 含10位(1个起始位、1个停止位、8个数据位),这 时的波特率为:
RS-232C RS-232C
电话网 DTE DCE DCE DTE
Data Communications Equipment(数据通信设备) 它在DTE和传输线路之间提供信号变换和编码功能, 并负责建立、保持和释放链路的连接,如Modem。 "DataTerminalEquipment(数据终端设备)"
2、串行通信是将数据字节分成一位一位的形式在一条传输线 上逐个地传送。
优点: 传输线少,长距离传送时 成本低,且可以利用电话 网等现成的设备; 缺点: 数据的传送控制比并行通 信复杂。
二、异步通信与同步通信
1、异步通信
异步通信是指通信的发送与接收设备使用各自的时钟 控制数据的发送和接收过程。 为使双方的收发协调,要求发送和接收设备的时钟尽可 能一致。
2)串行通信总线标准及其接口 UART:能够完成异步通信的硬件电路 即通用异步接收器/发送器 (Universal Asychronous Receiver/Transmitter)
USRT:能够完成同步通信的硬件电路 即通用同步接收器/发送器 (Universal Sychronous Receiver/Transmitter) USART:既能完成异步通信又能完成同步通信的硬件电路
10位×240个/秒 = 2400 bps(位/秒)
*2、传输距离与传输速率的关系 串行接口或终端直接传送串行信息位流的 最大距离与传输速率及传输线的电气特性 有关。 当比特率超过1000 bps 时,最大传输距离 迅速下降,如9600 bps 时最大距离下降到 只有76m(约250英尺)。
串行通信接口标准 一、RS-232C接口 RS-232C是EIA(Electronic Industry Association美国电 子工业协会)1969年修订RS-232C标准。RS-232C定义了 数据终端设备(DTE)与数据通信设备(DCE)之间的物理 接口标准。 1、机械特性 RS-232C接口规定使用25针连接器,连接器的尺寸及每个 插针的排列位置都有明确的定义。

标准数据传送速率有50、75、110、150、300、600、 1200、2400、4800、9600、19200波特等。
相关文档
最新文档