单片机(3)

一、UART 异步串口

基础概念

UART(串行异步收发器),用于单片机之间、单片机与PC的数据通信。异步:通信双方无共用时钟线,依靠约定波特率采样。

  • 引脚:TXD发送、RXD接收、GND共地。共地是通信稳定的前提
  • 接线:设备交叉相连,TX接对方RX;单片机连PC,需要CH340 USB转串口芯片。
  • 波特率:bps,每秒传输比特,常用9600、115200
  • 特性:串行传输、先发低位;全双工,收发可同时进行。

帧结构

1帧 = 起始位(1)+数据位(8)+可选校验位+停止位(1)

空闲总线高电平,起始位拉低通知接收方。

51单片机开发流程

发送

  1. 配置串口模式1(8位数据无校验)
  2. 配置SMOD倍乘位,定时器1做波特率发生器
  3. 定时器1设为8位自动重装,写入初值TH1
  4. 向SBUF写入数据,硬件自动发送
  5. 发送完成TI置1,必须软件手动清零

接收

  1. 模式1,开启接收允许REN
  2. 配置波特率、定时器1
  3. 开启串口中断,编写中断服务函数
  4. 收到数据RI置1,读取SBUF,手动清零RI

核心考点:TI、RI硬件置1,不会自动清除。

二、DS18B20 单总线温度传感器

单总线数字温度传感器,仅一根DQ信号线通信。

  • 测温范围:-55℃ ~ +125℃
  • 供电:1.3V~5.5V;12bit分辨率,一次转换最多750ms
  • 引脚:GND、DQ通信脚、VCC电源

存储结构

9字节暂存器,前2字节存放温度LSB、MSB,剩余字节为报警阈值、配置、CRC校验。读取温度只需要前两个字节。

时序要点

时序要求严格,微秒级延时影响通信成败

  1. 复位:主机拉低总线≥480us,释放后等待传感器应答脉冲
  2. 写时序:写0拉低60120us;写1拉低115us后释放
  3. 读时序:主机拉低总线≥1us,15us内读取引脚电平

常用指令与读取流程

指令: 0xCC 跳过ROM; 0x44 启动温度转换; 0xBE 读取暂存器

读取温度完整步骤:

复位 → 发0xCC → 发0x44,等待750ms → 再次复位 → 发0xCC → 发0xBE → 读取2字节温度,换算数值

三、总结

UART异步串口,依靠波特率、中断实现数据收发,TI/RI标志需要软件清零;DS18B20单总线器件,完全依靠严格时序驱动。二者分别代表异步串口、单总线两种典型通信模型,是I2C、SPI学习的基础。

相关推荐
创界工坊工作室2 小时前
55-基于STC89C52宠物智能饲喂控制系统设计
stm32·单片机·嵌入式硬件·51单片机·proteus·宠物
创界工坊工作室1 天前
50-基AT89C51的自动窗帘控制系统的设计
stm32·单片机·嵌入式硬件·51单片机·proteus
创界工坊工作室2 天前
56-基于STC89C52的智能声控饮水机设计
stm32·单片机·嵌入式硬件·51单片机·proteus
创界工坊工作室2 天前
58-基于51单片机的多自由度机械手控制系统设计
stm32·单片机·嵌入式硬件·51单片机·proteus
艾芯微科技3 天前
HR911130C|汉仁 HANRUN 集成变压器千兆 RJ45 网口参数、电路、PCB 布线、替代与采购避坑
网络·单片机·嵌入式硬件·集成测试·51单片机
创界工坊工作室3 天前
46-基于AT89C51脉冲式电表数据采集器设计
stm32·单片机·嵌入式硬件·51单片机·proteus
艾芯微科技3 天前
DMG2305UX-13|Diodes 20V/5A P 沟道 SOT-23 MOS 管参数、电路应用、替代与丝印避坑
网络·单片机·嵌入式硬件·集成测试·51单片机
笨笨饿3 天前
# 59_CSDN博客自动写流程文章
linux·jvm·stm32·单片机·嵌入式硬件·mcu·51单片机
HRTOS3 天前
8051 单片机 RTOS 开发的难点在哪里?从任务切换、中断管理到资源控制
单片机·51单片机·嵌入式·8051·hrtos
创界工坊工作室4 天前
54-基于STC89C52控制的智能运输小车设计
stm32·单片机·嵌入式硬件·51单片机·proteus