C51串口的SCON寄存器及工作方式
串行口控制寄存器SCON
它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:
其中fosc为晶振频率
SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。
REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。
TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。
RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。
RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。
串行口的工作方式
8051单片机的全双工串行口可编程为4种工作方式,现分述如下:
1,方式0为移位寄存器输入/输出方式。可外接移位寄存器以扩展I/O口,也可以外接同步输入/输出设备。8位串行数据者是从RXD输入或输出,TXD用来输出同步脉冲。
(1)输出串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fos/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。
(2)输入当串行口以方式0接收时,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。
2,方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。
(1)输出当CPU执行一条指令将数据写入发送缓冲SBUF时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,就由硬件置位TI。
(2)输入在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。只有当(RI)=0且停止位为1或者(SM2)=0时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。所以在方式1接收时,应先用软件清零RI和SM2标志。
3,方式2
方式2为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。
(1)输出: 发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON寄存器的TB8位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当CPU执行一条数据写入SUBF的指令时,就启动发送器发送。发送一帧信息后,置位中断标志TI。
(2)输入: 在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。在接收到附加的第9位数据后,当(RI)=0或者(SM2)=0时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。且不置位RI。再过一位时间后,不管上述条件时否满足,接收电路即行复位,并重新检测RXD上从1到0的跳变。
4,工作方式3
方式3为波特率可变的11位UART方式。除波特率外,其余与方式2相同。
C51串口的SCON寄存器及工作方式相关推荐
- C51串口的SCON寄存器及工作…
原文地址:C51串口的SCON寄存器及工作方式作者:batistar 一,串行口控制寄存器SCON 它用于定义串行口的工作方式及实施接收和发送控制.字节地址为98H,其各位定义如下表: D7 D6 D ...
- linux串口发送键值,c51:串口通信,按键发送字符串
原标题:c51:串口通信,按键发送字符串 一.程序功能 1.实现0-f的16位键盘输入功能,将键值由P1口输出. 2.不同的键值串口发送不同的 二.代码 //函数功能 //1.实现0~f的16位键盘功 ...
- tiri单片机_51单片机设定串口的工作方式:设定SCON寄存器-控制器/处理器-与非网...
用计算机来控制单片机,进而控制继电器等其他外设,感觉不错啊,怎么实现呢?一步步来吧. 单片机串行口通信,也就是单片机与计算机之间的通信,要实现,要明白一些基本的概念. (1)实现之前,请确定串口正常, ...
- C51单片机 波特率选择 和 串口的工作方式
串口的工作方式 MCS-51串行口有0.1.2.3四种工作方式. 方式0:8位同步移位寄存器方式 方式1:10位通用异步通信 方式2:11位异步通信 方式3:可变波特率11位异步通信. 方式0:同步移 ...
- 2021-912--51单片机串口通信--SCON方式1
计算机的通信分为:串行通信和并行通信 串行通信分为:异步通信和同步通信 异步通信:发送设备与接受设备有各自的时钟,通信时双方的时钟尽量保持一致, 以字符为单位进行传输, 字符与字符间的时间间隔是任意的 ...
- 学习51单片机串口工作方式及应用
1.串口控制寄存器SCON SM2:多机通信控制位 REN:允许接收控制位 TB8:发送第九位数据 RB8:接收第九位数据 TI:发送中断标志位 RI:接收中断标志位 2.电源控制寄存器PCON 当S ...
- STM32寄存器点亮LED(什么是寄存器、GPIO工作方式、点亮原理)
一.什么是寄存器 STM32编程通常有两种编程方法,一种是寄存器编程:另一种是固件库编程,其中寄存器编程是基础,而固件库编程是在寄存器编程的基础上升级而来的一种易于学习和开发的方法,是学习STM3 ...
- 串口转换器的工作方式及通讯模式介绍
串口转换器能让您在配有RS-232的系统上使用RS-422及RS-485.它透明地将RS-232信号转成隔离的RS-422或RS-485信号.对此,您无需改变PC机任何的硬件或软件就能让您利用标准的P ...
- 服务器增加串口,多串口服务器的工作方式及接线示意图
原标题:多串口服务器的工作方式及接线示意图 串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的 ...
最新文章
- 双柱状图柱子数量比较多_微生物组数据冲击图和柱状图一条代码解决
- 语言用加法实现加饭运算_面试官:这个经典的并发问题用 Go 语言如何实现?...
- GAN网络立功!36分钟,建起5亿光年的宇宙区域
- 构建Hybrid应用-构建ionic开发环境
- 使用C#检验.NET FrameWork版本
- boost::sort模块实现spreadsort 浮点函子排序示例
- Python 字符串大小写转换
- 域本地组,全局组,通用组的应用
- MySQL出现Incorrect integer value: ‘‘ for column ‘id‘ at row 1解决方法
- 简单的java web服务器实例
- stm32mp1 Cortex M4开发篇6:TIM定时器中断
- 数据挖掘导论——可视化分析实验
- 大咖云集 共享国际开源盛宴「第十三届开源中国开源世界高峰论坛」在京成功举办...
- 新西兰 计算机 转专业,新西兰可接受转专业院校
- 硬盘RAID是什么意思?有什么用?
- 你 --- 短诗四句
- Ubuntu中Kdevelop的安装和使用
- 三角形法向量与矢量乘法
- 会计学子就业前景分析
- 类型多样的石膏PBR多通道贴图素材,速来收藏!
热门文章
- 异常行为分析模型设计
- spring-integration初探
- Artifact is deployed successfully,但是访问8080时报错404
- DiDi for Android协议分析
- Chained Exceptions in Java
- 有软件测试台式电脑电源供电不足吗,电脑电源供电不足惹起的六种觉见故障
- 专项测试实战 | 如何测试 App 流畅度(基于 FPS 和丢帧率)?
- python跑模型是什么意思_django模型是什么意思
- 出现 DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9 错误的原因及解决方法
- 如果将计算机网络划分为,计算机网络:如果将192.12.66.128/25划分为三个子网,其中子网1可以容纳50台计算机,...