前言
大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁
主要内容含:
欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!
- YY的《C++》专栏
- YY的《C++11》专栏
- YY的《Linux》专栏
- YY的《数据结构》专栏
- YY的《C语言基础》专栏
- YY的《初学者易错点》专栏
- YY的《小小知识点》专栏
- YY的《单片机期末速过》专栏
- YY的《C++期末速过》专栏
- YY的《单片机》专栏
- YY的《STM32》专栏
- YY的《数据库》专栏
- YY的《数据库原理》专栏
目录
- 一.串口介绍基本概念
- 1.串口基本概念
- 2.串口接口及其引脚+区分串口与VGA(视频传输)
- 3.单片机中的【USB和串口相互转换模块】
- 4.电脑端利用【串口助手】帮助我们收发数据&显示
- 二.串口的连接
- 1.串口连接的硬件电路注意事项:发送端对输出端(交叉)
- 2.VCC是独立供电的,如果两个设备都有独立电源,则二者可以不接
- 三.电平标准
- 1.电平标准简述
- 2.单片机和串口不能直接相连的原因:二者电平协议不同
- 四.串口的【数据流控制】
- 五.专业术语:通信方式&同步异步&总线&通信接口&串口参数相关
- 1.全双工,半双工,单工
- 2.同步,异步
- 3.总线的通俗理解
- 4.常见通信接口比较一览
- 5.串口参数相关:比特率&波特率&校验位&停止位&奇偶校验
- ※【奇偶校验原理与规则】
- 6.通信方式:串行通信&并行通信
- 六.51单片机的UART
- 1.UART基本介绍(常用模式一)
- 2.UART的接口问题
- 七.串口模式图&串行口相关寄存器
- 八.串口和中断系统配合
一.串口介绍基本概念
1.串口基本概念
- 串口主要是用于 传输数据
- 下图中红色是USB转串口,接上后可以把计算机当作一个串口设备
- 下图中橙色是陀螺仪,它测得的数据可以通过串口发送给我们
- 下图中绿色是蓝牙接收器,可以实现蓝牙功能:手机和单片机通信
2.串口接口及其引脚+区分串口与VGA(视频传输)
- 串口使用的电压最大可达15v, 不可直接接到电脑/单片机上
- 区分串口与VGA(视频传输)
- VGA接口有三排十五针,接口很像
3.单片机中的【USB和串口相互转换模块】
- 经过该模块转换以后,USB会连着电脑,在电脑上也能对串口进行操作
4.电脑端利用【串口助手】帮助我们收发数据&显示
- 电脑接收数据: 串口助手
- 注意事项: 串口和串口号要保持一致
二.串口的连接
1.串口连接的硬件电路注意事项:发送端对输出端(交叉)
- TXD:发送端(transmit exchange data)
- RXD:输出端(receive exchange data)
2.VCC是独立供电的,如果两个设备都有独立电源,则二者可以不接
- 我们观察串口的硬件电路: 三个线是必须的 ,两个通信的TXDRXD,一个接地GND;
- VCC要视情况而定:VCC是独立供电的,如果两个设备都有独立电源,则二者可以不接
三.电平标准
1.电平标准简述
- 人为定义的关于1,0表示方式的协议
- TTL 和 RS232都是对地电平(0),RS485是两线压差
2.单片机和串口不能直接相连的原因:二者电平协议不同
- 单片机:ttl电平标准
- 串口:re232电平标准
- 串口使用的电压最大可达15v, 不可直接接到电脑/单片机上 ,可能会造成损坏
四.串口的【数据流控制】
- 简单的串口通信一般用到四根线,但是我们发现串口不止四根线,是因为剩余的接口一般用于流控制
- 数据流控制:调整发送和接收速率的问题
- 数据流控制原因:有时候发送速度太快数据量太大,接收端受不了。
- 51单片机不支持流控制 ,因此我们了解即可
五.专业术语:通信方式&同步异步&总线&通信接口&串口参数相关
1.全双工,半双工,单工
- 全双工:通信双方可以在同一时刻互相传输数据
- 半双工:通信双方可以互相传输数据,但必须分时复用一根数据线
- 单工:通信只能有一方发送到另一方,不能反向传输
2.同步,异步
- 异步:通信双方各自约定通信速率(多个任务可以相互独立地执行,其中一个任务不需要等待另一个任务的完成才能开始执行自己的操作)
- 同步:通信双方 靠一根时钟线 来约定通信速率(同步意味着多个任务或操作必须按照一定的顺序执行)
- 因此同步的通信接口 都有时钟线SCL,异步的不带
3.总线的通俗理解
- 总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流
- 总线连接多个设备;
- 有需要交互的设备挂在中线上,之间就可以相互通信
4.常见通信接口比较一览
5.串口参数相关:比特率&波特率&校验位&停止位&奇偶校验
- 串口通信是异步通信,没有时钟线
- 区分比特率和波特率: 比特率对象是传多少 位 ,波特率对象是 数据帧
- 校验位
- 如下图串口助手所示: 校验分为奇校验和偶校验 (常见)和 0,1校验
- 停止位:数据发送完,有个后摇
※【奇偶校验原理与规则】
- 规则总结:
- 利用奇/偶校验,保证数据中1的个数为奇/偶;
- 8位数据+1位校验位校验位
- 偶校验:保证数据个数为偶数,检验位补0/1
- 奇校验:保证数据个数为奇数,检验位补0/1
- 例如:奇校验,数据中有2个1,2是偶数,校验位补1,保证它是奇数个1
- 计算接收到的数据中,1的奇/偶和我们采用的奇/偶校验方式是否一致,来保证数据接受正确与否
- 举例演示
- 我们需要的数据排列是:0000 0011,我们如何来检验它正确?
- 利用奇校验
- 我们给他补上一个校验位(8->9位),我们原来的数据中有2(偶数)个1,所以补上1,保证数据为奇数;最终数据为0000 0011 1,现在我们数据中有奇数个1
- 串口接收到数据后,数据为0000 0011 1,其中1的个数为奇数,1的奇偶和我们采用的奇校验方式一致,则表示它正确(一定程度)
- 偶检验同理
6.通信方式:串行通信&并行通信
- 串行通信: 一位一位 地发送数据,先发送低位再发送高位
例如:数据0000 0011,先发送低位1- 并行通信:是指 多比特数据 同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错
六.51单片机的UART
1.UART基本介绍(常用模式一)
- 分为四个模式,我们常用模式一
2.UART的接口问题
- 如图所示,我们发现P3.0和P3.1与RxD,TxD是复用
- 如何区分这个口什么时候是IO口,什么时候是串口?
- 不用管,它会通过操作 自动识别
- 串口是集成在单片机内部的,只要有单片机我们就可以通信
七.串口模式图&串行口相关寄存器
- 串口通信无论接收还是发送,完成以后都会进入经过 缓存SUBF
- 串口靠 定时器 来约定 速率
- 进行简单的串口操作,我们主要关注以下寄存器的某些位即可
- SCON:串口控制寄存器,属于特殊功能寄存器, 控制电路如何运转(开关如何拨动)
- PCON:特殊->电源控制寄存器的 前两位 与串口相关
- 剩余控制器就是和中断相关的了,下方是传送门
- 【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)
八.串口和中断系统配合
- 串口通信无论接收还是发送,完成以后都会进入中断
- 也就是让RI 和TI 来控制是什么中断(接收/发送中断)以及是否进入中断程序