89C51串行口及串行通信技术
- 格式:ppt
- 大小:2.06 MB
- 文档页数:87
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系列单片机串口通信的四种方式极其特点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 的最高位选择。
第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 单片机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单片机是一种常用的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种工作方式,每种工作方式都有其特点和优缺点。
在实际应用中,需要根据具体的需求选择合适的工作方式。
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全双工串行通信汇编有甲、乙两台单片机,以工作方式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 ;表示接收正确,程序继续发送数据。