原文地址:C51串口的SCON寄存器及工作方式作者:batistar

一,串行口控制寄存器SCON

它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:

D7

D6

D5

D4

D3

D2

D1

D0

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

SM0、SM1:串行口工作方式选择位,其定义如下:

SM0、SM1

工作方式

功能描述

波特率

0 0

方式0

8位移位寄存器

Fosc/12

0 1

方式1

10位UART

可变

1 0

方式2

11位UART

Fosc/64或fosc/32

1 1

方式3

11位UART

可变

其中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寄存器及工作…相关推荐

  1. C51串口的SCON寄存器及工作方式

    串行口控制寄存器SCON 它用于定义串行口的工作方式及实施接收和发送控制.字节地址为98H,其各位定义如下表: 其中fosc为晶振频率 SM2:多机通讯控制位.在方式0时,SM2一定要等于0.在方式1 ...

  2. linux串口发送键值,c51:串口通信,按键发送字符串

    原标题:c51:串口通信,按键发送字符串 一.程序功能 1.实现0-f的16位键盘输入功能,将键值由P1口输出. 2.不同的键值串口发送不同的 二.代码 //函数功能 //1.实现0~f的16位键盘功 ...

  3. tiri单片机_51单片机设定串口的工作方式:设定SCON寄存器-控制器/处理器-与非网...

    用计算机来控制单片机,进而控制继电器等其他外设,感觉不错啊,怎么实现呢?一步步来吧. 单片机串行口通信,也就是单片机与计算机之间的通信,要实现,要明白一些基本的概念. (1)实现之前,请确定串口正常, ...

  4. 2021-912--51单片机串口通信--SCON方式1

    计算机的通信分为:串行通信和并行通信 串行通信分为:异步通信和同步通信 异步通信:发送设备与接受设备有各自的时钟,通信时双方的时钟尽量保持一致, 以字符为单位进行传输, 字符与字符间的时间间隔是任意的 ...

  5. tiri单片机_51单片机的SCON寄存器与C程序解析

    用计算机来控制单片机,进而控制继电器等其他外设,感觉不错啊,怎么实现呢?一步步来吧. 单片机串行口通信,也就是单片机与计算机之间的通信,要实现,要明白一些基本的概念. (1)实现之前,请确定串口正常, ...

  6. 15_串口中断通信寄存器即库函数配置编写实例

    串口中断通信寄存器即库函数配置编写实例 目录 串口中断通信寄存器即库函数配置编写实例 常用的串口相关寄存器: 波特率计算方法: USART_InitTypeDef结构体详解: 串口配置一般步骤: 调试 ...

  7. Keil C51中断编程中寄存器组的选用与保护

    Keil C51中断编程中寄存器组的选用与保护 http://www.you01.com/article-14002-1.html

  8. C51串口通信(张毅刚)例8-1程序解释

    目录 前言 一.题目 二.网友给出的中断程序分析 1.74LS164 2.从主函数到中断函数 3.中断函数怎么解释 4.如何再进中断 5.辅助理解 三.原程序解惑 1.从主函数到中断 2.第2次SBU ...

  9. STM32F7--->串口相关,串口的所有寄存器详讲

    文章目录 串口相关寄存器 串口控制寄存器 CR1 CR2 CR3 波特率寄存器   BRR 保护时间和预分频寄存器   GTPR 接收超时寄存器   RTOR 请求寄存器   RQR 中断和状态寄存器 ...

最新文章

  1. 软件系统的4大技术本质
  2. 【OpenCV学习笔记2】OpenCV 完全安装 新增VS2010+OpenCV2.1,新增VS2010+OpenCV2.3.1
  3. HDU 2009 求数列的和
  4. Java 10 实战第 1 篇:局部变量类型推断
  5. 22_2D函数优化实例
  6. 15.5.2 【Task实现细节】骨架方法的结构
  7. 左神算法:最大值减去最小值小于或等于num的子数组的数量(Java版)
  8. 算法之排序算法-直接插入排序
  9. 那篇让汤普金斯进入梦境的相对论演讲
  10. 计算机技师工作调研,技师学院党委书记王庆余到计算机工程系进行“不忘初心、牢记使命”主题教育调研工作...
  11. 调起引用市场,引导用户进行评分
  12. python123平台作业答案循环结构棋盘放米_python练习集100题(1-20)
  13. Xshell 鼠标选中 中断ctrl+c 问题
  14. 退出所有循环_探索未知种族之osg类生物---呼吸分解之事件循环三
  15. 一个博士生接受怎样的训练是完整、全面的科研训练?
  16. 不借助 vue-cli 工具自行搭建 vue 项目
  17. arcgis字段求和_arcgis计算命令
  18. python爬取b站弹幕分析_B站直播弹幕获取 - 用python写一个B站弹幕姬吧
  19. 2020 最新版《神经网络和深度学习》中文版.pdf
  20. 逆水寒官方网站服务器,《逆水寒》2019年7月4日更新公告

热门文章

  1. 自媒体5大免费网站,帮助你高效运营,快收藏起来
  2. python文档整理,Python官方文档内置函数整理Word版
  3. AI神经网络-CNN基本结构分析( Conv层、Pooling层、FCN层/softmax层)
  4. [图文]解读《碟中谍4》中的人脸识别技术
  5. XCTF MISC 新手base64stego解题思路
  6. 浅谈“密码明文传输”
  7. 开关电源的几种工作模式
  8. Chocolatey--windows包管理器的下载和使用(超详细)
  9. 来点色看看~SecureCRT-8.5配色方案设置
  10. CubeMx笔记 -- IIC(位带操作实现)+ IO拓展