MCS-51单片机串行接口

合集下载

MCS-51单片机

MCS-51单片机

口的位结构: (2)P1口的位结构 ) 口的位结构
• P1口作通用I/O口使用,因电路结构上输出驱动部分 P1口作通用I/O口使用, 口作通用I/O口使用 上拉电阻。 一样, 接有上拉电阻 当作输入时, PO一样 接有上拉电阻。当作输入时,同PO一样,要先对该口 写“1”。 。
读锁存器 1 内部总线 写锁存器 Q P1.x 锁存器 CL Q D 2 读引脚 Vcc
内部上拉电阻 P1.x 引脚 T
(b)P1口位结构
(3)P2口的位结构 ) 口的位结构
P2口的位结构比P1多了一个转换控制部分, P2口作通 P2口的位结构比P1多了一个转换控制部分,当P2口作通 口的位结构比P1多了一个转换控制部分 I/O口时 多路开关MUX倒向左; 口时, MUX倒向左 用I/O口时,多路开关MUX倒向左;
作输入口, 用P1.4~P1.7作输入口,采用位操作。 ~ 作输入口 采用位操作。 • 小结: 小结: ORG 0000H L1:MOV C, P1.4端口,即 , • : 、单片机的I/O端口, 1、单片机的 端口 MOV P1.0,C , 可用作输入口, 可用作输入口,也可用 MOV C, , 作输出口; 作输出口; P1.5 MOV P1.1,C , • 2、所有口线均可单独使 、 MOV C, P1.6 , MOV P1.2, , 用与控制; 用与控制; C MOV C, P1.7 , • 3、每个端口均可当做一 、 MOV P1.3,C , 位并行口单独使用。 个8位并行口单独使用。 位并行口单独使用 SJMP L1
MCS-51单片机的并行口 一、MCS-51单片机的并行口
• 1、概述: 概述:
• MCS-51有四个并行双向I/O口: MCS-51有四个并行双向I/O口 有四个并行双向I/O 口和P P0口、P1口、P2口和P3口 • 当作I/O口时,可按字节或位操作 当作I/O口时,可按字节 I/O口时 字节或 • 按位操作时,表示为:P0.0~P0.7 按位操作时 表示为: ~ P1.0~P1.7; P2.0~P2.7 ; P3.0~P3.7 ~ ~ ~ • 按字节操作:表示为P0、P1、P2、P3 按字节操作:表示为 、 、 、

MCS-51单片机的并行接口

MCS-51单片机的并行接口

1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5

MCS-51单片机串口编程及应用介绍

MCS-51单片机串口编程及应用介绍

起 始 位

据 位
校 验 位
停 止 位
异步通信的帧格式
二、同步通信传送方式
同步传送:以同步字符 同步传送:以同步字符SYN开始连续发 开始连续发 再以同步字符结束, 送,再以同步字符结束,时钟信号同时发 适用高速、大容量的数据传送。 送。适用高速、大容量的数据传送。
开始 同步字符 同步字符 数据段 同步字符 结束 同步字符
工作原理: 工作原理: 发送:CPU执行 执行MOV SBUF,A,将数据送入SBUF SBUF。 发送:CPU执行MOV SBUF,A,将数据送入SBUF。 发送控制器按波特率发生器(定时器构成) 发送控制器按波特率发生器(定时器构成)提供的时钟速 率将SBUF中的数据一位、一位从TXD输出,发送结束时, SBUF中的数据一位 TXD输出 率将SBUF中的数据一位、一位从TXD输出,发送结束时,置 TI=1。 TI=1。 接收:接收控制器按波特率发生器提供的时钟速率从RXD引 接收:接收控制器按波特率发生器提供的时钟速率从RXD引 RXD 脚一位一位接收数据,当收到一个完整字符时,装入SBUF 脚一位一位接收数据,当收到一个完整字符时,装入SBUF 中,同时置RI=1,通知CPU,CPU执行MOV A,SBUF,将数据读 同时置RI=1,通知CPU,CPU执行MOV A,SBUF, RI=1 CPU 执行 入累加器A 入累加器A。 注意:由于SBUF具有双缓冲作用,它可以在CPU读入之前 注意:由于SBUF具有双缓冲作用,它可以在CPU读入之前 SBUF具有双缓冲作用 CPU 开始接收下一数据, CPU应在下一数据接收完毕前读取 开始接收下一数据, CPU应在下一数据接收完毕前读取 SBUF内容 由于串口的接收、发送各自独立, 内容。 SBUF内容。由于串口的接收、发送各自独立,所以可同时发 送及接收,即可以实现全双工通讯。 送及接收,即可以实现全双工通讯。

MCS-51串行口的工作方式

MCS-51串行口的工作方式

方ห้องสมุดไป่ตู้0——同步移位寄存器
时序
1.2 方式1——8位UART
数据在TxD发送,接收使用RxD 帧格式固定,每一帧数据共有10位,包括1个起始位、8个数据
位(最低有效位在前)、1个停止位 接收到的停止位保存到SCON的RB8中 波特率可变取决于T1或T2的溢出率、和PCON中的SMOD位 波特率因子为16
单片机原理与应用
MCS-51串行口的工作方式
方式0——同步移位寄存器 方式1——8位UART 方式2和3——9位UART
1.1 方式0——同步移位寄存器
串行数据通过RxD引脚输入或输出 TxD输出移位时钟 发送和接收不可同时进行 发送或接收的均为8位数据,最低有效位在前 波特率固定为单片机振荡频率的1/12
方式1——8位UART
时序
1.3 方式2和3——9位UART
数据在TxD发送,接收使用RxD 帧格式固定,每一帧数据共有11位,包括1个起始位、8个数据
位(最低有效位在前)、1个可编程的第9位数据、1个停止位。第 9位数据在发送时通过TB8赋值为0或1 接收时将第9位数据存入RB8中 波特率
方式2:只能为振荡器频率的1/32或1/64 方式3:与方式1时相同
方式2和3——9位UART
时序
单片机原理与应用

第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
一次传输的起始位、字符各位、校验位、停止 位构成一个字符帧(数据帧)信息 帧与帧间可有任意个空闲位,起始位后紧跟数据 的最低位。

MCS51单片机的结构

MCS51单片机的结构

MCS51单片机的结构MCS-51单片机是Intel公司设计开发的一种高度集成的8位微控制器(microcontroller),主要应用于嵌入式系统中。

它采用了Harvard 架构,包含一个CPU核心、片内存储器、外围接口和定时器/计数器等功能模块。

在本文中,我将详细介绍MCS-51单片机的结构。

MCS-51单片机的结构主要分为以下几个部分:1.中央处理器(CPU)核心:MCS-51单片机的CPU核心采用了8位的数据总线和地址总线,以及一组功能强大的指令集。

该CPU支持多种指令,包括数据传送指令、算术逻辑指令、位操作指令和条件跳转指令等。

它还包括一个累加寄存器和标志寄存器,用于存储操作数和标志位信息。

2.存储器部分:MCS-51单片机包含片内存储器和片外存储器。

片内存储器主要用于存储程序代码和数据,包括ROM(只读存储器)和RAM(随机存储器)。

ROM用于存储程序代码,RAM用于存储数据和临时变量。

片外存储器通过地址线和数据线与单片机连接,可以扩展存储器容量。

3.输入输出(I/O)接口:MCS-51单片机通过多个I/O口与外部世界进行数据交互。

每个I/O 口包含一组引脚,可以用作输入或输出。

这些引脚可以通过配置寄存器来选择其功能。

MCS-51单片机还支持中断输入,可以用于实现外部设备的中断功能。

4.定时器/计数器(Timer/Counter):MCS-51单片机内置了多个定时器/计数器模块,用于生成精确的时间延迟或测量外部事件的时间间隔。

定时器可以产生周期性的中断信号,用于实现定时任务。

计数器可以计数外部事件的脉冲数量,用于测量时间间隔。

5.串行通信接口:MCS-51单片机内置了一个串行通信接口,可以用于与其他设备进行数据传输。

该接口支持异步串行通信协议,如UART(通用异步收发器)或SPI(串行外围接口)等。

它可以通过配置寄存器来设置通信参数,如波特率和数据格式等。

6.时钟电路:MCS-51单片机需要一个精确的时钟源来驱动内部运算和外设操作。

第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。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章MCS-51单片机串行接口第一节串行通信的基本概念(一)学习要求1.掌握串行通信的基本概念。

2. 掌握异步通信和同步通信的区别。

(二)内容提要一:基本概念及分类串行通信是将数据的各位一位一位地依次传送。

适合于计算机之间、计算机与外部设备之间的远距离通信。

串行通信从传输方式分为:单工方式、半双工方式、全双工方式。

从接收方式来说,串行通信有两种方式:异步通信方式、同步通信方式。

二:串行口的功能MCS-51单片机中的异步通信串行接口能方便地与其他计算机或传送信息的外围设备(如串行打印机、CPU终端等)实现双机、多机通信。

串行口有4种工作方式,见表7-1。

方式0并不用于通信,而是通过外接移位寄存器芯片实现扩展并行I/O接口的功能。

该方式又称为移位寄存器方式。

方式1、方式2、方式3都是异步通信方式。

方式1是8位异步通信接口。

一帧信息由10位组成,其格式见图7-2a。

方式1用于双机串行通信。

方式2、方式3都是9位异步通信接口、一帧信息中包括9位数据,1位起始位,1位停止位,其格式见图7-2b。

方式2、方式3的区别在于波特率不同,方式2、方式3主要用于多机通信,也可用于双机通信。

表7-1(三)习题与思考题1、什么是并行通信?什么是串行通信?各有何优缺点?答:并行通信指数据的各位同时传输的通信方式,串行通信是指各位数据逐位顺序传输的通信方式。

2、什么是异步通信?什么是同步通信?各有何优缺点?3、什么是波特率?某异步串行通信接口每分钟传送1800个字符,每个字符由11位组成,请计算出传送波特率。

第二节MCS-51串行接口的组成(一)学习要求(1) 了解串行接口的结构。

(2) 了解串行接口的控制与状态寄存器工作原理。

(二)内容提要一:串行接口的结构串行接口主要由发送数据缓冲器、发送控制器、输出控制门、接收数据缓冲器、接收控制器、输入移位寄存器、波特率发生器T1等组成。

串行口中还有两个特殊功能寄存器SCON、PCON,特殊功能寄存器SCON用来存放串行口的控制和状态信息。

定时器/计数器1(T1)与定时器/计数器2(T2)都可构成串行口的波特率发生器,其波特率是否增倍可由特殊功能寄存器PCON的最高位控制。

二:串行接口控制与状态寄存器MCS-51串行口的工作方式选择、中断标志、可编程位的设置、波特率的增倍均是通过两个特殊功能寄存器SCON和PCON来控制的。

1.电源和波特率控制寄存器PCON电源控制寄存器PCON的格式如下:电源和波特率控制寄存器PCON,其地址为87H,只能进行字节寻址,不能按位寻址。

PCON的最高位D7位作SMOD,是串行口波特率的增倍控制位。

当SMOD=1时,波特率加倍。

例如在工作方式2下,若SMOD=0时,则波特率为f osc/64;当SMOD=1时,则波特率为f osc/32,恰好增大一倍。

系统复位时,SMOD位为0。

串行口控制寄存器SCON 解SCON各位的含义如下:D7D6D5D4D3D2D1D0SCON98H9FH9EH9DH9CH9BH9AH99H98H (1)串行口控制方式选择位SM0、SM1,其SM0、SM1由软件置位或清零,用于选择串行口的4种工作方式。

(2)多机通信控制位SM2和接收中断标志位RI SM2=1时,如果接收到的一帧信息中的第九位数据为1,且原有的接收中断标志位RI=0,则硬件将RI置1;如果第九位数据为0,则RI不置1,且所接收的数据无效。

SM2=0时,只要接收到一帧信息,不管第九位数据是0还是1,硬件都置RI=0,RI 由软件清零。

SM2由软件置位或清零。

多机通信时,SM2必须置1,双机通信时,通常使SM2=0。

方式0时SM2必须为0。

(3)发送中断标志位TI 在方式0中,发送完8位数据后,由硬件置位;在其它方式中,在发送停止位之初,由硬件使TI=1。

TI置位后可向CPU申请中断,任何方式中TI 位都必须由软件清除。

(4 ) 接收中断标志RI 在方式0中,接收完8位数据后,由硬件置位;在其它方式中,在接收停止位的一半时由硬件将RI置位(还应考虑SM2的设定)。

RI被置位后可允许CPU 申请中断,任何方式中TI位都必须由软件来清除。

串行发送中断标志TI和接收中断标志RI共用一个中断源,CPU并不知道是TI还是RI 产生的中断请求,所以在全双工通信时,必须由软件来断别。

(5)允许接收控制位REN REN=1时允许接收,REN=0时禁止接收。

REN由软件置位或清零。

(6)发送数据D8位TB8 TB8是方式2、方式3中要发送的第九位数据,事先用软件写入1或0。

方式0、方式1不用。

(7)接收数据D8位RB8方式2、方式3中,由硬件将接收到的第九位数据存入RB8。

方式1中,停止位存入RB8。

复位后SCON的所有位清零。

(三)习题与思考题1、MCS-51单片机的串行口由哪些功能部件组成?各有什么作用。

2、特殊功能寄存器SCON 和PCON的作用和工作过程是什么?第三节串行口的工作方式(一)学习要求(1) 了解串行接口的工作方式。

(2) 掌握波特率的计算。

(二)内容提要一、串行接口的工作方式0SM0=0、SM1=0串行口工作于方式0, 即串行寄存器方式或称为同步移位寄存器输入/输出方式。

CPU执行一条写SBUF的指令如MOV SBUF ,A就启动了发送过程。

发送的时序见图7-1。

接收时序见图7-2图7-1 方式0发送时序图7-2 方式0接收时序串行口方式0不适用于两个8051之间的数据通信,但可通过外接移位寄存器来扩展单片机的接口。

例如,可以采用74LS164可以扩展并行输出口,74LS165可以扩展输入口。

二、串行口工作方式1SM0=0,SM1=1串行口接口工作于方式1,即将8位异步通信接口方式,结构示意图见图7-7。

RXD为接收端,TXD为发送端。

一帧信息由10位组成,方式1的波特率可变,由定时器/计数器1或定时器/计数器2的溢出速率以及SMOD(PCON.7)决定,且发送波特率与接收波特率可以不同。

1.发送CPU执行一条写SBUF指令后便启动了串行口发送,数据从TXD输出,时序见图7-8a。

在指令执行期间,CPU送来“写SBUF”信号,将并行数据送入SBUF,并启动发送控制器,经一个机器周期,发送控制器的SEND、DATA相继有效,通过输出控制门从TXD上逐位输出一帧信号。

一帧信号发送完毕后,SEND、DATA失效,发送控制器硬件置发送中断标志TI=1,向CPU申请中断。

2.接收方式1的接收时序见图7-8b。

允许接收位REN被置1接收器就开始工作,跳变检测器以波特率16倍的速率采样RXD引脚上电平,当采样到从1到0的负跳变时,启动接收控制器接收数据,由于发送、接收双方各自使用自己的时钟,两者的频率总有少许差异。

为了避免这种影响,控制器将1位送时间等分成16分、位检测器在7、8、9三个状态也就是在位信号中央采样RXD三次。

而且,三次采样中至少两次相同的值被确认为数据,这是为了减小干扰的影响。

如果起始位接收到的值不是0,由起始位无效,复位接收电路。

如果起始位为0,则开始开始接收本帧其他数据。

控制器发出的内部移位脉冲将RXD上的数据逐位移入移位寄存器,当8位数据及停止位全移入后:(1)如果RI=0、SM2=0,接收控制器发出“装载SBUF”信号,将8位数据装入接收数据缓冲器SBUF,停止装入RB8,并置RI=1,向CPU申请中断。

(2)如果RI=0、SM2=1,那么只有停止位为1时才发生上述动作。

(3)如果RI=0、SM2=1且停止位为0,(通常由传输过程中的干扰所致)所接收的数据应会丢失,不再恢复。

(4)如果RI=1,则所接收的数据在任何情况下都会丢失。

无论出现哪一种情况,跳变检测器将继续采样RXD引脚的负跳变,以便接收下一帧信息。

接收器采用移位寄存器和SBUF双缓冲结构,以避免在接收后一帧数据之前,CPU尚未及时响应中断将前一帧数据取走,造成两帧数据重叠问题。

采用双缓冲器后,前、后两帧数据进入SBUF的时间间隔至少有10个位传送周期。

在后一帧数据送入SBUF之前,CPU有足够的时间将前一帧数据取走。

三、串行接口工作方式2和与方式3串行口工作在方式2、方式3时,为9位异步通信接口。

发送或接收的一帧信息由11位组成,见图7-2b。

方式2与方式3仅波特率不同,方式2的波特率为f osc/32(SMOD=1时)或f osc/64(SMOD=0时),而方式3的波特率由定时器/计数器具或定时器/计数器2及SMOD决定。

1.发送方式2、方式3发送时,数据从TXD引脚输出,附加的第九位数据由SCON中的TB8提供。

CPU执行一条写入SBUF的指令后立即启动发送器发送。

发送完一帧信息后由硬件置TI=1。

2.接收与方式1相似,REN置1后,跳变检测器不断对RXD引脚采样。

当采样到负跳变后就启动接收控制器。

位检测器对每位数据采集3个值,用采3取2办法确定每位的数值。

当第九位数据移入移位寄存器后,将8位数据装入SBUF,第九位数据装入RB8,并置RI=1,其时序见图2-26b。

与方式1相同,方式2、方式3中也设置有数据辨别功能,即当RI=1或SM2=1且第九位数据为0时所接收的一帧信息被丢失。

四、各方式波特率的设计在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。

可通过对串行口编程设定。

各种工作方式下其波特率的设置均有所不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,由定时器T1的溢出率确定。

(1) 方式0的波特率 方式0时,其波特率固定为振荡频率的1/12,并不受PCON 中SMOD 位的影响。

因而,方式0的波特率=f osc /12。

(2) 方式2的波特率 方式2的波特率由系统的振荡频率f osc 和PCON 的最高位SMOD 确定,即为2SMOD ×f osc /64。

在SMOD=0时,波特率=f osc /64;在SMOD=1时,波特率=f osc /32。

(3) 方式1、3的波特率 MCS-51串行口方式1、3的波特率由定时器T1的溢出率和SMOD 的值共同确定,即方式1、3的波特率=(2SMOD /32)×定时器T1的溢出率。

其中定时器溢出率取决于计数速率和定时器的预置值。

计数速率与TMOD 寄存器中T /C 的设置有关。

当T /C =0时,为定时方式,计数速率= f osc /12;当T /C =1时,为计数方式,计数速率取决于外部输入时钟的频率,但不能超过f osc /24。

定时器的预置值等于M -X ,X为计数初值,M为定时器的最大计数,与操作模式有关。

(可取213、216、28)。

如果为了到达很低的波特率,则可以选择16位的操作模式,即模式1,或模式0,可以利用T1中断来实现重装计数值。

相关文档
最新文档