前言:
本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。
引用:
51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili
c51语言变量语句意思,C51中循环语句-CSDN博客
串口引用:
正文:
0. 🌿概述
在淘宝上购买了江协科技51单片机开发板套件(普中科技STC51单片机A2型号),就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。
1. 🚀51单片机串口
🌵串口是一种应用十分广泛的通信接口,串口成本低,容易使用,通信线路简单,可以实现两个是被的互相通信。
🌵单片机的串口可以使单片机与单品阿吉,单片机与电脑,单片机与各式各样的模块相互通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。
🌵51单片机内部自带 UART(Universal Aysnchronous Reciver Transmitter,异步收发器),可以实现单片机的串口通信。
⚠️注意DB9串口和单片机的使用的电平信号和TTL是不一样的,DB9串口的电压可以高达15V,如果将DB9串口直接和单片机TTL 串口互相连接,轻则烧坏单片机重则烧坏电脑主板,一定需要注意DB9串口的电压和单片机TTL UART串口的电平电气特性。
串口的硬件电路,串口通信接口有4个通信引脚
VCC | 电源 |
TXD | 接收端 |
RXD | 发送端 |
GND | 地 |
⚠️当电平标准不一致时,需要加转换芯片。
串口的电平标准
🦖电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有以下三种:
- TTL电平,+5V表示1,0V表示0
- RS232电平,-3V~-15V表示1,+3V~+15V表示0
- RS485电平,两线压法+2V~+6V表示1,-2V~-6V表示0(差分信号)😳
但是,🥺什么是差分信号呢?
9针串口引脚的定义
常见通信方式的比较
名称 | 引脚定义 | 通信方式 | 特点 |
UART | TXD,RXD | 全双工,异步 | 点对点通信 |
I2C | SCL,SDA | 半双工,同步 | 可挂载多个设备 |
SPI | SCLK,MOSI,MISO,CS | 全双工,同步 | 可挂载多个设备 |
1-Wire | DQ | 半双工,异步 | 可挂载多个设备 |
除此之外常见的通信方式还有 CAN,USB 灯通信方式。
2. 🚀常见的通信术语
全双工:
半双工:
单工:
异步:同步:
总线:
3. 🚀51单片机里的UART串口
51单片机里的UART串口
- STC89C52单片机里只有一个UART
- STC89C52的UART有四种工作模式
模式0:
模式1: (常用)
模式2:
模式3:
普中科技C51单片机A2开发板电路原理图中UART的电路接法如下,
可以看到CH340的TXD、RXD和单片机CPU的 TXD,RXD是交叉连接的。
4. 🚀串口的参数及时序图
串口的参数及时序图
波特率 | 串口通信速率(发送和接收数据位的间隔时间) |
校验位 | 用户数据校验 |
停止位 | 用于数据帧间隔 |
奇偶校验
奇校验 | 检查前面数据里1的个数,如果前面数据里1的个数是偶数,就将校验位置1,表示数据中1的个数为奇数个。 |
偶校验 | 检查前面数据里1的个数,如果前面数据里1的个数是奇数,就将校验位置1,表示数据中1的个数为偶数个。 |
C51单片机内部串口功能图
- 😎通过控制 T1 定时器来控制串口UART的波特率。
- 😎串口的波特率可以通过 2分频+16分频,或者直接16分频。
- 😎SBUF:串口缓存寄存器,物理上是两个独立的寄存器,但占用相同的地址,写操作时,写入的是发送寄存器,读操作时,读取的是接收寄存器。
5. 🚀串口相关寄存器和中断
串口相关寄存器和中断,51单片机串口UART串口部分中断进入到单片机内部中断模块,框图如下
😎使用串口还需要使用定时器T1
51单片机和串口相关的寄存器