单片机学习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.mzph.cn/news/205584.shtml

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

相关文章

C++ 多线程 atomic

如有两个线程,对一个变量进行操作,一个线程读这个变量的值,一个线程往这个变量中写值。即使是一个简单变量的读取和写入操作,如果不加锁,也有可能会导致读写值混乱(一条语句可能会被拆成3、4条汇编语句来执…

网络机房的功能有哪些?

网络机房的功能主要包括: 信息存储和管理:机房作为信息系统的核心,需要提供可靠的存储和管理能力,包括服务器、存储设备、备份系统等硬件设备,以及数据备份、数据迁移、容灾等管理方法和技术。网络连接和通信&#xf…

微信公众号的服务器验证方法

服务器上的操作: 将下面的wx.py文件放在服务器上,运行python3 wx.py 80 # -*- coding: utf-8 -*- # filename: main.py import web import handle import hashlibclass WeChatHandler(object):def GET(self):data web.input()if len(data) 0:return &…

汽车软件大时代,如何提升软件工程创新力?

当前,传统汽车产业正加速数字化转型,“软件定义汽车”不断深化。在电动化、智能化和网联化趋势下,汽车软件已经成为汽车技术革新和发展的核心驱动力之一。根据亿欧智库发布的《2023中国智能电动汽车车载软件市场分析报告》,2022年…

java中SPI是什么?

在Java中,SPI(Service Provider Interface)是一种面向接口编程的机制,用于在运行时动态加载实现某一接口的类。SPI机制允许开发者定义服务接口,然后为这个接口寻找实现类,并在运行时动态加载它们&#xff0…

Tomcat主配置文件(server.xml)详解

前言 Tomcat主配置文件(server.xml)是Tomcat服务器的主要配置文件,文件位置在conf目录下,它包含了Tomcat的全局配置信息,包括监听端口、虚拟主机、安全配置、连接器等。 目录 1 server.xml组件类别 2 组件介绍 3 se…

Dockerfile与Docker网络

一、Dockerfile 1、概念: Dockerfile是用来构建docker镜像的文本文件,是由构建镜像所需要的指令和参数构建的脚本。 2、构建步骤: ① 编写Dockerfile文件 ② docker build命令构建镜像 ③ docker run依据镜像运行容器实例 Dockerfile …

信号完整性分析

目录 前言一、信号完整性SI1.1 信号失真1.2 串扰1.3 衰减 二、电源完整性PI2.1 地弹2.2 电源轨道塌陷 三、电磁兼容EMC3.1 电磁辐射3.2 抗干扰 前言 本篇介绍信号完整性分析的知识体系,以及部分分析方法。   什么是信号完整性?通俗来讲,信号在互连线的…

ProEasy机器人案例:电池边包胶

如下图所示,对一个电池三边包边,因客户现场有很多规格电池的大小,所以就需要建立动态的工具坐标来实现适配所有种类的电池 程序如下:Ddome程序 function Speed(num) --速度设置 MaxSpdL(2000) --movl最大速度…

插件原理与开发

插件原理与开发 在 Mybatis总体执行流程 一文中简单的介绍了插件的初始化过程,本文将从源码的角度介绍一下mybatis的插件原理与简单开发实战。 插件原理 插件的注册和管理是通过InterceptorChain进行的,在创建Executor、StatementHandler、ParameterH…

1.求两个数最大值

文章目录 前言一、题目描述 二、解题 程序运行代码 前言 本系列为函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 1.求两个数最大值 二、解题 程序运行代码 #include<stdio.h> int main(){int a,b,z;scanf("%d%d",&a,&b);if…

如何使用 Docker 安装 Node-RED

安装 Node-RED 使用 Docker 是一种简便的方式&#xff0c;以下是基本的步骤&#xff1a; 安装 Docker&#xff1a; 确保已在系统上安装 Docker。可从 Docker 官方网站 或 Windows Docker 安装教程 获取安装指南。 拉取运行 Node-RED 镜像&#xff1a; 打开终端或命令行界面&am…

Matlab 点云对称性检测

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 这是一个很有趣的功能,它的思路其实与ICP算法的思路有些相似: 首先,它会初始化两个旋转角度,即绕x轴旋转与绕y轴旋转,初始的过程是将点对称(镜像)过去,计算与匹配点之间的距离误差,误差最小者为最优初始值…

Python 从入门到精通 学习笔记 Day02

Python 从入门到精通 第二天 今日目标 字符串基本操作、字符串序列操作、输入输出函数 字符串内置方法、运算符、练习之前学习的内容 一、字符串基本操作 在Python中&#xff0c;字符串的转义是指在字符串中使用特殊的字符序列来表示一些特殊字符。 在Python中&#xff0c;字…

2024山东健博会,第六届济南国际大健康产业博览会5月举办

大力发展全国健康事业 助力健康中国行动战略 DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会The 2024 sixth China (Jinan) International Big Health Industry Expo 2024年05月27日—29日 中国济南黄河国际会展中心 联合主办&#xff1a;山东省科学养生…

低代码你需要了解一下

低代码的概念可以追溯到1980年代&#xff0c;当时IBM的快速应用程序开发工具&#xff08;RAD&#xff09;被冠以新的名称——低代码&#xff0c;由此&#xff0c;低代码的概念首次面向大众。然而&#xff0c;在近40年的历程中&#xff0c;低代码发展经历了两个阶段&#xff1a;…

数据库基础DDL

一、字段属性 合适的字段类型对于高性能来说非常重要&#xff0c;基本原则如下&#xff1a;简单的类型占用资源更少&#xff1b;在可以正确存储数据的情况下&#xff0c;选最小的数据类型。 1、数据类型选择 整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT&#xff0…

改进的联邦加权平均算法

目录 1 改进的联邦加权平均算法 1.1 联邦学习 1.2 改进的联邦加权平均算法 1.3 算法的流程

vue watch

vue 使用watch监听props的一些小建议 当在watch里面给data赋值&#xff0c;请使用深拷贝。 <template><div class"container"><div class"left"><div class"button_group"><!-- <button click"rand…

【面试常考150题】1、88合并两个有序数组

合并两个有序数组 题目解法一思路code 解法二思路code 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递…