单片机串行接口工作方式
《单片机串行接口》课件

目录
CONTENTS
• 单片机串行接口概述 • 单片机串行接口的硬件结构 • 单片机串行接口的编程实现 • 单片机串行接口的调试与测试 • 单片机串行接口的应用实例
01
CHAPTER
单片机串行接口概述
定义与特点
定义:单片机串行接口是指单片机与其 他设备或系统之间进行串行通信的接口 。
示波器
用于测量信号的波形和参数,如电压、频率等。
逻辑分析仪
用于分析单片机的串行接口信号,以便于调试和 测试。
串行接口的性能评估
传输速率
评估串行接口的传输速度,确保满足应用需 求。
误码率
评估数据传输的准确性,确保数据传输无误 码。
兼容性
评估串行接口与其他设备的兼容性,以便于 与其他设备进行通信。
05
串行接口的中断处理
中断请求
当串行接口接收到数据或发生错误时,会产生 中断请求信号。
中断服务程序
在中断服务程序中,根据中断类型执行相应的 处理操作,如数据接收或错误处理。
中断优先级
根据实际情况,为不同的中断类型分配不同的优先级,以确保重要中断得到及 时处理。
04
CHAPTER
单片机串行接口的调试与测 试
为了提高数据传输的准确性,可以选择奇校验或偶校 验方式。
串行数据的发送与接收
发送数据
将要发送的数据按照串行 协议打包,并通过串行接 口发送出去。
接收数据
从串行接口接收数据,并 根据协议进行解析,提取 出有用的信息。
数据缓冲
为了提高数据传输的效率 ,可以设置数据缓冲区, 以暂存待发送或待处理的 数据。
单片机串行接口的硬件结构
串行接口的电路组成
《单片机原理及应用教程》第7章:单片机的串行通信及接口

串行通信工作方式

在RI=0的条件下,用指令置REN=1即可开始串行接收。TXD端输出移位脉冲,数据依次 由低到高以fosc/12波特率经RXD端接收到SBUF中,一帧数据接收完成后硬件置接收中断标 志位RI为1。若要再次接收一帧数据,应该用指令MOV A,SBUF将上一帧数据取走,并用指 令将RI清零。用方式0通信时,多用查询方式。
1.2 串行工作方式1
方式1是一帧10位的异步串行通信方式,包括1个起始位,8个数据 位和一个停止位。波特率可变,由定时器/计数器T1的溢出率和SMOD (PCON.7)决定。其帧格式如下:
起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
1、 数据发送
发送时只要将数据写入SBUF,在串行口由硬件自动加入起始位和停 止位,构成一个完整的帧格式。然后在移位脉冲的作用下,由TXD端串 行输出。一帧数据发送完毕后硬件自动置TI=1。再次发送数据前,用指 令将TI清零。
单片机原理与应用
串行通信工作方式
80C51串行通信共有4种工作方式,由串行控制寄存器SCON 中SM0 SM1决定。
1.1 串行工作方式0(同步移位寄存器工作方式)
以RXD(P3.0)端作为数据移位的输入/输出端, 以TXD(P3.1)端输出移位脉冲。 移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入 /输出,均低位在前高位在后。 其帧格式为:
1.3 串行工作方式2
串行接口工作方式2为9位异步通信接口,传送一帧数据有11位。1位起 始位(低电平信号),8位数据位(先低位后高位),1位可编程位,1位停止位 (高电平信号)。其格式如下:
起始位
数据位
0
D0
D1
D2
D3
D4
D5 D6
第6章6.2节 UART串行接口

4. 多机通信
图6-9多机通信连接图
6.2.4 串行口应用举例
例1、用两片8位串入并出移位寄存器74HC164扩展16位输 出接口。 图6-10是利用74HC164扩展的16位发光二极管接口电路。 编程使这16个发光二极管交替为间隔点亮状态,循环交 替时间为2秒钟。 。
解:
图6-10 利用串行口扩展输出接口
发送操作:数据写入发送缓冲寄存器SBUF (99H),串行口即把数据以设定的波特率从 TXD端送出(低位在前பைடு நூலகம், 发送完后置中断标 志TI=1。 MOV TMOD, #data MOV SBUF, #data JNB TI, $ CLR TI RET
接收操作:REN是串行口接收器允许接收控制位。 当RI=0,软件置REN为1时,即开始从RXD端以设定 的波特率输入数据(低位在前), 当接收到数据 时,置中断标志RI=1。
图6-7
通信方式示意图
4. 通信协议 计算机之间进行数据传输时的一些约定,包括通信方 式、帧格式、波特率、命令码的约定等 。
6.2.2 80C51串行口简介 80C51串行口简介
1. 串行口结构与工作原理
80C51的串行口是一个可编程的全双工 串行通信接口,通过软件编程它可以做通 用异步接收和发送器UART(Universal Asynchronous Receiver/Transmitter), 也可做同步移位寄存器用。其帧格式可设 置8位、10位或11位,并能设置不同的波特 率 。
6.2 UART串行接口 UART串行接口
教学目的:了解80C51系列单片机UART串行接口的结 构、原理及应用;能够采用查询方式进行串行通信。 教学重点:1. UART串行接口的工作原理; 2. UART串行接口的4种工作方式的编 程、应用。 教学难点:1 .多机通信方式 2. 波特率值的设置
51单片机串行口的工作方式

hgfedcba
a
fg b
e
c
dh
共阳极
累加器 A hgfedcba
0C0H = “0”
0B0H = “3”
例:利用串行口工作方式0扩展出8位并行I/O 口,驱动共阳LED数码管显示0—9。
VCC TxD RxD
☞方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 两种
☞奇偶校验是检验串行通信双方传输的数据正确与 否的一个措施,并不能保证通信数据的传输一定正 确。
换言之:如果奇偶校验发生错误,表明数据传输 一定出错了;如果奇偶校验没有出错,绝不等于数 据传输完全正确。
☞ REN:串行口接收允许位。 REN=1 允许接收
☞ TB8,RB8,TI,RI等位由运行中间的情况 决定,可先写成 “0”
三、工作方式2: 9位UART(1+8+1+1位)两种波特率
☞由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。
☞ 波特率 =
2SMOD fosc 32 12(2n - X)
其中:X 是定时器初值
☞ 初值 X = 2n -
2SMOD fosc 32 波特率 12
常用波特率和T1初值查表
☞表格有多种, 晶振也不止一种
串口波特率 (方式1,3)
74LS164
hgfedcba
A B
CLK
CLR
74LS164
51单片机串口工作方式0和1解析

RXD
7.1.1 串行口控制寄存器SCON b7 b6 b5 b4 b3 b2 b1 TI b0 RI
SM0 SM1 SM2 REN TB8 RB8
9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
SM0、SM1 —— 串行接口工作方式定义位
• SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
寄存器 SCON、PCON、SBUF
寄存器 IE、IP
• MCS-51 单片机串Fra bibliotek接口工作方式 方式 0 方式 2 方式 1 方式 3
有两个数据缓冲寄存器 SBUF,一个输入移位寄存器,一个 串行控制寄存器SCON和一个特殊功能寄存器PCON等组成。 8 位SBUF是全双工串行接口寄存器, 它是特殊功能寄存器, 地址为 99H,不可位寻址;串行输出时为发送数据缓冲器,发送
时钟振荡频率为6MHz或12 MHz时,产生的比特率偏差较大, 故用到串口通信时通常选用11.0592MHZ晶体振荡器。
串行口的结构
• MCS-51 单片机串行接口的硬件
P3.0 位的第二功能 —— 收端 RXD P3.1 位的第二功能 —— 发端 TXD
• MCS-51 单片机串行接口的控制
比特率 比特率
= /12
P.110
=
/32 计1次 计3次 计3次 计6次 计12次 计24次
=
/12/计次/16
第10章串行通信的工作原理与应用

10.2.1 方式0
1.方式0输出 方式0的发送时序见图10-5。
图10-5 方式0发送时序
10.2.1 方式0
1.方式0输出
(2)方式0输出的应用案例 典型应用是串口外接串行输入/并行输出的同步移位寄 存器74LS164,实现并行端口的扩展。 图10-6为串口方式0,通过74LS164输出控制8个外接 LED发光二极管亮灭的接口电路。当串口设置在方式0输出 时,串行数据由RXD端(P3.0)送出,移位脉冲由TXD端 (P3.1)送出。在移位脉冲的作用下,串行口发送缓冲器的 数据逐位地从RXD端串行地移入74LS164中。
10.1.5 特殊功能寄存器PCON
例如,方式1的波特率计算公式为
当SMOD=1时,比SMOD=0时波特率加倍,所以也称 SMOD位为波特率倍增位。
10.1 串行口结构
10.2 串行口的4种工作方式
CONTENTS
目
10.3 波特率的制定方法
录
10.4 串行口应用设计案例
10.2.1 方式0
方式0为同步移位寄存器输入/输出方式。该方式并不用 于两个AT89S51单片机间的异步串行通信,而是用于外接移 位寄存器,用来扩展并行I/O口。
if(nSendByte==0)
nSendByte=1;
//点亮数据是否左移8次?是,重新送点亮数据
SBUF=nSendByte; }
// 向74LS164串行发送点亮数据
TI=0;
RI=0;
}
10.2.1 方式0
1.方式0输出
程序说明:
01 程序中定义了全局变量nSendByte,以便在中断服务程
第10章
串行口的工作原理及应用
单片机原理及接口技术(C51编程)(第2版)
单片机串行口几种工作方式的波特率

单片机串行口几种工作方式的波特率单片机串行口是单片机与外部设备进行通信的重要接口之一。
在串行口通信中,波特率是一个关键参数。
波特率是指每秒钟传送的波特数量,用于衡量数据的传输速率。
单片机串行口的波特率通常选择常见的标准波特率,例如9600、19200、38400等。
单片机串行口的工作方式有多种,下面将详细介绍几种不同的工作方式下的波特率设置。
1. 同步串行口同步串行口是指在传输数据时,发送端和接收端通过一个时钟信号来同步数据的传输。
在同步串行口中,波特率的设置是固定的,因为发送端和接收端需要以相同的波特率来同步数据传输。
常见的同步串行口波特率包括115200、230400等。
2. 异步串行口异步串行口是指在传输数据时,发送端和接收端通过起始位、停止位来进行数据的同步。
在异步串行口中,波特率的设置是非常重要的,因为发送端和接收端需要以相同的波特率来正确解析数据。
常见的异步串行口波特率包括9600、19200、38400等。
3. 高速串行口随着单片机技术的进步和应用的广泛,对串行口的传输速率要求也越来越高。
高速串行口通常指的是波特率在1Mbps及以上的串行口。
高速串行口通常应用于需要大量数据传输的场景,例如高速数据采集、图像传输等。
4. 自适应波特率有些情况下,单片机需要与多种速率不同的设备通信,这就需要单片机具备自适应波特率的能力。
自适应波特率指的是单片机可以根据外部设备的对应波特率来自动调整自身的波特率。
这种方式可以极大地提高单片机的通信灵活性和适用性。
在实际应用中,程序员需要根据具体的通信需求选择合适的波特率,并在程序中进行相应的设置和配置。
还需要注意波特率的选取要与外部设备相匹配,以确保数据的正确传输和解析。
通过上述对单片机串行口几种工作方式的波特率的介绍,我们可以更好地理解单片机串行口通信中波特率的重要性以及不同工作方式下的波特率设置方法。
在实际应用中,合理选择和设置波特率将有利于提高通信的可靠性和稳定性。
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。
单片机串行口及应用特百度

单片机串行口及应用特百度单片机串行口是指单片机上的一组用于串行通信的接口。
串行通信是一种逐位传输数据的通信方式,相对于并行通信来说,占用的引脚数目较少,适用于资源有限的场合。
单片机串行口通常包括多个引脚,其中包括发送引脚(Tx),接收引脚(Rx)和时钟引脚(Clk)等。
单片机串行口的应用十分广泛,主要涉及以下几个方面:1. 与计算机通信:单片机通过串行口与计算机之间可以进行数据的传输与通信,可以用于单片机与PC进行数据的互传和控制。
在这种应用中,通过合理编程可以实现数据的双向传输,包括数据的发送和接收。
2. 控制外设:单片机可以通过串行口与外部设备进行通信和控制。
比如,单片机可以通过串行口与LCD液晶显示屏通信,控制其显示内容;通过串行口与电机驱动芯片通信,控制电机的转动;通过串行口与温湿度传感器通信,获取环境温湿度信息等。
3. 数据采集与传输:单片机可以通过串行口与各种传感器进行通信,实时采集传感器产生的数据,并通过串行口传输给其他设备进行处理。
比如,可以通过串行口与光电传感器通信,实时采集光照强度并传输给其他设备进行处理;通过串行口与压力传感器通信,实时采集压力数值并传输给其他设备进行处理。
4. 远程控制:单片机可以通过串行口与远程设备进行通信,实现对远程设备的控制。
比如,通过串行口与无线模块通信,实现对远程设备的远程开关控制;通过串行口与蓝牙模块通信,实现对蓝牙设备的远程控制等。
需要注意的是,由于单片机串行口的通信速率相对较低,一般只适合低速数据传输,对于高速数据传输,通常需要使用其他接口,如USB、以太网等。
单片机串行口在物联网、智能家居、工业控制、嵌入式系统等领域有着广泛的应用。
通过串行口的使用,可以实现信息的传输、设备的控制和数据的采集,提高系统的灵活性和可控性。
同时,单片机串行口的应用也需要深入了解串行通信的原理和相关编程知识,以保证通信的稳定和可靠性。
第6章 串行接口

5--8位
一个字符包括4个部分
奇偶校验位
停止位
1位
1位、1位半、2位 “1”有效
所以,一个字符由10个,10个半,11个位构成。
起始位 …
D0
D1
DN
奇偶校验位
停止位
图6-1
异步通信的字符格式
在异步通信时,通信双方必须事先约定。 (1)字符格式。 双方要事先约定数据位的位数、 奇偶校验形式及起始位和停止位的位数。 例如:用ASCⅡ码通信,有效数据为7位,加一个奇 偶校验位、一个起始位和一个停止位共10位。 (2)波特率(Baud rate)。波特率就是传送速率, 即每秒传送的二进制位数。单位为bit/s或波特。 波特率与字符的传送速率之间的关系为: 波特率= 一个字符的二进制编码位数*字符数/秒. 要求发送端与接收端的波特率必须一致。 假设:数据传送率是120字符/s,每个字符格式包含十 个代码位(一个起始位、一个终止位、8个数据 位),波特率为: 10×120=1200bit/s=1200波特
TI:发送中断标志。 在一帧数据发送结束时由硬件置位。 TI=1表示“发送缓冲器已空”,通知CPU可以 发送下一帧数据。 TI位可作为查询;也可作为中断申请标志位。 TI不会自动复位,必须由软件清0。 RI:接收中断标志。 在接收到一帧有效数据后由硬件置位。 RI=1表示一帧数据接收完毕,并已装入接收缓 冲器中,即表示’’接收缓冲器以满’’,通 知CPU可取走该数据。 该位可作为查询,也可作为中断申请标志位。 同样RI不会自动复位,必须由软件清0。
51系列单片机串行口的结构 51系列单片机串行口的控制 波特率设计
6.2.1 89C51单片机串行口的结构
单片机的串行口及应用

起 始
D0
D1
D2
D3
D4
D5
D6
D7
停 止
16
第六章 8051单片机的串行口应用
与门
或门
⑴发送:方式1时,发送的工作原理图如上图所示。 D将1写入 数据写 计数器 数据为0 TXD输 D0发 移位寄存 SBUF 溢出 发送为0 出0 送 器9位 TI置 发送第9 清除发 D1发 计数器第16 位 送信号 位1 送 次溢出 17
⑴发送
8位数据写 入SBUF TI置位 撤消 发送 选通D触发 器置1 零检测 器为 0 发送启动 8位数据 移位输出
第9位向 左均为 0
14
左边补0
第六章 8051单片机的串行口应用
⑵接收
当REN=1 且RI为零
启动 接收
1111 1110 写入移位 寄存器
清除接 收信号
15
RXD引脚 接收一位 信号 移位寄存器 的内容送入 SBUF
并行输出, 最高位
清除端,低 电平输出全 为0
时钟输入
24
第六章 8051单片机的串行口应用 例6-1 在单片机的串行口外接一个串入并出8位移位寄存器 74LS164 ,实现串口到并口的转换。数据从RXD端输出,移位脉冲 从TXD端输出。执行如下程序后LED指示灯轮流点亮。
时钟输入端
串行输入端
25
第六章 8051单片机的串行口应用 6.3 串行口应用举例 6.3.1 串口/并口转换 例: 使用74LS164的并行输出接8只发光二极管,利用它的 串入并出功能,把发光二极管从左向右依次点亮,并不断循环 之。
并行输出端
串行输入端
时钟输入端
22
串行输入并行输 出的移位寄存器
单片机中常见的接口类型及其功能介绍

单片机中常见的接口类型及其功能介绍单片机(microcontroller)是一种集成了中央处理器、内存和各种外围接口的微型计算机系统。
它通常用于嵌入式系统中,用于控制和监控各种设备。
接口是单片机与外部设备之间进行数据和信号传输的通道。
本文就单片机中常见的接口类型及其功能进行介绍。
一、串行接口1. 串行通信口(USART):USART是单片机与外部设备之间进行串行数据通信的接口。
它可以实现异步或同步传输,常用于与计算机、模块、传感器等设备进行数据交换。
2. SPI(串行外围接口):SPI接口是一种全双工、同步的串行数据接口,通常用于连接单片机与存储器、传感器以及其他外围设备。
SPI接口具有较高的传输速度和灵活性,可以实现多主多从的数据通信。
3. I2C(Inter-Integrated Circuit):I2C接口是一种面向外部设备的串行通信总线,用于连接不同的芯片或模块。
I2C接口通过两条双向线路进行数据传输,可以实现多主多从的通信方式,并且占用的引脚较少。
二、并行接口1. GPIO(通用输入/输出):GPIO接口是单片机中最常见的接口之一,用于连接与单片机进行输入输出的外围设备。
通过设置相应的寄存器和引脚状态,可以实现单片机对外部设备进行控制和监测。
2. ADC(模数转换器):ADC接口用于将模拟信号转换为数字信号,常用于单片机中对模拟信号的采集和处理。
通过ADC接口,单片机可以将外部传感器等模拟信号转化为数字信号,便于处理和分析。
3. DAC(数模转换器):DAC接口用于将数字信号转换为模拟信号。
通过DAC接口,单片机可以控制外部设备的模拟量输出,如音频输出、电压控制等。
三、特殊接口1. PWM(脉冲宽度调制):PWM接口用于产生特定占空比的脉冲信号。
通过调节脉冲的宽度和周期,可以控制外部设备的电平、亮度、速度等。
PWM接口常用于控制电机、LED灯、舵机等设备。
2. I2S(串行音频接口):I2S接口用于在单片机和音频设备之间进行数字音频数据传输。
单片机原理及应用 第14讲 串行口及习题

1.寄存器PCON
• PCON的各位的定义和功能如下: • 当SMOD=l时,方式1、2、3的波特率加 倍,否则不加倍。
PCON D7 SMOD D6 D5 D4 D3 GF1 D2 GF0 D1 PD D0 IDL
(87H)
单片机串行口的控制寄ቤተ መጻሕፍቲ ባይዱ器
• 2.串行口控制寄存器SCON
ORG 0000H • SJMP MAIN • ORG 0023H • LJMP BRSR • ORG 0100H • MAIN: MOV TMOD,#20H • MOV TL1,#0E8H • MOV TH1,#0E8H • SETB TR1 • MOV SCON,#0C0H • MOV PCON,#00H • MOV DPTR,#3000H • MOV R7,#10H • SETB REN • SETB EA • SETB ES • ……
•
接收程序编程如下:
;设置定时器1为方式2 ;设预置值 ;启动定时器1 ;设置串行口为方式3 ; SMOD=0 ;设置数据块指针 ;设数据块长度 ;允许接收
BRSR: • • • • PZ: YES:
CLR RI MOV A,SBUF JNB PSW.0,PZ JNB RB8,ERR SJMP YES JB RB8,ERR MOVX @DPTR,A DJNZ R7,NEXT • CLR PSW.5 • SJMP SRRET ERR:SETB PSW.5 • DJNZ R7,NEXT • SJMP SRRET NEXT:INC DPTR SRRET:RETI • END
• 3、如果单片机的振荡频率为12MHz,要 求定时器T0工作在方式1,分别实现 50ms、10ms、5ms的定时时间,那么怎 样设置TH0及TL0
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位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
80C51串行接口

80C51单片机的串口是一个能进行全双工异步通信或同步移位寄存器,具有4种工作方式的可编程接口。
其帧格式可为8位、10位或11位,并可以设置多种不同的波特率。
通过引脚RXD(P3.0串行数据接收引脚)和引脚TXD(P3.1 串行数据发送引脚)与外界进行通信。
80C51单片机串行口是由发送缓冲寄存器SBUF、发送控制器、发送控制门、接收缓冲寄存器SBUF、接收控制寄存器、移位寄存器和中断等部分组成。
1.SBUF在逻辑上,SBUF只有一个,既表示发送寄存器,又表示接收寄存器。
具有同一个单元地址99H。
在物理上,SBUF有两个,一个是发送寄存器,另一个是接收寄存器。
接收器是双缓冲结构;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。
2.控制寄存器与串行通信有关的控制寄存器共有三个。
(1)串行控制寄存器SCONSCON是80C51的一个可位寻址的专用寄存器,用于串行数据通信的控制。
单元地址98H,位地址9FH-98H。
寄存器及位地址表示如下:当方式0时,接收完第8位数据后,该位由硬件置位。
在其它方式下,当接收到停止位时,该位由硬件置位。
因此RI=1,表示帧接收结束,其状态既可供软件查询使用,也可以请求中断。
RI位由软件清0。
(2)电源控制寄存器PCONPCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器。
单元地址为87H。
其内容如下:在HMOS的单片机中,该寄存器中除最高位之外,其它位都是虚设的。
最高位(SMOD)是串行口波特率的倍增位,当SMOD=1时串行口波特率加倍。
系统复位时,SMOD=0。
PCON寄存器不能进行位寻址,因此表中写了“位序”而不是“位地址”。
7.2.2 80C51单片机串行通信工作方式1.串行工作方式0在方式0下,串行口是作为同步移位寄存器使用。
这时以RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位脉冲。
移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机串行接口工作方式
串行口的工作方式0为移位寄存器输入输出方式,方式0发送或接收完8位数据后由硬件置位发送中断标志TI或接收中断标志RI。
1.方式0发送
串行数据从RXD引脚输出,TXD引脚输出移位脉冲。
CPU将数据写入发送寄存器(SBUF)时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。
MOV SCON, #10H ; 串行口方式0
MOV A, SBUF ; 接收数据
JNB RI, $ ; 等待数据接收完毕
2.方式0接收
方式0接收前,务必先置位REN=1,允许接收数据。
此时,RXD为串行数据输入端,TXD 仍为同步脉冲移位输出端。
当RI=0和REN=1同时满足时,就会启动一次接收过程。
接收器以fosc/12的固定波特率接收TXD端输入的数据。
当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI,向CPU申请中断。
MOV SCON, #00H ; 串行口方式0
MOV SBUF, A ; 将数据送出
JNB TI, $ ; 等待数据发送完毕
工作方式0一般用于对并行输入输出口的扩展,如图1所示。
二、方式1:8位UART方式
当SM0=0、SM1=l时,串行口选择方式1,单片机工作于8位数据异步通讯方式(UART)。
在方式1时,传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。
方式1的数据格式如图2所示。