当前位置: 首页 > news >正文

单片机学习13——串口通信

单片机的通信功能:

实现单片机和单片机的信息交换,实现单片机和计算机的信息交换。

计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。

通信有并行通信和串行通信两种方式。

在多微机系统以及现在测控系统中信息的交换多采用串行通信方式。

并行通信通常是将数据字节的各位用多条数据线同时进行传送。

并行通信特点:控制简单、传输速度快;但传输线较多,长距离传送时成本高接收方的各位同时接收存在困难。

串行通信是将数字字节分成一位一位的形式在一条传输线上逐个进行传输。

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行复杂。

串行的通信方式:

单工、半双工、全双工。

串行通信分两大类:

异步通信和同步通信。

异步通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。

异步通信是以字符为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一个字符的各位之间的距离均为“位间隔”的整数倍。

异步通信的数据格式:

 说明:

1)起始位是一个低电平。

2)数据位只有七位,传输的时候是从低位开始。

3)校验位的作用:传输数据的时候出错的时候的检验。如果出错,告诉发送设备重新发送数据。

4)停止位:一个位宽电平来告诉。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2-3位用于起止位,各帧之间还有间隔,因此传输效率不高

串行通信的接口标准:

1、RS-232C接口:

25针接口和9针接口。 

8051串行口的结构:

SBUF为两个物理上独立的接收、发送缓冲器,它们有相同的名字和地址空间,共同地址99H,但不会发生冲突;因为接收器只能CPU读出数据;发送缓冲区只能被CPU写入数据,不会产生重叠错误。

控制器:

T1 定时器T1。

T1溢出率决定了控制器的工作速率。

SMOD:PCON的最高位,当为0,T1溢出率为32分频,当为1的时候,T1溢出率为16分频。

但溢出的时候,最高位给CPU一个中断申请。

8051串行口的控制寄存器

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

说明:

1)fosc是单片机外接晶振频率。

2)方式1是最常用的方式。设置就是01。

3)起始位和停止位是自动插入的,不需要写入。

4)可变,是软件设置。

SM2,多机通信控制位,主要用于方式2和方式3。

目前是单个单片机,就设置为0。

REN: 允许串行接收位,由软件置REN=1, 则启动串行口接收数据;若软件置REN=0, 则禁止接收。

说明:只有REN=1, 才能接收到数据。REN就设置为1。

相关文章:

单片机学习13——串口通信

单片机的通信功能: 实现单片机和单片机的信息交换,实现单片机和计算机的信息交换。 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。 在多微机系统以及现在测控系统中信息的交换多采用串行通信方…...

Unity 实现单例模式

目录 基本概念 饿汉模式(推荐) 懒汉模式: 基本概念 单例模式:类只有一个实例,一般使用static来实现单例模式; 比如:有一个Test类,实现了单例,假设这个唯一的实例名为SingTonle,实例在类内被实现并被stat…...

【Android12】Android Framework系列--AMS启动Activity分析

AMS启动Activity分析 通过ActivityManagerService(AMS)提供的方法,可以启动指定的Activity。比如Launcher中点击应用图标后,调用AMS的startActivity函数启动应用。 AMS提供的服务通过IActivityManager.aidl文件定义。 // frameworks/base/core/java/an…...

Hive的几种排序方式、区别,使用场景

一、几种排序和区别 Hive 支持两种主要的排序方式:ORDER BY 和 SORT BY。除此之外,还有 DISTRIBUTE BY 和 CLUSTER BY 语句,它们也在排序和数据分布方面发挥作用。 1. ORDER BY ORDER BY 在 Hive 中用于对查询结果进行全局排序&#xff0…...

设计模式-外观模式

设计模式专栏 模式介绍模式特点应用场景外观模式和里氏替换原则的区别代码示例Java实现外观模式python实现外观模式 外观模式在spring中的应用 模式介绍 外观模式(Facade Pattern)是一种结构性设计模式,它隐藏了系统的复杂性,并向…...

Kubernetes实战(九)-kubeadm安装k8s集群

1 环境准备 1.1 主机信息 iphostname10.220.43.203master10.220.43.204node1 1.2 系统信息 $ cat /etc/redhat-release Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle) 2 部署准备 master/与slave主机均需要设置。 2.1 设置主机名 # master h…...

【HarmonyOS开发】拖拽动画的实现

动画的原理是在一个时间段内,多次改变UI外观,由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画。UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(F…...

提高问卷填写率的策略与方法

在现代社会的研究中,问卷调研是一种常见的数据收集方式。但是,随着数据的快速传播和竞争激烈的市场环境,怎样吸引大量的人填好问卷成为了科研人员关心的问题。本文将介绍一些方式和策略,以帮助你吸引大量的人填好问卷,…...

软件工程考试复习

第一章、软件工程概述 🌟软件程序数据文档(考点) 🌟计算机程序及其说明程序的各种文档称为 ( 文件 ) 。计算任务的处理对象和处理规则的描述称为 ( 程序 )。有关计算机程序功能、…...

PHP基础 - 类型比较

在 PHP 中,作为一种弱类型语言,它提供了松散比较和严格比较两种方式来比较变量的值和类型。 松散比较: 使用两个等号(==)进行比较,只会比较变量的值,而不会考虑它们的数据类型。例如: $a = 5; // 整数 $b = 5; // 字符串if ($a == $b) {echo "相等"; // 输…...

张正友相机标定法原理与实现

张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法。传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可…...

【LeetCode】2723. 两个 Promise 对象相加

两个 Promise 对象相加 题目题解 题目 给定两个 promise 对象 promise1 和 promise2,返回一个新的 promise。promise1 和 promise2 都会被解析为一个数字。返回的 Promise 应该解析为这两个数字的和。 示例 1: 输入: promise1 new Promise…...

设计模式--命令模式的简单例子

引入:以一个对数组的增删改查为例。通过命令模式可以对数组进行增删改查以及撤销回滚。 一、基本概念 命令模式有多种分法,在本文中主要分为CommandMgr、Command、Receiver. CommandMgr主要用于控制命令执行等操作、Command为具体的命令、Receiver为命…...

排序算法之六:快速排序(非递归)

快速排序是非常适合使用递归的,但是同时我们也要掌握非递归的算法 因为操作系统的栈空间很小,如果递归的深度太深,容易造成栈溢出 递归改非递归一般有两种改法: 改循环借助栈(数据结构) 图示算法 不是…...

【概率方法】重要性采样

从一个极简分布出发 假设我们有一个关于随机变量 X X X 的函数 f ( X ) f(X) f(X),满足如下分布 p ( X ) p(X) p(X)0.90.1 f ( X ) f(X) f(X)0.10.9 如果我们要对 f ( X ) f(X) f(X) 的期望 E p [ f ( X ) ] \mathbb{E}_p[f(X)] Ep​[f(X)] 进行估计&#xff0…...

MyBatis 四大核心组件之 StatementHandler 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…...

用Guava做本地缓存示例

缓存的作用 提升系统性能,暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用 本地缓存和分布式缓存 缓存分为本地缓存与分布式缓存。本地缓存为了保证线程安全问题,一般使用ConcurrentMap的方式保存在内存之中,而常…...

Django多对多ManyToManyField字段

Django是一个支持多对多关系的Web框架,可以在模型中定义多对多关系。多对多关系通常涉及两个实体之间的复杂交互,例如用户和组之间的关系,或者课程和学生之间的关系。在Django中,可以使用ManyToManyField字段来定义多对多关系。 …...

docker-centos中基于keepalived+niginx模拟主从热备完整过程

文章目录 一、环境准备二、主机1、环境搭建1.1 镜像拉取1.2 创建网桥1.3 启动容器1.4 配置镜像源1.5 下载工具包1.6 下载keepalived1.7 下载nginx 2、配置2.1 配置keepalived2.2 配置nginx2.2.1 查看nginx.conf2.2.2 修改index.html 3、启动3.1 启动nginx3.2 启动keepalived 4、…...

软件科技成果鉴定测试需提供哪些材料?

为了有效评估科技成果的质量,促进科技理论向实际应用转化,所以需要进行科技成果鉴定测试。申请鉴定的科技成果范围是指列入国家和省、自治区、直辖市以及国务院有关部门科技计划内的应用技术成果,以及少数科技计划外的重大应用技术成果。   …...

还在熬夜调地图?让AI替你干

你还在为地图开发熬夜吗? "这个标注位置怎么不对?" "图层叠加出问题了,谁来看看?" "地图加载太慢,客户在催……" 每次做地图相关项目,开发者群里总是一片哀嚎。查文档、…...

高等数学 定理及习题

本文涉及知识点 数学 《高等数学》(上册) 第一章 函数与极限 第一节 映射与函数 第二节 数列的极限 第三节 函数的极限 第四节 无穷小与无穷大 第五节 极限运算法则 第六节 极限存在准则 两个重要极限 第七节 无穷小的比较 第八节 函数的连续性…...

OAuthlib错误排查实战:从invalid_grant到server_error的根因定位

1. 为什么OAuthlib的错误信息总让你一头雾水?刚接手一个老项目,登录流程突然崩了,控制台只甩出一行红字:invalid_grant。我下意识去翻OAuthlib文档,结果发现它压根不解释这个错误到底意味着什么——它只告诉你“授权无…...

用RT-Thread硬件定时器实现精准任务调度:一个LED呼吸灯与数据采集的案例

用RT-Thread硬件定时器实现精准任务调度:一个LED呼吸灯与数据采集的案例 在嵌入式开发中,任务调度和时间管理是核心挑战之一。RT-Thread作为一款优秀的实时操作系统,其硬件定时器(HWTIMER)功能为开发者提供了高精度的时…...

气动黄油机核心技术解析:泵的选择与厂家评估方法论

工业黄油就是润滑脂,属于半固体润滑剂,润滑脂的作用主要是润滑、保护和密封。可以有效降低机械摩擦,防止磨损,同时还能防腐蚀及密封防尘。毫不夸张的说,润滑脂就是万金油,黄油加注机广泛应用于汽车制造业、…...

5步搭建私人云游戏服务器:Sunshine游戏串流完全指南

5步搭建私人云游戏服务器:Sunshine游戏串流完全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经想过在客厅电视上玩电脑游戏,或者在平板上继…...

Python机器学习实战路线图:从EDA到模型部署的工业级路径

1. 这不是“速成课”,而是一份我带过37个转行学员后重写的Python机器学习实战路线图 你点开这篇,大概率正站在两个路口之间:一边是刷了三个月Kaggle入门赛却卡在特征工程上动弹不得,另一边是翻烂了《统计学习方法》却连一个能跑通…...

为什么92%的团队仍在手写API文档?ChatGPT驱动的智能生成方案已上线,你还在等什么?

更多请点击: https://kaifayun.com 第一章:API文档手写困局的根源与行业现状 在现代微服务与云原生架构普及的背景下,API已成为系统间协作的核心契约。然而,大量团队仍依赖人工编写和维护 OpenAPI(Swagger&#xff0…...

通达信缠论量化插件:自动化技术分析新体验

通达信缠论量化插件:自动化技术分析新体验 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 通达信缠论量化插件是一款基于缠论理论的智能分析工具,通过算法自动化识别K线走势中的关…...

Veo生成模糊/断帧/色偏?立刻停用默认设置!20年视频架构师紧急发布的5项必改Veo 2K/4K硬核配置

更多请点击: https://intelliparadigm.com 第一章:Veo 2K/4K视频生成质量崩塌的根源诊断 当Veo模型在2K或4K分辨率下输出视频时,高频细节严重丢失、运动伪影显著增强、纹理结构模糊化,这一现象并非单纯算力不足所致,而…...