UART通用异步收发器与其中断

首先来了解一下什么是UART

UART(通用异步收发器)

UART = Universal Asynchronous Receiver/Transmitter(通用异步收发器)

  • 单片机 / 芯片内部的硬件模块(比如 51 单片机的 UART 模块),也指对应的物理接口(如 TXD/RXD 引脚)

作用:

  • 把单片机内部的并行数据(如 8 位字节)转换成串行数据流(逐位发送),或把接收的串行数据还原成并行数据

UART 也有着一套自己的通信协议规范:

单片机通信协议:

常见通信协议:

  • UART
  • I2C
  • SPI
  • USB
  • CAN

了解一下常见通信的几种类型

1.UART收发信息接口:

P31:RXD :数据接收信号线

P32:TXD:数据发送信号线

  • 通信时两者必须插接,不能发送接发送

2.UART协议内容:

uart只需要TXD 与 RXD两个引脚就可以实现

除了UART异步串行通信协议之外,还有另一种更加复杂的通信协议:

SPI通信协议:

必须四个接口:

SCK Serial Clock 时钟线(主设备产生,同步收发节奏)

MOSI Master Out Slave In 主发从收(主设备→从设备的数据)

MISO Master In Slave Out 主收从发(从设备→主设备的数据)

CS/SS Chip Select/Slave Select 片选线(主设备选通某一个从设备)

UART收发过程:

TXD与RXD在通信时必须岔接

数据发送方式:

  • 串行:通过一根信号线线逐个BIT发送数据
  • 并行:通过多根信号线同时发送数据

类比两种方式:

1.并行:

  1. 传输速度快
  2. 硬件效率高
  3. 传输距离近,只能三十米之内传输

2.串行:

  1. 传输速度慢
  2. 硬件成本低,实现简单
  3. 传输距离远,最远可达到3000米

电平标准:

1.TTL标准:

高电平5V,低电平0V->0.4V

  • 适用于板间通信,传输距离较近

2.RS232标准:

负逻辑,高电平 -3V -> -15V , 低电平 3V -> 15 V

当单片机需要和PC端进行通信时,可以利用MAX232电平转换芯片, 将TTL电平转化位RS232电平

3.RS485标准:

差分信号:

A-B > 2V

A-B < -2V

高电平: 2V- 6V

低电平:-6V- 2V

也可以利用CH340电平转换芯片,将TTL电平转化为USB电平

UART通信时,数据遵循以下格式:

1.首先我们来了解一下校验类型:

奇校验:

校验位为 1 ,如果数据位中的1的个数加上校验位的的1保持 1 的总数为奇数个,则代表奇校验通过

数据发送过程中数据的高低电平可能受到干扰

偶校验:

校验位为 0 ,如果数据位中的1的个数加上校验位的的1保持 1 的总数为偶数个,则代表偶校验通过

无校验

累加和校验:

串口通信基本参数:

例:9600 8 N 1

1.波特率:bits per second

bps 每秒传输bit数量

2.数据位: 8位数据位

3.校验位:

N:NONE 无校验

O:ODD 无校验

E: EVEN 偶校验

4.停止位:

2.通信频率:

同步通信:通信双方通过一根共享的时钟信号线规定数据传输的频率

SCL时钟线:

引脚高电平时才可以发送数据,低电平时不可以发送数据

异步通信:

通信双方没有共享时钟线规定数据传输频率,利用波特率实现类似同步的效果

3.SBUF接收发送缓存区

定时器1:

常用于串口波特率的设置

当定时器1作为波特率产生时,溢出不发生中断

串口通信初始化:

在UART协议的基础上,还有一种数据发送协议 MODBUS协议:

主句下发MODBUS协议格式指令,从机接收指令并解析,完成对应功能后给主机回复应答

从机->主机:

相关推荐
Hello World . .4 小时前
51单片机基础外设:中断、定时器/计数器(PWM控制蜂鸣器、电机)
单片机·嵌入式硬件·51单片机
不想起床&6 小时前
51单片机
单片机·嵌入式硬件·51单片机
项目題供诗6 小时前
51单片机入门-温度传感器DS18B20(十三)
单片机·嵌入式硬件·51单片机
小白学电子_18 小时前
proteus仿真51单片机通过矩阵按键和数码管制作简单计算器
嵌入式硬件·51单片机·proteus
电子工程师成长日记-C5120 小时前
51单片机4乘4计算器
单片机·嵌入式硬件·51单片机
熬夜有啥好1 天前
51单片机(1)
单片机·嵌入式硬件·51单片机
senijusene1 天前
通信概念,51UART的使用,以及MODBUS的简单应用
c语言·开发语言·单片机·51单片机
是翔仔呐1 天前
C语言从黑框框到控硬件!51单片机零基础保姆式全系列教程 开篇前言+全书总览
c语言·开发语言·单片机·嵌入式硬件·gitee·51单片机
Hello World . .1 天前
51单片机基础
单片机·嵌入式硬件·51单片机