51单片机-80C51的串行口

server/2025/2/25 23:56:12/

目录

1、80C51的串行口

1.1、80C51串行口的控制寄存器

1.2、80C51串行口的工作方式

1.3、波特率的计算

1.4、串口如何使用

2、单片机单片机的通信


1、80C51的串行口

有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一个地址99H;接收器是双缓冲结构;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。

1.1、80C51串行口的控制寄存器

(1)SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:

  •  SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。

在方式0时,SM2必须是0。在方式1时,如果SM2=1,则只有接收到有效停止位时,RI才置1。

SCON寄存器中的RB8位是由硬件自动控制的‌。在多机通信中,RB8位用于存放接收到的第9位数据,代表接收到的某种特征,因此应根据其状态对接收数据进行操作‌12。

SCON寄存器(Serial Control Register)用于控制串行通信的方式选择、接收和发送,并指示串口的状态。它包括多个位,其中RB8位在多机通信中起到重要作用。当串口接收到数据时,RB8位会自动存放接收到的第9位数据,这个过程是由硬件自动完成的‌

  •  REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
  • TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中࿰

http://www.ppmy.cn/server/170634.html

相关文章

【Jenkins】显示 HTML 标签

需求 在 Jenkins 中显示 HTML 标签内容(例如格式化的文本、颜色、图标等)是一个常见的需求,如下,编译工程显示当前编译的分支: 但 Jenkins 默认会出于安全考虑(防止 XSS 攻击)转义 HTML 标签&a…

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…

2025最新Python机器视觉实战:基于OpenCV与深度学习的多功能工业视觉检测系统(附完整代码)

2025最新Python机器视觉实战:基于OpenCV与深度学习的多功能工业视觉检测系统(附完整代码) 摘要:本文基于OpenCV与深度学习模型,实现一个多功能工业视觉检测系统,包含缺陷检测、尺寸测量、颜色识别、OCR文本识别、目标分类与数据可视化等功能。代码兼容Python 3.7+,功能…

微信小程序——访问服务器媒体文件的实现步骤

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:趣享先生的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏&…

Matplotlib | 一文搞定Matplotlib从入门到实战演练!

文章目录 1 什么是Matplotlib1.1 Matplotlib的安装1.2 Matplotlib的基本使用 2 绘制直线3 绘制折线设置标签文字和线条粗细设置中文标题风格的设置 4 绘制曲线绘制曲线yx^2绘制正弦曲线和余弦曲线画布分区 5 绘制散点图绘制不同种类不同颜色的线 6 绘制条形图(柱状&…

Redis 缓存穿透、击穿、雪崩:问题与解决方案

在使用 Redis 作为缓存中间件时,系统可能会面临一些常见的问题,如 缓存穿透、缓存击穿 和 缓存雪崩。这些问题如果不加以解决,可能会导致数据库压力过大、系统响应变慢甚至崩溃。本文将详细分析这三种问题的起因,并提供有效的解决…

ubuntu

网络 ping 第29个包丢了 ifconfig route -n 路由表 Destination:目的地址 Gateay:网关 Genmask:掩码 Flags&#xf…

使用Selenium和ChromeDriver模拟用户操作:从表单填写到数据提交

第一幕:危机四伏的投票战场 场景:深夜的科技公司办公室,工程师小王盯着屏幕上闪烁的代码,产品经理莉莉焦急地踱步。 莉莉(扶额): “小王,无人机市场调研的投票数据必须今晚拿到&…