STC89C52RC单片机额外篇 | 02 - 认识串行通信、波特率以及数据包

STC89C52RC单片机额外篇 02 - 认识串行通信、波特率以及数据包_stc89c52rc 串口波特率 你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!! 阅读详情

1 并行与串行通信

机器的通信方式有两种,分别是并行通信与串行通信。

并行通信:并行通信是指多比特数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。

串行通信:串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

拿汽车通道来说,并行通信就是多车道,多辆车一起行驶,而串行通信就是单车道,只能一辆一辆车通过。

以下是两者之间特性的对比:

2 异步与同步串行通信

串行通信有两种,分别是异步串行通信与同步串行通信。

异步串行通信:异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。

同步串行通信:同步串行通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。

两种串行通信不同就只有时间,在发送字符时,异步可以是不同时间间隔发送,但同步只能以固定的时间间隔发送。

3 单工、半双工与全双工串行通信

串行通信制式有单工串行通信,半双工串行通信,全双工串行通信三种。

单工串行通信:单工串行通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。

半双工串行通信:半双工串行数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些数据来自数据刚刚传输的方向。像全双工传输一样,半双工包含一个双向线路(线路可以在两个方向上传递数据)。

全双工串行通信:全双工串行通信是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工机也称为异频双工机。

三种通信制式很容易理解,对照上图看,单工串行通信不就是单方面通信,只能发出指令或接收指令。半双工串行通信就是能接收又能发送,但是不能同时进行。全双工串行通信就最厉害,可以同时发送和接收指令。

4 比特率与波特率

衡量通讯性能的一个非常重要的参数就是通讯速率,通常以比特率(Bitrate) 来表示,即每秒钟传输的二进制位数,单位为比特每秒(bit/s)。

容易与比特率混淆的概念是 “波特率”(Baudrate),它表示每秒钟传输了多少个码元。而码元是通讯信号调制的概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。

如常见的通讯传输中,用0V 表示数字0,5V 表示数字1,那么一个码元可以表示两种状态0 和1,所以一个码元等于一个二进制比特位,此时波特率的大小与比特率一致;如果在通讯传输中,有0V、2V、4V 以及6V 分别表示二进制数00、01、10、11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。

因为很多常见的通讯中一个码元都是表示两种状态,人们常常直接以波特率来表示比特率,虽然严格来说没什么错误,但希望我们还是了解它们的区别。

5 TTL与RS-232电平标准

根据通讯使用的电平标准不同,串口通讯可分为TTL 标准及RS-232 标准,电平标准如下表:

可见RS-232使用负逻辑电平,规定(-3V ~ -25V)为逻辑“1”,规定(+3V ~ +25V)为逻辑“0”,(-3V ~ +3V)是未定义的过渡区。

我们知道常见的电子电路中常使用TTL 的电平标准,理想状态下,使用5V 表示二进制逻辑“1”,使用0V 表示逻辑“0”;而为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V 表示逻辑“1”,+15V 表示逻辑“0”。

6 RS-232信号线与DB9接口

在最初的应用中,RS-232 串口标准常用于计算机、路由与调制调解器(MODEN,俗称“猫”)之间的通讯 ,在这种通讯系统中,设备被分为数据终端设备DTE(计算机、路由)和数据通讯设备DCE(调制调解器)。我们以这种通讯模型讲解它们的信号线连接方式及各个信号线的作用。

在旧式的台式计算机中一般会有RS-232 标准的COM口(也称DB9 接口)。

我们看到接线口以针式引出信号线的称为公头,以孔式引出信号线的称为母头。在计算机中一般引出公头接口,而在调制调解器设备中引出的一般为母头,使用上图中的串口线即可把它与计算机连接起来。通讯时,串口线中传输的信号就是使用前面讲解的RS-232 标准调制的。

对于调制解调方面的内容,有兴趣可以查找高频电子线路与通信方面的相关资料,这里不再赘述。

DB9 接口中的公头及母头的各个引脚的标准信号线接法:

每个口的具体作用如下表:

上表中的是计算机端的DB9 公头标准接法,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9 母头的收发信号接法一般与公头的相反,两个设备之间连接时,只要使用“直通型”的串口线连接起来即可。

串口线中的RTS、CTS、DSR、DTR 及DCD 信号,使用逻辑 “1” 表示信号有效,逻辑“0”表示信号无效。例如,当计算机端控制DTR 信号线表示为逻辑“1” 时,它是为了告知远端的调制调解器,本机已准备好接收数据,“0” 则表示还没准备就绪。

在目前的其它工业控制使用的串口通信中,一般只使用RXD、TXD 以及GND 三条信号线,直接传输数据信号,而RTS、CTS、DSR、DTR 及DCD 信号都被裁剪掉了,这主要是考虑到近程通信与远程通信问题。

7 数据包

串口通讯的数据包由发送设备通过自身的TXD 接口传输到接收设备的RXD 接口。在串口通讯协议中,规定了数据包的内容,它由起始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。

在串行异步通讯中,由于没有时钟信号(如前面讲解的DB9
接口中是没有时钟信号的),所以两个通讯设备之间需要约定好波特率,即每个码元的长度,以便对信号进行解码,上图中用虚线分开的每一格就是代表一个码元。常见的波特率为4800、9600、115200 等。

串口通讯的一个数据包从起始信号开始,直到停止信号结束。数据包的起始信号由一个逻辑“0” 的数据位表示,而数据包的停止信号可由0.5、1、1.5 或2 个逻辑“1” 的数据位表示,只要双方约定一致即可。

在数据包的起始位之后紧接着的就是要传输的主体数据内容,也称为有效数据,有效数据的长度常被约定为5、6、7 或8 位长。

在串行通讯所发送数据的最后一位,用来粗略的检验数据在传输过程中是否有出错。校验一般有以下几种:

  • 奇校验:让主体数据加上校验位中的“1”的个数保持为奇数。
  • 偶校验:让主体数据加上校验位中的“1”的个数保持为偶数。
  • 0 校验:无论主体数据是什么,校验位保持为0。
  • 1 校验:无论主体数据是什么,校验位保持为1。
51单片机之——串口通信(含实现部分) 本篇文章将实现两个部分,第一部分为实现单片机通过串口向电脑发送数据;第二部分为实现电脑通过串口控制单片机LED灯 阅读详情

相关推荐

51单片机下载电路原理与实战:从串口通信到Bootloader全解析

串口通信(UART)作为嵌入式开发中最基础、最常用的异步串行通信协议,其核心原理是通过TX(发送)和RX(接收)两根数据线,在约定波特率下实现设备间的数据交换。在单片机程序下载场景中,串口通信扮演着关键角色,它需要解决PC与单片机之间的电平匹配问题——PC传统串口采用RS-232电平(负逻辑,±3-15V),而51单片机则使用TTL电平(0V/5V代表0/1)。通过电平转换芯片(如MAX232)或更便捷的USB转TTL模块(如CH340),可以桥接这一鸿沟,实现稳定可靠的数据传输。这一过程的技术价值在于,它

weixin_32025789的博客 327

【mcuclub】STC89C52单片机最小系统讲解

单片机最小系统

weixin_61121477的博客 9万+

51单片机串口烧录原理与实战:从Bootloader到STC-ISP全解析

串口通信是嵌入式系统中最基础、最常用的数据交换方式之一,它通过异步串行协议在设备间传输数据。其核心原理基于UART硬件模块,将并行数据转换为串行比特流进行传输,依靠起始位、数据位、校验位和停止位的帧结构确保可靠性。这项技术的价值在于硬件简单、成本低廉,且协议通用性强,是单片机与上位机通信的基石。在嵌入式开发中,串口通信广泛应用于程序烧录、调试信息输出、设备控制等场景。以51单片机为例,其程序烧录深度依赖串口通信,通过内置的Bootloader引导程序与STC-ISP软件配合,完成程序的下载与更新。理解串口通

weixin_34387468的博客 284

STC89C52串口通信详解

详细图解,同步和异步通信原理,单片机串口,通信速率计算,串口寄存器与工作方式

好作息,好心态,多锻炼,多学点,多钻研 4892

STC51单片机串口ISP下载原理与稳定实现

串口通信是嵌入式系统最基础的外设交互方式,其核心在于UART模块实现异步数据收发,依赖精确的波特率与时序控制。STC51系列单片机通过内置Bootloader支持ISP(在系统编程),无需专用编程器即可完成程序烧录,技术价值在于降低开发门槛、提升调试效率。该功能依赖USB-TTL转换芯片(如CH340G)、TTL电平直连、严格上电时序及0x7F握手协议等关键环节。典型应用场景包括教学实验板、工业控制终端和快速原型开发。深入理解UART数据帧结构、波特率误差边界(推荐11.0592MHz晶振)及硬件链路设计规

weixin_36296444的博客 169

一物三用:除了无线调试,你的CMSIS-DAP模块还能当高速无线串口和51单片机下载器

本文详细介绍了CMSIS-DAP调试器的多功能应用,包括无线串口透传和51单片机无线下载功能。通过实战指南,开发者可以充分利用这一工具,提升开发效率,特别适合预算有限但需要多功能工具的开发者。

weixin_29164497的博客 96

【单片机基础】89C52单片机串口通信

1、89C52串口通信简介2、串口通信需要配置的寄存器2-1、串行数据缓冲器SBUF2-2、串行控制寄存器SCON(1)SM0 SM1(2)SM2(3)REN(4)TB8(5)RB8(6)TI(7)RI 1、89C52串口通信简介 STC89C52系列单片机内部集成有一个功能很强的全双工串口通信,与传统8051单片机完全兼容。设有两个互相独立的接受、发送缓冲器,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入。因而两个缓冲器可以共用一个地址码(99H)。两个缓冲器统称为串.

小途的博客 1万+

STC51单片机串口传输DS18B20温度数据实战项目

第一眼看到DS18B20,很多人会觉得它长得像个三极管——没错,它就是采用标准TO-92金属封装,具备良好的热传导性能。三个引脚分别是:引脚名称功能1GND接地2DQ数据输入/输出3VDD电源正极其中DQ是最核心的信号线,承担着命令下发、状态反馈和温度读取的全部任务。而且它支持两种供电方式:外部电源模式:VDD接3~5.5V电源,DQ仅用于通信;寄生供电模式。

weixin_35756130的博客 1023

STC89C52RC使用定时器2做串口通信 11.0592M晶振 115200波特率

#define FOSC 11059200L #define BAUD 115200L

weixin_45222062的博客 2470

华为硬件逻辑岗笔试题(一)

积少成多,集腋成裘,坚持!!! 目录 1. 进制转换 2. 状态机和编码方式 3. 存储器的分类 4. Verilog语法中的操作符 5. 对组合逻辑的认识 6. 对时序逻辑的认识 7. 竞争冒险的认识 8. 基本时序逻辑电路 9. 建立时间和保持时间 10. 同步时序电路 11. 组合逻辑和时序逻辑判断 13. 基本总线的理解 14.加法器 15.FPGA开发工具 1. 进制转换 1、十进制46.25对应的二进制表达式为( )。 A 101110.11...

qq_42235129的博客 1万+

麦当劳app之sign逆向分析

摘要:本文分析了麦当劳APP请求参数sign的逆向过程。通过抓包发现32位sign参数疑似MD5加密,使用frida-trace工具跟踪CC_MD5函数验证其为标准MD5算法。加密参数包含时间戳、token、版本号等固定和动态字段,拼接后经MD5加密生成sign。文章提供了JS和Python两种实现方案,包含完整的请求头参数和加密逻辑,最终成功获取API响应数据。该研究仅用于逆向技术学习,展示了移动应用常见加密参数的逆向分析方法。

佛系更新... 2435

STC89C52在12M晶振模式下配置串口波特率

/T1工作于模式2,TMOD.7=0表示不需要外部管脚控制,TMOD.6=0表示T1是定时器,TMOD.5:TMOD.4 = 10表示8位自动重装载定时器,当溢出时将TH1存放的值自动重装入TL1。//SM0(bit7)=0,SM1(bit6)=1串口工作在模式1,8位波特率可变,SM2(bit5)=0,REN(bit4)=1允许串行接收控制位,其他位=0。这里就有两个可变设置量,1是SMOD,2是12T/6T,最后选定SMOD=1,6T,这样就有计算式。好吧,常用的里面没我需要的,啃文档吧。

m0_37453172的博客 1669

Zephyr 开发必备技能:一文搞懂 west manifest

本文深入解析Zephyr项目的westmanifest工具与Manifest文件管理,从基础概念到高级应用。文章首先介绍westmanifest作为Zephyr模块化架构的核心工具,负责管理west.yml文件中的模块信息、Git地址及版本控制。随后详细讲解Manifest文件的基本结构、字段含义,以及westmanifest子命令的使用方法,包括查看内容、冻结版本、验证文件等操作。文章还探讨了Manifest的导入继承机制和在团队协作中的版本管理策略,并给出常见问题排查技巧。最后强调Manifest文件作

hemoparrot的专栏 1254

8051单片机实战分析(以STC89C52RC为例) | 12 - 串行口中断的使用

在第一篇到第九篇博文中,我们认识到了一些基于IO口输入与输出的基础电子器件使用: 《8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一个LED》 《8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁》 《8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯》 《8051单片机实战分析(以STC89C52RC为例) | 04 - 蜂鸣器驱动》 《8051单片机实战分析(以STC89C52RC为例) | 05 - 静态数.

Systemcall名屋 2544

基于卷积神经网络的人脸识别算法

摘要:近年来,随着科学技术的不断发展,人脸识别技术日渐成熟,使得人脸识别技术的使用率不断增大。例如:门禁、ATM机、公安系统以及新兴起的人机交互等领域,都应用到了人脸识别系统。在人脸识别研究领域中,深度学习扮演着重要的角色。由于深度学习的人脸识别技术凭借其识别率高、识别快等特点,逐渐成为整个领域的主流技术。在众多深度学习算法中,以卷积神经网络为代表的人脸识别系统得到了广泛应用,主要研究内容如下:首先,通过对经典损失函数进行研究,对比每种损失函数的特点,然后根据A-Softmax函数进行改进,借助Margin

yyq2263511327的博客 1万+

手把手带你完成基于UNet的医学图像分割系统设计与实现,UNet网络架构讲解,UNet复现,使用vibe coding工具,开发一个完整系统,包含完整源码

哈喽,大家好,这里是落花不写码,本次教程讲一下 U-Net 分割篇,U-Net 它是一篇 2015 年发表的论文,那为什么到现在还需要讲呢?因为后续讲到 GAN、扩散模型时候是离不开 U-Net 架构的,所以今天先带大家使用 U-Net 模型完成一些图像分割。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 868

单片机串行通信核心:UART、I2C、SPI协议原理与实战调试指南

串行通信是单片机与外部设备进行数据交换的基础技术,其核心原理是通过单根数据线按顺序逐位传输数据,相较于并行通信,具有节省引脚、布线简单、成本低和抗干扰能力强等优势。从技术实现上,主要分为异步通信(如UART)和同步通信(如SPI、I2C)两大类,分别解决了无统一时钟和有统一时钟下的数据同步问题。这些协议的技术价值在于为嵌入式系统提供了灵活、可靠且标准化的互联手段,广泛应用于传感器数据采集、显示驱动、存储器访问以及模块间通信等场景。本文聚焦于单片机开发中最关键的UART、I2C和SPI这“三剑客”,深入剖析其

weixin_33713707的博客 347

SolidWorks2020详细步骤安装教程

1、在安装软件前请断开网络连接,需要安装.NETFramework3.5和4.0,最后还要确保把之前安装的旧版本完全卸载,以管理员身份运行SolidWorks_Flexnet_Server\server_remove.bat,然后等到服务“SolidWorksFlexnet服务器”将被删除。12、先不要运行软件,找到_SolidSQUAD_文件夹,将文件夹“ProgramFiles\SOLIDWORKSCorp”中的所有破解文件复制替到“ProgramFiles\SOLIDWORKSCorp”目录下;

qq_53545309的博客 1万+

从零开始的单片机探索1——核心的核心

作为控制中心:1. 电源管理——后勤部(供电稳不稳):VCC→电源滤波→稳定供电2. 时钟同步——人力资源部(节奏准不准):11.0592MHz晶振→提供精确时基3. 外设控制——业务团队(设备听不听指挥):P0口→可能接LCD/数码管P1口→通用控制P2口→高地址/扩展P3口→下载/中断4. 中断响应——保卫部(应急处理中心):RP11-RP27排阻→外部中断输入(以后会提)初来乍到,若有疏忽错漏,烦请多多指正。

Xjm106879的博客 1116

权重衰减weight_decay参数从入门到精通

Weight Decay是一个正则化技术,作用是**抑制模型的过拟合**,以此来提高模型的泛化性。 目前网上对于Weight Decay的讲解都比较泛,都是短短的几句话,但对于其原理、实现方式大多就没有讲解清楚,本文将会逐步解释weight decay机制。

iioSnail的博客 4万+

ESP32 物联网宠物喂食器:实现远程智能投喂的完整方案

本项目基于 ESP32 实现了智能宠物喂食器的核心功能,硬件结构简单、成本较低,软件支持远程控制和状态监测。添加摄像头:通过 ESP32-CAM 模块实时观察宠物进食情况。APP 集成:开发专属手机 APP,支持定时设置、报警推送、喂食记录查询。语音控制:结合 Alexa 或小爱同学,实现语音指令喂食。太阳能供电:户外使用时,通过太阳能板为设备供电,节能环保。

weixin_42300449的博客 1272

51单片机双机UART通信实战:从协议设计到Proteus仿真全解析

本文详细解析51单片机双机UART通信的全过程,涵盖协议设计、硬件电路搭建、软件实现及Proteus仿真技巧。通过实战案例展示如何利用UART串口实现稳定通信,包括握手协议设计、校验机制对比及常见问题解决方案,为开发者提供从基础到进阶的完整指导。

rum55的博客 235

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

51单片机项目应用中的Proteus元件映射指南

针对51单片机开发中的常见问题,详解Proteus元件库对照表的使用方法,帮助快速定位与实际元件对应的模型,提升仿真效率与项目调试准确性。

weixin_33431149的博客 1436

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STC51单片机串口ISP下载原理与实战指南

串口ISP(In-System Programming)是嵌入式开发中实现单片机在线烧录的关键技术,其本质依托UART异步通信协议与固化Bootloader协同工作。原理上,MCU上电瞬间由硬件Bootloader监听特定同步序列(如0x7F),通过TTL电平串行链路完成握手、擦除、编程与校验闭环。该技术显著降低硬件成本与操作复杂度,成为STC51系列区别于传统51单片机的核心优势。在教学与原型开发场景中,USB转TTL方案(如CH340G、CP2102N)因即插即用、免驱动、兼容主流操作系统而被广泛采用;

weixin_42230607的博客 269

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

51单片机开发环境搭建指南:Keil C51与STC-ISP配置详解

嵌入式系统开发通常从微控制器编程开始,其核心在于将高级语言代码转换为机器指令并写入硬件。这一过程依赖于编译器与烧录工具的协同工作,它们构成了开发环境的基础。Keil C51作为经典的集成开发环境,负责C语言代码的编辑、编译与调试,生成可执行的HEX文件。而STC-ISP作为专用的下载工具,则通过串口通信协议将程序烧录至单片机存储器,实现软件与硬件的连接。在环境搭建中,驱动安装、芯片型号匹配及冷启动流程是关键环节,直接影响开发效率与成功率。本文聚焦51单片机开发,详细解析Keil C51的安装、授权配置与工程

chutisun0039的博客 341

51单片机核心架构与开发实战:从原理到智能小车项目

微控制器是嵌入式系统的核心基础,它集成了CPU、存储器、I/O接口等关键部件,通过精简指令集和清晰架构实现对硬件的直接控制。其技术价值在于为开发者提供了从底层理解计算机运行原理的透明平台,尤其适合学习硬件交互、时序控制和中断处理等基础概念。在工程实践中,这种理解有助于高效驱动外设(如数码管、传感器)和构建稳定可靠的嵌入式应用,例如智能小车、环境监测设备等。本文聚焦于51单片机,通过分析其哈佛架构、特殊功能寄存器操作及最小系统设计,深入探讨了如何利用直接寄存器编程实现精准控制,并结合“智能小车”和“称重传感器

weixin_34116110的博客 409
上一篇: 8051单片机实战分析(以STC89C52RC为例) | 11 - 定时器中断的使用
下一篇: 一篇短文让你彻底理解什么是串口通信
嵌入式逍遥
嵌入式逍遥 领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
博客等级 码龄9年 7万+粉丝 237原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值