单片机学习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)方式一是最常用的方式。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256464.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.7图欧拉回路与路径,图的一些性质,存储方式,图的遍历(有向图无向图BFSDFS)

欧拉回路与欧拉路径 存在条件 无向图存在欧拉回路的充要条件 一个无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图。 无向图存在欧拉路径的充要条件 当且仅当该图顶点度数为奇数的点的个数为0或者2。 欧拉定理二: 如果一个无向图…

sql注入漏洞--MYSQL两种思路

在学习之前,先自己搭建了一个网站 在前端可以实现与后端数据库的交互查询 创建一个数据库名为wy,表名为users 建立字段,定义类型 插入数据 INSERT INTO users(name, password,photo, money) VALUES ("DuZZ",123456,11,100); IN…

(三)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介: 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献: [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO创建VDO设备以节约硬盘空间 了解什么是VDO VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2,大小都是10G。file1和 f…

Retrofit嵌套请求与适配器

一、前言: 1. retrofit嵌套请求 在实际开发中,可能会存在:需要先请求A接口,在请求B接口的情况,比如进入“玩android”网页请求获取收藏文章列表,但是需要先登录拿到Cookie才能请求搜藏文章几口&am…

【web安全】文件包含漏洞详细整理

前言 菜某的笔记总结,如有错误请指正。 本文用的是PHP语言作为案例 文件包含漏洞的概念 开发者使用include()等函数,可以把别的文件中的代码引入当前文件中执行,而又没有对用户输入的内容进行充分的过滤&#xff0…

添加新公司代码的配置步骤-Part3

原文地址:配置公司代码 概述 这是讨论创建新公司代码的基本标准配置步骤的第三篇博客。在第 1 部分中,我列出并讨论了企业结构中需要配置的项目。我随后提供了特定 FI 配置的详细信息。在本版本中,我将重点关注 SD 和 MM 模块。以下是这些博…

每日一题:LeetCode-11.盛水最多的容器

每日一题系列(day 13) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x1f50e…

低代码——“平衡饮食”才是王道

文章目录 一、低代码的概念二、低代码的优点2.1. 高效率与快速开发2.2. 降低技术门槛2.3. 适用于快速迭代与原型开发 三、低代码的缺点3.1. 定制性不足3.2. 深度不足3.3. 可能导致技术债务 四、低代码开发的未来4.1. 深度定制化4.2. 智能化 五、低代码会替代传统编程吗&#xf…

Python Struct 模块:二进制数据的强大解析与打包工具

更多资料获取 📚 个人网站:ipengtao.com Python中的struct模块是一个强大而灵活的工具,用于解析和打包二进制数据。本文将深入介绍struct模块的各个方面,通过丰富的示例代码,帮助读者更全面地理解和运用这一模块&…

参考信号速度变化存在跳跃时容易发生不稳定的阻抗调节

问题描述 当参考信号速度存在跳跃变化时,阻抗调节系统容易发生不稳定。这是因为阻抗调节系统需要根据参考信号的速度来调整其输出阻抗,以匹配负载阻抗,从而保持系统的稳定性。 当参考信号速度突然变化时,阻抗调节系统可能无法及…

C++新经典模板与泛型编程:用成员函数重载实现is_base_of

用成员函数重载实现is_base_of std::is_base_of是一个C 11标准中用于判断某个类是否是另一个类父类的类模板。 #include "killCmake.h"#include<string>using namespace std;class A { };class B : public A { public:B(int x): x_(x){} private:int x_; };/…