【51单片机】串口通讯从入门到精通:原理拆解 + 参数详解 + 51 单片机实战指南

🔥小龙报:个人主页

🎬作者简介:C++研发,嵌入式,机器人方向学习者

❄️个人专栏:《工科必装软件安装教程》《嵌入式的开端 ---- 51单片机》
永远相信美好的事情即将发生

文章目录

  • 前言
  • 一、什么是串口?它的作用?
    • [1.1 串行通讯](#1.1 串行通讯)
    • [1.2 并行通讯](#1.2 并行通讯)
    • [1.3 串并行通讯的特点与对比](#1.3 串并行通讯的特点与对比)
  • 二、串口的参数
    • [2.1 串行通信的基本方式](#2.1 串行通信的基本方式)
    • [2.2 串口电平标准​](#2.2 串口电平标准)
    • [2.3 串口数据结构](#2.3 串口数据结构)
    • [2.4 串口波特率](#2.4 串口波特率)
    • [2.5 串口校验位](#2.5 串口校验位)
      • [2.5.1 N 无校验](#2.5.1 N 无校验)
      • [2.5.2 O 奇校验](#2.5.2 O 奇校验)
      • [2.5.3 E 偶校验](#2.5.3 E 偶校验)
      • [2.5.4 固定校验](#2.5.4 固定校验)
    • [2.6 串口停止位](#2.6 串口停止位)
    • [2.7 空闲位​](#2.7 空闲位)
  • 总结与每日励志

前言

串口作为嵌入式开发中核心的通讯接口,凭借低成本、简线路、广适配的优势,成为设备间数据交互的关键载体。本文从串口本质与串并行通讯差异切入,系统拆解单/半/全双工模式、电平标准、数据帧结构等核心参数,详解波特率、校验位、停止位的配置逻辑,为51单片机串口编程、设备间远距离通信打下坚实基础,助力快速掌握串口通讯核心原理与应用要点。

一、什么是串口?它的作用?

串行口,简称为串口,什么是串口?它的作用是什么?​

两个人交流,一般通过在说话在空气中产生的声波传输,两台机器交流,我们可以模拟摩斯密码一样,其中一台机器通过IO发送对应频率高低电平的脉冲,另一台机器接收进行解析,但这种操作IO的方式需要我们考虑的问题很多,多快的频率,谁发谁收,丢失了一个脉冲怎么办等等,于是后面就有了规范这些交流的协议,简称为通讯协议,基于通讯方式的不同,也有了串行通讯和并行通讯两种通讯方式。​
串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。

1.1 串行通讯

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

1.2 并行通讯

并行通信通常是将数据字节的各位用多条数据线同时进行传送,通常是8位,16位,32位等数据一起传输

1.3 串并行通讯的特点与对比

串行通信的特点
优点传输线少,长距离传送时成本低,且可以利用电话网等现成的设备
缺点 :但数据的传送控制比并行通信复杂。​
并行通信的特点
优点控制简单,传输速度快;
缺点: 由于传输线较多,长距离传送时成本高且接收方的各位同时接受存在困难,抗干扰能力差。​

总结:

各有特点,现阶段绝大部分的通讯口都使用串口。​

二、串口的参数

2.1 串行通信的基本方式

(a.) 单工通信 :数据只能单方向传输。​

(b.) 半双工通信 :通信双方交替进行双向数据传输,但两个方向的传输不能同时进行。​

(c.) 全双工通信 :通信双方可同时进行数据收发的工作方式51单片机的串行口是全双工传输方式。

2.2 串口电平标准​

传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:​

TTL电平(transistor transistor logic ) : +3V~+5V 表示 1 , 0V 表示 0​

RS232 电平 : -3~-15V 表示 1 , +3~+15V 表示 0​

RS485 电平 :两线压差 +2~+6V 表示 1 , -2~-6V 表示 0 (差分信号)​

2.3 串口数据结构

一个完整的串行数据,也就是一个数据帧(Data frame),包括起始位、数据位、停止位、奇偶校验位 。数据位前后即帧头和帧尾,包含一些必要的控制信息。其中,MSB(Most Significant Bit)是指低地址存放最高有效字节LSB(Least Significant Bit)则是低地址存放最低有效字节(一般使用这个)

MSB与LSB:以20存储为例子

20 - > 0x14 -> 0b0001 0100​

MSB: 0010 1000​

LSB: 0001 0100

2.4 串口波特率

通俗解析就是,波特率越高,传输速度越快。​

常见的串口典型的"波特率"值是300/1200/2400/9600/19200/38400/115200 /230400等。​
串口通信速率,单位时间内传输二进制的位数(例波特率为9600,指1s内传输9600位,则传输一位需要1/9600=104.17us) ​

2.5 串口校验位

2.5.1 N 无校验

不加校验位,可以少传输一位数据

2.5.2 O 奇校验

要传输的数据中(不包含校验位)有奇数个'1' 则校验位为'0', 反之为'1'

例:数据'1111 000' 偶数个'1' 所以添加校验位为'1' 整体为'1111 0000 1'

2.5.3 E 偶校验

要传输的数据中(不包含校验位)有偶数个'1' 则校验位为'0', 反之为'1'

2.5.4 固定校验

M(Mark 标记、符合)检验位固定为1​

S(Space 空间、空地)校验位固定为0

2.6 串口停止位

停止位,停止位是一帧数据结束的标志,可以是1bit、1.5bit或者2bit逻辑"1" 高电平​
如果没有停止位,接收设备就无法知道何时一个数据包结束,从而无法正确地处理接收到的数据

2.7 空闲位​

空闲位不算是串口报文内的数据, 它是发送完一组报文后,总线会自动将电平拉高,产生1bit 逻辑"1"的空闲位​。

总结与每日励志

✨本文系统介绍了串口通讯的核心原理与应用要点。首先对比了串行与并行通讯的优缺点,指出串行通讯凭借低成本、简线路的优势成为主流。随后详细解析了单工、半双工和全双工三种工作模式,以及TTL、RS232等电平标准。重点阐述了串口数据帧结构,包括起始位、数据位、校验位和停止位的作用,并解释了波特率对传输速度的影响。最后说明了奇偶校验和空闲位的功能。文章为51单片机串口编程和设备间通信提供了理论基础,帮助开发者快速掌握串口通讯的关键技术参数与配置方法。

相关推荐
2023自学中2 小时前
imx6ull , 4.3寸800*480屏幕,触摸芯片型号 gt9147,显示触摸点的坐标数据
linux·嵌入式硬件
嵌入小生0072 小时前
数据结构与算法 | 完全二叉树的实现、哈希表的实现
linux·c语言·数据结构·算法·vim·嵌入式
小龙报2 小时前
【数据结构与算法】单链表的综合运用:1.合并两个有序链表 2.分割链表 3.环形链表的约瑟夫问题
c语言·开发语言·数据结构·c++·算法·leetcode·链表
仰望星空的凡人2 小时前
探秘MCU最小系统中的晶振部分是如何工作的?
单片机·嵌入式硬件
oneway_up2 小时前
C语言哈希表库uthash使用完全指南:从入门到高级应用
c语言·数据结构·哈希表
北京耐用通信2 小时前
耐达讯自动化Profinet转Devicenet网关:汽车制造产线的“协议桥梁”
人工智能·物联网·网络协议·自动化·制造·信息与通信
羽获飞2 小时前
从零开始学嵌入式之STM32——8.流水灯
stm32·单片机·嵌入式硬件
蓬荜生灰10 小时前
STM32(13)-- 位带操作
stm32·单片机·嵌入式硬件
珠海西格电力科技11 小时前
微电网系统架构设计:并网/孤岛双模式运行与控制策略
网络·人工智能·物联网·系统架构·云计算·智慧城市