51单片机--通信/串口

通信协议

UART(异步)、I2C(同步)、SPI(同步)、ADC、GPIO


UART**:Univesal Async Recvie Transmit,通用异步收发器,可以实现与外界设备进行异步**
通信****全双工、串行、异步

通信方式

单工通信


(1)数据的发送方和接收方是固定的
(2)数据传输是通过一根信号线完成,数据传输的方向是单一的

半双工通信(I2C)


(1)通信双方既可以作为数据的发送方,也可以作为数据的接收方
(2)数据传输是通过一根信号线完成,数据传输的方向可以是双向的
(3)在同一时刻,数据传输只能是单向的

全双工通信


(1)通信双方即可以作为数据的发送方,也可以作为数据的接收发
(2)数据传输是通过两根信号线完成,数据传输的方向是双向的

数据传输

传输顺序

LSB先行原则,先发送数据低位

传输形式

串行传输:通过一根信号线传输数据,按照先后次序逐个bit逐个bit发送数据

并行传输:通过多根信号线同时去传输数据

传输特点

串行:
(1)传输速率慢
(2)硬件成本低,实现简单
(3)传输距离远,抗干扰性好(RS485 1200米 双绞线)
并行:
(1)传输速率快
(2)硬件成本高,实现复杂
(3)传输距离近,抗干扰性差(30米以内)

串口通信

串口通信时序

  1. 先发送一个bit的低电平,代表起始位
  2. 再发送8个bit的数据位(先发送数据低位,再发送高位)
  3. 发送一个bit的校验位(奇偶校验 高电平 奇校验 低电平 偶校验)
  4. 发送一个bit的电平,代表停止位,表示串口通信结束

奇偶校验

奇校验:校验位是'1',用数据位中'1'的个数加上校验位的'1',如果'1'的个数是奇数个,代表奇校验通过

偶校验:校验位是'0',用数据位中的'1'的个数加上校验位的'0',如果的'1'的个数是偶数, 代表偶校验通过

通信参数

波特率:bps(bit per second),每秒钟传输bit的数量,常见的波特率:2400,4800, 9600,115200

数据位: 8,串口传输通常8bit数据位传输

停止位: 1,1bit停止位

校验位: None,N,无校验 Even,E,偶校验 Odd,O,奇校验

通信方式

同步: 通信的双方有一根共享的时钟线来约定通信的频率(同步发送数据/接收数据)
SCL:时钟线 SDA:数据线

异步: 通信双方没有时钟线进行同步,如uart可以通过设置波特率来实现同步(发2400bps 收:2400bps)
CH340:电平转换芯片,将串口电平(TTL电平)转换为USB电平
TTL电平:高电平(1): 3.3V 5V 低电平(0):0V
RS232电平(负逻辑):高电平(1):-3V - -15V 低电平(0):3V - 15V MAX232芯片
RS485电平(差分):高电平(1):2V - 6V 低电平(0) :-6V - -2V

寄存器配置

串口寄存器

SCON
PCON

串口初始化

相关推荐
炸膛坦客6 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
笨笨饿7 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
hahaha60169 小时前
色彩恒常性概述
人工智能·嵌入式硬件·数码相机·计算机视觉
我叫洋洋9 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路
hahaha601610 小时前
Shades-of-Gray (SoG) 算法--白平衡算法
人工智能·嵌入式硬件·算法·计算机视觉
ebiobiz11 小时前
极海 APM32 使用 Nimmake 编译指南
c++·python·单片机·嵌入式硬件·mcu
小神兵12 小时前
对电压源与电流源的的简单理解
单片机·嵌入式硬件·物联网
comyccccc13 小时前
三极管与MOS管工作原理全解析学习笔记
单片机·嵌入式硬件
FPGA小徐14 小时前
运放电路:负载必须接地时,如何做电流采样(浮地负载 vs 接地负载)
单片机·嵌入式硬件
木白CPP14 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件