51单片机基础day3

1.UART

通用异步收发器,2个串口(1个串口被用于ISP下载程序,1个串口被用于和主机之间的通信),RXD(接收信号线)TXD(发送信号线)

1.1 硬件通信形式

单工:

  • 发送方和接收方是固定的

  • 通过一根信号线进行数据传输

  • 数据传输的方向呈现单一性
    半双工(I2C)

  • 通信的双方既可以作为发送方又可以作为接收方

  • 通过一根信号线进行数据传输

  • 数据传输的方向可以是双向,但同一时刻数据传输方向呈现单一性
    全双工(UART)

  • 通信的双方既可以作为发送方又可以作为接收方

  • 通过两根信号线进行数据传输

  • 数据传输的方向任意时刻都是双向

1.2 数据传输的顺序

Uart在传输数据时,遵循LSB优先原则(低位先行),先发低位数据

1.3 数据传输的形式

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

特点:

  • 硬件成本低,实现简单
  • 传输速率慢
  • 传输距离远,抗干扰性好(RS485)
    并行:同时多根信号线同时去传输数据

特点:

  • 传输速度快
  • 硬件成本高,实现复杂
  • 传输距离近,抗干扰弱
  • 30米以内(并行线路间信号偏移)
  • 电磁波干扰

1.4 串口通信时序

  • 串口通信时,空闲状态为高电平
  • 当由高电平变为低电平(发送一个低电平信号),代表发送了一个起始位,准备开始通信
  • 发送数据(通常是8bit,遵循先发数据低位LSB原则)
  • 再发送一个bit的校验位(奇偶校验)
  • 再发送一个bit的停止位

数据位:

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

停止位:

  • 1,1bit停止位

校验位:

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

1.5 奇偶校验

  • 问题:无法检测偶数个bit出错
  • 奇校验:校验位为1,若数据位中1的个数加上校验位中的1,保持"1的个数为奇数个,则代表校验通过
  • 偶校验:校验位为0,若数据位中1的个数加上校验位中的0,保持1的个数为偶数个,则代表校验通过

1.6 波特率

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

**9600, 8, N, 1:**9600bps, 8数据位, N校验位, 1停止位

1.7 同步通信、异步通信

I2CUARTSPI同步?异步?(时钟线)

I2C:SCL时钟线

SPI:SCLK时钟线

UART:无时钟线异步

  • 同步:通信的双方有一根共享的时钟线来约定通信的频率(同步发送数据/接收数据)
  • 异步:通信双方没有时钟线进行同步,如Uart:可以通过设置波特率来实现同步(发:2400bps 收:2400bps)

1.8 串口寄存器配置

串口的波特率发生器依赖于定时器1(Timer1)
SCON/PCON串口控制寄存器:

PCON寄存器中的bit6置0代表通过SCON寄存器中SM0和SM1两位指定串口工作方式:

  • 将SCON寄存器中的bit6和bit7清0
  • 将SCON寄存器中的SM1bit6置1,SM0bit7清0,代表串口工作8位UART模式
  • 将SCON寄存器中REN bit4置1,代表允许串口接收数据
  • SCON寄存器中bit1TI位,代表串口8位数据发送完毕硬件自动置1,但需要软件清0(查询)
  • SCON寄存器bitORI位,代表串口8位数据接收完毕硬件自动置1,但需要软件清0(查询)
  • PCON寄存器SMODbit7位置1,代表波特率加倍
    定时器相关寄存器配置

TMOD定时器模式选择寄存器:

  • 将TMOD寄存器中的高四位清0(定时器1)
  • 将TMOD寄存器中的bit5置1,bit4清0,代表定时器1工作在8位自动重装载模式
  • 将定时器初值写入到TL1和TH1
  • 将TCON寄存器中的bit6置1,代表允许定时器1开始计数
    中断寄存器相关配置

IE中断控制寄存器:

  • 将IE寄存器中的bit7 EA位置1,代表CPU能够响应所有中断
  • 将IE寄存器中的bit4 ES位置1,代表允许串口产生中断

1.9 主从应答

  • 主机:拥有对通信绝对控制权,通信都是由主机发起
  • 从机:无法直接发起通信,只能根据主机下发的指令完成对应操作
相关推荐
广州灵眸科技有限公司3 小时前
瑞芯微(EASY EAI)RV1126B 核心板供电电路
linux·运维·服务器·单片机·嵌入式硬件·电脑
浩浩测试一下4 小时前
汇编 16位32位64位通用寄存器(逆向分析)
汇编·windows·stm32·单片机·嵌入式硬件·逆向·二进制
潜创微科技6 小时前
IT68353:双 DP1.4a+HDMI2.0 转 HDMI2.0 单芯片 KVM 切换方案
嵌入式硬件·音视频
踏着七彩祥云的小丑7 小时前
嵌入式测试学习第 17 天:常见接口:USB、Type-C、排针
单片机·嵌入式硬件
szxinmai主板定制专家8 小时前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
振南的单片机世界9 小时前
EXTI边沿触发:按键一按就通知CPU,不用轮询
stm32·单片机·嵌入式硬件
jllllyuz9 小时前
STM32 BMP280 I2C通信驱动程序
stm32·单片机·嵌入式硬件
优信电子9 小时前
基于STM32F103C8T6单片机驱动ACS712模块进行电流检测
stm32·单片机·嵌入式硬件·嵌入式·电流检测·acs712·电流采集
崇山峻岭之间10 小时前
单片机外部中断实验
单片机·嵌入式硬件
chipsense10 小时前
工业UPS电流传感器选型实战指南:AS1V系列如何应对工业配电特殊挑战
单片机·嵌入式硬件·ups·电流传感器