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

合集下载

秦晓飞系列-单片机原理及应用-第7章 89C51、S51串行口及串行通信技术

秦晓飞系列-单片机原理及应用-第7章 89C51、S51串行口及串行通信技术

第7章 89C51/S51串行口及串行口通信技术
§7.1 §7.2 §7.3 §7.4 §7.5 §7.6 串行通信基本知识 串行口及应用 89C51/S51与89C51/S51点对点异步通信 89C51/S51与PC机间通信 无线单片机及其点到多点无线通信 RFID技术与物联网的应用
7.1 串行通信基本知识
7.1 串行通信基本知识
7.1.3 异步通信和同步通信 2.同步通信
同步通信中,在数据开始传送前用同步字符来指示(常约定1~2个),并由时 钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序 传送数据,直到通信告一段落。 同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据 块开始时用同步字符SYNC来指示,其数据格式如图7-4所示。
在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停 止位。首先是一个起始位(0),然后是5~8位数据(规定低位在前,高位在后) ,接下来是奇偶校验位(可省略),最后是停止位(1)。
• 起始位(0)信号只占用一位,用来通知接收设备一个待接收的字符开始到达 。线路上在不传送字符时应保持为 1。接收端不断检测线路的状态,若连续为1 以后又测到一个0,就知道发来一个新字符, 应马上准备接收。字符的起始位 还被用作同步接收端的时钟,以保证以后的接收能正确进行。 • 数据位紧接在起始位后面,它可以是5(D0~D4)、6、7或8位(D0~D7)。 • 奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验位,则这一位 就可省去。也可用这一位( 1/0 )来确定这一帧中的字符所代表信息的性质( 地址/数据等)。 • 停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、 1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接 收下一个字符做好准备——只要再接收到 0,就是新的字符的起始位。若停止 位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑1)。

89C51串口通信的四种方式及特点

89C51串口通信的四种方式及特点

1、89C51串口通信的四种方式及特点通过设置SCON可以设置串行口的工作方式,相应设置位是SM0,SM1,共有四种方式方式0:为同步移位寄存器的输入输出方式,一般用于扩展I/O口,数据位为8位,无起始停止位方式1:波特率可调的异步通信方式,数据位为10位,1位起始位,8位数据位,1位停止位方式2:波特率固定的11位异步通信方式,数据位为11位,1位起始位,8位数据位,1位停止位,1位可编程的第9位,一般用于多机通讯。

方式3:与方式2功能相同,只是波特率可调。

2、51单片机的时钟周期,状态周期,机器周期如何定义的时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,发出一个脉冲的时间就是时钟周期,也就是1/12微秒。

通常也叫做系统时钟周期。

是计算机中最基本的、最小的时间单位。

在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。

例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。

完成一个基本操作所需要的时间称为机器周期。

8051系列单片机的一个机器周期同6个S周期(状态周期)组成。

3、程序状态字寄存器PSW的格式及各位功能1. CY(Carry):CY表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0。

2. AC(Auxiliary Carry):与CY基本相同,不同的是AC表示的是低4位向高4位的进、借位。

3.F0:该位是用户自己管理的标志位,用户可以根据自己的需要来设定。

4. RS1、RS0:这两位用于选择当前工作寄存器区。

8051有8个8位寄存器R0~R7,它们在RAM中的地址可以根据用户需要来确定。

RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH5.OV:该位表示运算是否发生了溢出。

89C51系列单片机串口通信的四种方式极其特点

89C51系列单片机串口通信的四种方式极其特点

89C51系列单片机串口通信的四种方式极其特点89C51系列单片机串口通信的四种方式极其特点80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定.方式0是同步移位寄存器方式,帧格式8位,波特率固定:fosc/12;方式1是8位异步通信方式,帧格式10位,波特率可变:T1溢出率/n(n=32或16);方式2是9位异步通信方式,帧格式样11位,波特率固定:fosc/n(n=64或32);方式3是9位异步通信方式,帧格式11位,波特率可变:T1溢出率/n(n=32或16);方式1,2,3的区别方要表现在帧格式及波特率两个方面.方式1与方式2帧格式相同波特率不同:方式1波特率可变与T1溢出率有关;方式2波特率固定.方式1与方式3波特率相同帧格式不同:方式1帧格式10位;方式3帧格式11位.方式1,2,3通信过程完全相同,均为异步通信方式.简述8051单片机串口通信的四种方式极其特点?方式0 移位寄存器作同步传输方式,波特率固定,方式1、2 异步通信,波特率可变,应用范围广方式3 应用于多机通信89C51单片机串口通信串行窗口,是看不见敲进去的字符的。

要想看见,须再用一个串行窗口。

简述MCS-51单片机串口通信的四种方式及其特点方式0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。

在这种方式下,数据从RXD 端串行输出或输入,同步信号从 TXD 端输出,波特率固定不变,为振荡率的 1/12 。

该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。

方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。

第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器SCON 中的SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。

方式 2 的波特率固定,只有两种选择,为振荡率的1/64 或1/32 ,可由PCON 的最高位选择。

单片机第7章89C51串行口及串行通信技术

单片机第7章89C51串行口及串行通信技术

是奇数。
返回
2015年12月1日星期二 32
2、串行通信协议
7.1.1数据通信
• 串行通信指数据是一位一位按顺序传送的通信方式。 • 它的突出优点是只需一对传输线(利用电话线就可作为传 输线),这样就大大降低了传送成本,特别适用于远距离
通信;
• 其缺点是传送速度较低。假设并行传送N位数据所需时间 位T,那么串行传送的时间至少为NT,实际上总是大于NT 的。 • 图7-1(b)所示为串行通信方式的连接方法。
• 异步通信的传送速率在50b/s--19200b/s之间,常用于计 算机到终端机和打印机之间的通信、直通电报以及无线电 通信的数据发送等。
返回
2015年12月1日星期二 21
7.1.4串行通信的过程及通信协议
1、串←→并转换与设备同步 两个通信设备在串行线路上成功地实现通 信必须解决两个问题:
一是串←→并转换,即如何把要发送的并行数 据串行化,把接收的串行数据并行化; 二是设备同步,即同步发送设备与接收设备的 工作节拍,以确保发送数据在接收端被正确读 出。
返回
2015年12月1日星期二 28
2、串行通信协议
• 通信协议是对数据传送方式的规定,包括数据格
式定义和数据位定义等。 • 通信双方必须遵守统一的通信协议。串行通信协 议包括同步协议和异步协议两种。 • 在此只讨论异步串行通信协议和异步串性协议规 定的字符数据的传送格式。
返回
2015年12月1日星期二 29
2015年12月1日星期二
3
第七章 89C51串行口及串行通信技术
7.1 7.2 7.3 7.4 7.5 7.6 7.7 串行通信基本知识 串行口及应用 RS-232C标准接口总线及串行通信硬件设计 89C51与89C51点对点异步通信 89C51与PC机间通信软件的设计 PC机与多个单片机间的通信 思考题与习题

第7章串行口

第7章串行口
串行口在中断方式工作时,要进行中断设置(编程 IE、IP寄存器)。
一、 89C51串行口 1、结 构
图7-7 串行口内部结构示意简图
☞ 2、串行口控制字及控制寄存器
串行口控制寄存器SCON(98H)
• ①SM0和SM1(SCON.7,SCON.6)——串行
口工作方式选择位。两个选择位对应4种通信方式,
如表7-1所示。其中,fosc是振荡频率。
3、串行通信工作方式
2 SMOD f osc 16 / 2 初值 串行方式1、方式3波特率≌ 32 12


4、波特率设计
• 定时器T1用作波特率发生器时,通常选用定时器模 式2(自动重装初值定时器)比较实用。每过“28-X” 个机器周期,定时器T1就会产生一次溢出。
• T1溢出速率为 T1溢出速率≌(fosc/12)/(28-X)
移位时钟来源不同,因此,各种方式的波特率计算公式也
不同。
4、波特率设计
• (1)方式0的波特率 由图7-14可见,方式0时,发送或接收一位数据的移位 时钟脉冲由S6(即第6个状态周期,第12个节拍)给出, 即每个机器周期产生一个移位时钟,发送或接收一位数据。
因此,波特率固定为振荡频率的1/12,并不受PCON寄存
TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1;
需要用软件清零 RI。
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口
☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。

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

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

从本质上说,所有的串行接口电路都是以并行数据形式与
CPU连接,以串行数据形式与外部逻辑设备连接。它们的基 本功能是从外部逻辑设备接收串行数据,转换成并行数据后
传送给CPU,或从CPU接收并行数据,转换成串行数据后输
出到外部逻辑设备。
19
89C51具有一个全双工串行通信接口。
作用:
●作为UART使用。
也可以用作地址/数据帧的标识位,D8=1表示该帧信息传 送的是地址,D8=0表示传送的是数据。两帧信息之间可以
无间隔,也可以有间隔,且间隔时间可任意改变,间隔用
空闲位“1”来填充。
6
异步通信

异步通信数据格式
7
奇偶校验
是一种校验代码传输正确性的方法。根据被传
输的一组二进制代码的数位中“1”的个数是奇数或
0 1 1
1 0 1
1 2 3
9位UART,波特率可变(由T1或T2溢出率
决定)
28
(3)串行通信工作方式
方式0
方式0时,串行口为同步移位寄存器的输入输出方式。
主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚
输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送 和接收均为8位数据,低位在先,高位在后。波特率固定为
23
●SM2,多机通信控制位,主要用于方式2和方式3。当接收机
的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不
激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并 激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,
不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激
从低位开始串行输出,数据的低位在右高位在左,在具体应用

第5部分89C51串行口及串行通讯技术

第5部分89C51串行口及串行通讯技术

第5部分89C51串行口及串行通讯技术第5部分 89C51串行口及串行通讯技术1、什么是串行异步通信,它有哪些作用?答:在异步通信中,数据和字符是一帧一帧地传送。

在帧格式中,一个字符由4个部分组成:起始位、数据位、奇偶校验位和停止位。

首先起始位(0)信号只占一位,用来通知接收设备一个待接收的字符开始到达;然后是5位~8位数据(规定低位在前,高位在后);下来是奇偶校验位(可省略),也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等);最后是停止位(1),用来表征字符的结束,是一位高电位,可以是1位、1.5位、2位。

通讯采用帧格式,无需同步字符;存在空闲位也是异步通讯的特征之一。

2、89C51单片记得串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲器SBUF、接收缓冲器SBUF、输入移位寄存器、串行接口控制寄存器SCON、定时器T1构成的波特率发生器等部件组成。

由发送缓冲器SBUF发送数据,接收缓冲器SBUF接收数据,串行接口通讯的工作方式选择、接收和发送控制及状态标志等均由串行接口控制寄存器SCON控制和指示,定时器T1产生串行通讯所需的波特率。

3、简述串行口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。

当向SBUF发“写”命令时(执行“MOV SBUF,A”指令),即向发送缓冲器SBUF 装载并开始由TXD 引脚向外发送一数据,发送完便使发送中断标志位TI=1。

在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)= 1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1,当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过8051内部总线送CPU。

4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:串行接口的工作方式有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。

第六章--89C51的串行口

第六章--89C51的串行口
第六章 89C51单片机的串行口
6.1 串行口概述:
串行通讯是计算机技术中重要的数据交换方式,尤其 在远程数据传递中是不可缺少的. 串行与并行的比较:
基本概念:
传输方式: 单工、半双工、全双工 通讯形式: 同步(Synchronous) 异步(Asynchronous) 波特率(Baud Rate): 每秒钟传递的二进制位数 bps. 通讯标准: RS-232C RS-422 RS-485 电流环标准
6.3 串行通讯工作方式
6.3.1 方式0 :同步移位寄存器 主要用于扩展并行I/O口,帧格式为8位
6.3.2 方式1:点对点异步串行通讯
帧格式为10位(起始位1,数据位8,停止位1)
6.3.2 方式2、3:异步串行通讯,多机方式
帧格式11位(起始位1,数据位9,停止位1.2 UART的结构
6.2.3 相关的专用寄存器
1. 方式控制寄存器SCON(98H)
2. 电源控制器PCON
这个寄存器只有最高位与串行口有关,此位的名称 是SMOD,它是波特率加倍位。
3. 串行口收发缓冲器SBUF
SBUF也是一个SFR,它的字节地址是99H,不可位寻 址。 SBUF具有下列特征: 它虽然只有一个地址,但却有两个物理寄存器, 分别是发送缓冲器和接收缓冲器。CPU通过操作类 型来区分: 读操作:读取接收缓冲器内容; 写操作:将A累加器内容写入到发送缓冲器。 由于缓冲器只有一个字节,因此如果接收不及时 可能造成串行接收数据被后续字节覆盖。
例3. 主频为11.0592MHz,其他条件同例1,求定时器T1常 数装载值.
6.2 89C51的串行口
6.2.1 硬件资源: 全双工串行接口UART,支持4种方式; 波特率发生器(T1定时器方式2); 专用寄存器 SCON、SBUF、PCON; 外部引脚 TXD 数据发送 RXD 数据接收 中断入口地址 0023H UART=Universal Asynchronous Receiver/Transmitter

89C51 单片机O 口模拟串行通信的实现方法

89C51 单片机O 口模拟串行通信的实现方法

89C51 单片机I/O 口模拟串行通信的实现方法·严天峰·目前普遍采用的MCS51 和PIC 系列单片机通常只有一个(或没有)UART异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展一片8251 或8250 通用同步/异步接收发送芯片(USART),需额外占用单片机I/O 资源。

本文介绍一种用单片机普通I/O 口实现串行通信的方法,可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。

1.串行接口的基本通信方式.串行接口的有异步和同步两种基本通信方式。

异步通信采用用异步传送格式,如图1 所示。

数据发送和接收均将起始位和停止位作为开始和结束的标志。

在异步通信中,起始位占用一位(低电平),用来表示字符开始。

其后为7 或8 位的数据编码,第8 位通常做为奇偶校验位。

最后为停止位(高电平)用来表示字符传送结束。

上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.8.1帧格式。

串行通信中,每秒传送的数据位称为波特率。

如数据传送的波特率为1200 波特,采用N.8.1 帧格式(10 位),则每秒传送字节为120 个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.833ms。

同样,如数据传送的波特率为9600 波特,则字节中每一位传送时间为T=1/9600=0.104 ms。

根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通I/O 口来模拟实现串行通信的时序。

2.硬件电路89C51 单片机通过普通I/O 口与PC 机RS232 串口实现通信的硬件接口电路如图2 所示。

由于PC 系列微机串行口为RS232C 标准接口,与输入、输出均采用TTL 电平的89C51 单片机在接口规范上不一致,因此TTL电平到RS232 接口电平的转换采用MAXIM 公司的MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~15V)和逻辑“0”(+3V~15V)的电平转换。

简述at89c51单片机内部串行接口的4种工作方式

简述at89c51单片机内部串行接口的4种工作方式

简述at89c51单片机内部串行接口的4种工作方式AT89C51单片机是一种常用的8位单片机,其内部集成了多种接口,其中包括串行接口。

串行接口是一种用于在单片机与外部设备之间进行通信的接口,具有传输速度快、传输距离远等优点。

AT89C51单片机内部串行接口共有4种工作方式,分别为模式0、模式1、模式2和模式3。

下面将详细介绍这4种工作方式。

一、模式0模式0是最简单的一种工作方式,也是最基本的一种工作方式。

在这种工作方式下,数据传输时采用同步方式,即由SCK引脚提供时钟信号进行同步传输。

具体来说,在发送数据时,CPU通过SDA引脚将数据写入到串行数据寄存器中,并通过SCK引脚提供时钟信号进行同步传输;在接收数据时,CPU通过SCK引脚提供时钟信号进行同步传输,并从串行数据寄存器中读取数据。

二、模式1模式1是在模式0的基础上增加了一个中断功能。

具体来说,在发送或接收完一个字节后,会产生一个中断请求信号INT0或INT1(由用户自行选择),以便CPU能够及时响应并处理。

三、模式2模式2是一种异步传输方式,即在数据传输时不需要提供时钟信号进行同步传输。

具体来说,在发送数据时,CPU通过SDA引脚将数据写入到串行数据寄存器中,并通过一个启动位和一个停止位来表示数据的起始和结束;在接收数据时,CPU通过SDA引脚接收数据,并根据启动位和停止位来判断数据的起始和结束。

四、模式3模式3是在模式2的基础上增加了一个中断功能。

具体来说,在发送或接收完一个字节后,会产生一个中断请求信号INT0或INT1(由用户自行选择),以便CPU能够及时响应并处理。

综上所述,AT89C51单片机内部串行接口共有4种工作方式,每种工作方式都有其特点和优缺点。

在实际应用中,需要根据具体的需求选择合适的工作方式。

第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)设备同步
• 进行串行通信的两台设备必须同步工作才能 有效地检测通信线路上的信号变化,从而采 样传送数据脉冲。

简述at89c51单片机内部串行接口的4种工作方式

简述at89c51单片机内部串行接口的4种工作方式

at89c51单片机内部串行接口的4种工作方式1. 引言[at89c51单片机](是一款基于8051内核的8位微控制器,广泛应用于嵌入式系统中。

它具有内部串行接口,该接口可以与外部设备进行通信。

本文将详细介绍at89c51单片机内部串行接口的四种工作方式。

2. 串行数据传输的基本概念首先,我们需要了解一些串行数据传输的基本概念。

串行数据传输是指将数据位按照顺序一个接一个地传输,而不是同时传输整个字节。

在串行数据传输中,数据位按照一定的时钟脉冲进行传输,接收方根据时钟脉冲来恢复数据。

3. 工作方式一:同步串行通信(Synchronous Serial Communication)在同步串行通信中,数据的传输是在系统时钟的同步控制下进行的。

发送端在发送数据之前,需要根据系统时钟生成一个同步时钟信号。

接收端利用该同步时钟信号来接收和恢复数据。

以下是同步串行通信的工作流程: 1. 发送端根据系统时钟将数据位顺序发送。

2. 接收端根据同样的系统时钟接收数据位,并恢复数据。

同步串行通信具有以下特点: - 数据传输速率高,可靠性强。

- 发送端和接收端之间需要事先约定好系统时钟频率。

4. 工作方式二:异步串行通信(Asynchronous Serial Communication)在异步串行通信中,数据的传输不是在系统时钟的同步控制下进行的,而是通过起始位和停止位进行同步。

以下是异步串行通信的工作流程: 1. 发送端将数据位按照一定的时钟脉冲速率发送。

2. 接收端根据起始位和停止位来确定数据的起止位置,并恢复数据。

异步串行通信具有以下特点: - 数据传输速率较低,但适用于相对简单的通信需求。

- 发送端和接收端之间无需事先约定好系统时钟频率。

5. 工作方式三:SPI(Serial Peripheral Interface)SPI(Serial Peripheral Interface)是一种常用的同步串行通信协议,常用于单片机与外部设备之间的通信。

单片机89C51全双工串行通信汇编

单片机89C51全双工串行通信汇编

单片机89C51全双工串行通信汇编有甲、乙两台单片机,以工作方式2全双工串行通信,第9位作为奇偶校验位。

编出实现以下功能的程序:甲机:将0到F的十六进制数,总共16个数存放到片内RAM中的30H~3FH,然后再将30H~3FH 中的数据发送到乙机,乙机对接收的数据进行奇偶校验,若校验正确则乙机向甲机发出“数据发送正确”的信息(现取00H作为回答信号),甲机接收到乙机的此信息再发送下一个字节。

若奇偶校验错,则乙机发出“数据发送不正确”的信息(现取FFH作为回答信号)给甲机要求甲机再次发送原数据,直到数据发送正确。

乙机:将甲机发送的数据存入乙机片内RAM的50H~5FH单元中,进行奇偶校验,并发出相应的回答信息(即00H或FFH)给甲机。

接收完了16个数据后,通过P0依次从0到F开始显示,看看是否接收到的数据是否正确。

甲机程序:ORG 0000HLJMP MAINORG 0023H ;中断入口地址LJMP SECORG 0100H ;程序开始地址MAIN: MOV SCON,#80H ;串行口工作方式2,PCON未设置,波特率不加倍MOV IE,#90H ;打开总中断和串口中断;下面绿色字体程序是将数据写入RAM中的30H~3FH单元中,如果地址单元中已经有数据,可以将这段绿色程序删掉MOV R0,#00H ;给R0赋初值(0~F)MOV R1,#30H ;给地址指针R1赋数据存放的初始地址MOV R2,#10H ;存放16个数据LOOP: MOV A,R0 ;将R0中的值赋给AACALL TAB ; 调用子程序TABMOV @R1,A ;将A中的值送R1中地址INC R0 ;R0加1取下一个数INC R1 ;R1加1取下一个数据存放地址DJNZ R2,LOOP ;是否将16个数据存放完毕,否继续跳转到LOOP存放MOV R1,#30H ;给地址指针R1赋提取数据的初始地址MOV R2,#00H ;要提取数据个数的初值MOV A,@R1 ;将R1中的内容作为地址,把该地址的内容送AMOV C,P ;取奇偶位送CMOV TB8,C ;将C送TB8MOV SBUF,A ;发送数据LJMP $ ;等待中断SEC: JBC TI,D1 ;中断响应如果是TI=1,引起的清TI跳转到D1,否则向下执行CLR RI ;中断是由RI引起的,清RIMOV A,SBUF ;将接到的数据送ACJNE A,#00H,ERR ;将A中的数据与00H比较,不相等跳转到ERR,否则向下执行D1: INC R1 ;表示接收正确,程序继续发送数据。

89c51串口通信

89c51串口通信

B=1MHz,每位数据占1s。
4. 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。
TXD 发 写入 (a) 送 SBUF 时 序 RXD输出
D0
D1
D2
D3
D4
D5
D6
D7
TI 接 (b) 收 写REN=1 时 RI=0 序 RXD输入 RI
3.节电控制寄存器PCON
SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,则不加倍。
1.3 串行接口的工作方式
SM0,SM1选择四种工作方式。
一、方式0:同步移位寄存器方式。用于扩展并行I/O接口。
1. 一帧8位,无起始位和停止位。
2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3. 波特率B = fosc/12 如: fosc=12MHz,
5. 移位寄存器方式举例
数据从RXD(P3.0)引脚串行输出,低位在先,高位
在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12;
发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式0 MOV SBUF,A JNB TI,$ ;将数据送出 ;等待数据发送完毕
四 串行数据传送方向
单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。 全双工通讯:可同时进行发送和接收。
发送2 串行口控制寄存器
一、1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式(P.237图):按不同方式,一帧位数 8/10/11 发送/接收时,数据皆低位在前。

第6章 89C51的串行口(笔记)

第6章 89C51的串行口(笔记)

1、方式0发送 CPU执行一条将数据写入SBUF的指令时,产生一个正脉冲,
串行口即把SBUF中的8位数据以fosc/12的固定波特率从RXD
引脚串行输出,低位在先。
20
单片机与嵌入式系统
TXD(发送时钟)引脚输出同步移位脉冲,发送完8位数据置
“1”中断标志位TI。时序如图所示。
21
单片机与嵌入式系统 2、方式0接收 REN=1 ,允许接收数据。向串口的 SCON 写入控制字(置为方 式 0 ,并置“ 1 ” REN 位,同时 RI=0)时,产生一个正脉冲, 串行口开始接收数据。接收器以 fosc/12 的固定波特率采样 RXD引脚的数据信息,当收到8位数据时置“1” RI。表示一 帧数据接收完。TXD为移位脉冲信号输出端。 REN=0,禁止接收
时序如下:
22
单片机与嵌入式系统 几点说明: 方式0下,SCON中的TB8、RB8位没有用到
发送或接收完8位数据由硬件置“1”TI或RI,CPU响应中断
。 TI或RI须由用户软件清“0”,可用如下指令: CLR TI CLR RI ;TI位清“0” ;RI位清“0”
方式0时,SM2位必须为0。
PIPTI: PUSH PUSH 现场保护 SETB CLR CLR MOV MOV MOV MOV PSW Acc RS1 RS0 TI A,@R0 C, P TB8,C SBUF,A INC R0
现场恢复
POP Acc POP PSW RETI
奇偶校验位
29
单片机与嵌入式系统 2.方式2接收 方式2 SM0、SM1=10,且REN=1。 数据由RXD端输入,接收11位信息。 当位检测到RXD从1到0的负跳变,并判断起始位有效后, 开始收一帧信息。

第7章 89C51的串行口

第7章 89C51的串行口

(1)从机串行口编程为方式2或方式3接收,且置“1”SM2和REN 位,使从机只处于多机通讯且接收地址帧的状态。 (2)主机先将从机地址(即准备接收数据的从机)发给各从机, 主机发出的地址信息的第9位为1,各从机接收到的第9位信息RB8为 1,且由于SM2=1,则置“1” RI,各从机都响应中断,执行中断程 序。在中断服务子程序中,判主机送来的地址是否和本机地址相符 合,相符则该从机清“0”SM2位,准备接收主机的数据或命令;若 25 不符,则保持SM2=1状态。
6
(3)REN——允许串行接收位 由软件置“1”或清“0”。 REN=1 允许串行口接收数据。
REN=0
禁止串行口接收数据。
(4)TB8——发送的第9位数据
方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验
位使用,也可作为地址帧或数据帧的标志。 =1为地址帧, =0为数据帧 (5)RB8——接收到的第9位数据
2
89C51的串行口有4种工作方式 ,波特率由片内定时器/计数器
控制。每发送或接收一帧数据,均可发出中断请求。
除用于串行通讯,还可用来扩展并行I/O口。
3
7.1
串行口的结构
串行口内部结构如下图,两个物理上独立的接收和发送缓冲 器SBUF(特殊功能寄存器),可同时收、发数据(全双工)。
发送缓冲器只能写入不能读出,接受缓冲器只能读出不能写 入。两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)
1
下图给出了一个字符帧的异步串行通信格式:
一个字符帧 空 闲 起 始 位 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
LSB
MSB
起始位——开始一个字符传送的标志位。 数据位——起始位之后传送的数据信号位。 奇偶效验位——用于对字符的传送作正确性检查。 停止位——用以标志一个字符的结束。 位时间——发送1位数据所需时间。 帧(frame)——从起始位开始到停止位结束的全部内容称 为一帧。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

②信号线的连接和应用 ► 使用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或更高。 缺点:要求发送时钟和接收时钟保持严格同步。
2)PCON(87H) D7 D6 D5 SMOD / /
D4 /
D3 GF1
D2 GF0
D1 PD
D0 ID
D7位(SMOD)为波特率选择位。其他均无意义。 复位时的SMOD值为0。 可用MOV PCON,#80H或MOV 87H,#80H指令使该 位置1。 当SMOD=1时,在串行口方式1,2或3情况下,波特 率提高一倍。
无Modem的标准连接
无Modem 的最简连接
2.RS232电气特性 ①在TXD和RXD数据上 逻辑1 -3~-15V 逻辑0 +3~+15V ②在RTS,CTS,DSR,DTR,CD等控制线 信号有效(接通) +3~+15V 信号无效(断开) -3~-15V ③RS232和TTL电平转换 电平转换器 MC1488,1489 MAX232
发送 单向通道 接收
发送 接收
双向通道
接收 发送
发送 接收
双向通道
接收 发送
三、异步通信和同步通信 1、异步通信
在异步通信中,数据通常以字符或字节为单位组成字符 帧传送。字符帧由发送端一帧一帧地发送。发送端和接收端 可以由各自的时钟来控制数据数据的发送和接收,这两个时 钟源彼此独立,互不同步。
字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停 止位四个部分组成。
1.串行口结构
移位时钟
TI
TXD(P3.1) 1/16 1/12 写SBUF TH1 TL1 SMOD=1 内部总线 BUS 读SBUF 接收SBUF(99H) 1/16 1/2 SMOD=0 PXD(P3.0) 起始位 检测 移入移位寄存器 装载SBUF 发送SBUF(99H)
fosc
T1溢出率
第n-1字符帧 停 止 位 1 起 始 位 0 第n字符帧 8位数据 停 止 奇偶 位 校验 空闲位 起 始 位 第n+1字符帧
D0
D1
D2
D3
D4
D5
D6
D7
0/1
1
1
1
1
0
D0
数据帧格式
起始位:1位,低电平 数据位:可取5、6、7、8位,低位在前 奇偶校验位:1位,奇/偶校验 数据通信 协议 停止位:1、1.5、2位,高电平 优点:不用传送同步脉冲、字符帧长度不受限 制,所需设备简单。 缺点:字符帧中包含起始位和停止位,降低了 有效数据的传输速率。
四、串行通信过程 1.串<-->并转化
发送:并->串转化
接受:串->并转化
通过移位寄存器
2.设备同步
数据双方必须采用统一的编码 通信双方必须使用相同的传送速率
五、 串行通信接口种类
根据串行通信格式及约定(如同步方式、通信速率、 数据块格式等)不同,形成了许多串行通信接口标 准,如常见的: UART(串行异步通信接口)、

► 抗共模能力强 ► 1个发送器、多个接收器(10个以内) ► 一对多的通信模式
► 信号不需要调制与解调
► 用于RS422接口的驱动芯片有MC3487/3486
SN75174/75175
MC3487的引脚和功能
MC3486的引脚和功能
三、RS-485接口标准 ► 使用平衡方式的串口接口标准,和RS422兼容 ► RS422标准在电路中只允许一个发送 器,RS485允许有多个发送器 ► 所以在RS485平衡传输线两端可接发送器,接 受器,组合收发器
2.串行口控制寄存器 控制串行口的寄存器有两个特殊功能寄存器: 串行口控制寄存器SCON和电源控制寄存器PCON。 1)串行口控制寄存器SCON(98H) 特殊功能寄存器 SCON 用于定义串行口的操作 方式和控制它的某些功能。
D7 SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI D0 RI
SM0、SM1:串口操作方式选择位,4种工作方式。 SM2:方式2和方式3的多机通信使能位。 方式 2 或 3 中,若 SM2 = 1 ,且接收到的第 9 位数据 (RB8)=0,则接收中断标志RI不会被激活。 方式 1 中,若 SM2 = 1 ,则只有收到有效的停止位时 才激活RI。 方式0中,SM2必=0。 REN:串行接收允许位。 TB8 :方式 2 和 3 中要发送的第 9 位数据,可软件置复位。
2.同步通信 同步通信是一种连续串行传送数据的通信方式, 一次通信只传送一帧信息。这里的信息帧和异步 通信中的字符帧不同,通常包含有若干个数据字 符。
同步字符 数据 字符1 数据 字符2 数据 字符3 … … 数据 字符n CRC1 CRC2
(a)单同步字符帧结构
同步 字符1
同步 字符2
数据 字符1
发送电路
(2)方式0输入(接收) RXD 端为数据输入端, TXD 端为同步脉冲信号输 出端。接收器以振荡频率的1/12的波特率接收RXD端 输入的数据信息。 当 串 口 为 方 式 0 , 且 REN ( SCON.4 ) =1 , RI (SCON.0)=0时,启动一次接收。 并使移位时钟由 TXD输出,从RXD端输入数据。
串行通信:数据逐位按一定顺序传送
计 算 机
状态 控制
外 设 或 计 算 机
计 RXD 算 机
TXD
RXD 外 TXD 设
或 计 算 机
特点:速度快,效率高,成本 高,适用于近距离
特点:成本低,速度慢,适用于远距离
二、串行通信的传输方式
单工:数据线仅能在一个 方向上传送 半双工:数据虽可在两个 设备上向任何一个方向传 送,但不能同时进行 全双工:数据可在两个设备 上向任何一个方向传送,且 可同时进行
3.波特率 每一秒钟传送二进制数码的位数,也称比特率, 其单位是bps,即位/秒。 用于表征数据传输的速度。波特率越高,表明 数据传输速度越快。 如一个串行字符由1个起始位,7个数据位,1个校 验位,1个停止位组成,假如每秒传送120个字符, 则其波特率为120*10=1200bps 常用的波特率为110,300,600,1200,2400, 4800,9600,19200
RI:接收中断标志。 方式0中,接收到第8位数据后由硬件置位; 其他方式中,接收到停止位的中间时刻由硬件置位。 RI=1时,申请中断,要求CPU取走数据。但在方式 1 中,当 SM2 = 1 时,若未收到有效的停止位,则不 会令RI=1。 任何方式中,该位必须由软件清0。 系统复位时,SCON所有位清0。
3.MCS-51单片机串行通信的工作方式 串行口方式选择
SM0 SM1 方式 功 能 说 明 波 特 率
0 0 0 1 1 0 1 1
0 1 2 3
移位寄存器方式 fosc/12 8位UART 9位UART 9位UART 可变 fosc/64或 fosc/32 可变
1)方式0 移位寄存器输入输出方式,可外接移位寄存 器,以扩展I/O口,也可外接同步输入输出设备。 不适用于两个 51 单片机之间的直接数据通信 。 74HC164 可扩展并行输出口, 74HC165 可扩展并行 输入口。收 / 发的数据为 8 位,低位在前,无起始 位、奇偶校验位和停止位。
第七章 89C51串行口及串行通信技术
§7-1 串行通信基本知识 §7-2 串口通信接口标准 §7-3 串行口及应用
§7-1 串行通信基本知识
一、数据通信 计算机与外部的信息交换
并行通信:数据各位同时传送
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
RB8:方式2和3中已接收到的第9位数据。方式1中,若 SM2=0,RB8是接收到的停止位。方式0,无效。 TI:发送中断标志。 方式0中,发送完第8位数据后由硬件置位; 其他方式中,发送停止位的开始由硬件置位。 TI=1时,申请中断,CPU响应后,发下一帧数据。 任何方式中,该位必须由软件清0。
相关文档
最新文档