本文主要是介绍【STC8A8K64S4A12开发板】— 单片机串行口知识点讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
版权声明:本文为博主原创文章,转载请附上原文出处链接。
文章目录
- 前言
- 一、关于通讯和通信的区别
- 二、关于串行通信和串口通信的区别
- 三、关于串行通信和并行通信的区别
- 四、关于单工通信、半双工通信和全双工通信
- 五、关于同步通信和异步通信
- 六、关于同步通信和异步通信的比
- 七、几种常见电平信号的区别
- 八、单片机串行口介绍
- 九、关于串口流控的介绍
- 十、关于单片机串行口的引脚
- 十一、关于单片机串行口的应用
- 十二、单片机串行口的应用
- 总结
前言
本次讲解STC8A8K64S4A12系列单片机串行口知识点。
一、关于通讯和通信的区别
目前,这两个词的使用频率相当高,但词义范围尚没有明确统一的界定。
关于通讯:“通讯”传统意义上主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的构成主要由电子设备系统和无线电系统构成,传输和处理的信号是模拟的。所以,“通讯”一词应特指采用电报、电话等媒体传输系统实现上述媒体信息传输的过程。
关于通信:“通信”仅指数据通信,即通过计算机网络系统和数据通信系统实现数据的端到端传输。通信的“信”指信息(Information),信息的载体是二进制的数据,是数字的。数据则是可以用来表达传统媒体形式的信息,如声音、图像、动画等。
由于旧的“通讯”系统早已实现了数字化、计算机网络化改造,因此可以认为目前的数据通信系统已涵盖了过去的“通讯”系统的功能。按照这个结论,目前应多使用“通信”一词表达互联网间与局域网内的数据传输,尽量少用或不用“通讯”一词,以免引起概念上的误解。
二、关于串行通信和串口通信的区别
通常我们会在各种文档描述中看到串行通信和串口通信的术语,虽然只有一字之差,但表示的含义却差别很大。
串行通信:
- 串行通信的含义:串行通信是一种概念,是相对并行通信而言的。串行通信指一比特一比特的收发数据,而并行通信可一次性收发多个比特的数据。
- 常见串行通信:UART,I2C,SPI等等。
串口通信:
- 串口通信的含义:串口通信是一种通信手段,是相对于以太网方式、红外方式、蓝牙方式等而言的。
- 常见串口通信:某种意义上而言,串口通信指的就是单片机或者说微处理器的UART串行口通信。
三、关于串行通信和并行通信的区别
串行通信和并行通信的概念:
- 串行通信:使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
- 并行通信:如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。
串行通信和并行通信优缺点对比:
- 传输速率:并行通信传输速率比串行通信传输速率快得多。
- 通信距离:并行通信不支持远距离通信,串行通信可支持远距离通信。
- 抗干扰性:串行通信抗干扰性比并行通信强,稳定性高。
- 通信成本:串口通信成本低,并行通信成本高。
下面给出串行通信和并行通信的示意图:
☆注:串行通信是先发送一个字节的低位,再发送一个字节的高位。
四、关于单工通信、半双工通信和全双工通信
单工通信:
- 概念:只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
- 举例:寻呼机。
半双工通信:
- 概念:允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。
- 举例:无线对讲机。
全双工通信:
- 概念:允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。
- 举例:电话机、手机。
五、关于同步通信和异步通信
同步通信:
- 概念:同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。
- 同步通信示意图如下。
异步通信:
- 概念:异步通信是一种很常用的通信方式。相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。
- 异步通信示意图如下。
六、关于同步通信和异步通信的比
对比同步通信和异步通信:
- 同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
- 同步通信的单位是帧,异步通信的单位是字符。
- 同步通信效率高,异步通信效率较低。
- 同步通信较复杂,通信的双方必须使用同一时钟;异步通信简单,双方时钟可允许一定误差。
- 同步通信可用于点对多点,异步通信只适用于点对点。
七、几种常见电平信号的区别
有几种电平信号大家常常听说,比如TTL电平、RS232电平和RS485电平等。下面介绍下三种电平之间的区别。
- 三种电平信号都是基于数字信号而言的,数字信号要么是逻辑“1”,要么是逻辑“0”。在表示逻辑“1”或逻辑“0”时会对应不同的电平值,而使用的是TTL电平、RS232电平还是RS485电平正是决定了这个不同的电平值。
- TTL( Transistor-Transistor Logic )电平信号:应用最广泛的电平信号,
高电平等价于逻辑“1”,低电平等价于逻辑“0”。一般规定输出高电平范围2.4V5V,输出低电平0V0.4V。 - RS232电平信号:低电平等价于逻辑“1”,高电平等价于逻辑“0”。一般规定输出高电平范围+3V+15V,输出低电平-15V-3V。
- RS485电平信号:低电平等价于逻辑“1”,高电平等价于逻辑“0”。一般规定输出高电平范围+2V+6V,输出低电平-6V-2V 。
八、单片机串行口介绍
单片机串行口:串行口是单片机的最基本外设之一,不同型号单片机所带串行口并不一致,比如多数51单片机所带串行口是UART,没有USART。STM32所带串行口有UART,也有USART。具体根据所选单片机型号而定。
下面介绍UART和USART的概念。
- UART(全称是Universal Asynchronous Receiver and Transmitter) :通用异步收发器。
- USART(全称是Universal Synchronous Asynchronous Receiver and Transmitter):通用同步异步收发器。
USART和UART的区别:
- UART只能用于异步串行通信, USART既可以用于同步串行通信,也能用于异步串行通信。
- 当USART用于异步串行通信时,和UART 没有区别。
九、关于串口流控的介绍
串口流控:提供了由于某种原因不能进行通信时阻塞通信的一种机制。
串口流控分类:实现串口流控可采用硬件流控和软件流控两种方式。
- 硬件流控:使用串行电缆控制线上的电压信号来控制数据的发送和接收。硬件流控有两种方式:DTR/DSR方式和RTS/CTS方式。
- 软件流控:使用数据流中的两个特殊的字符,XOFF和XON,来控制数据的接收和发送。
注意事项:
- 软件流控一般是在串行口没有硬件流控的条件下而使用的。换句话说,如果串口有硬件流控,是不会使用软件流控的。
- 一般单片机串行口如果有硬件流控引脚的话,常见的配置是除了有串行口必要的RXD和TXD引脚外,还有RTS和CTS 两个信号引脚。
十、关于单片机串行口的引脚
单片机通常会有多组串行口可供使用,而针对一组串行口可能会因其是否有硬件流控、是否有同步功能而有不同的引脚数:
- 不带硬件流控的UART接口。
序号 | 引脚名 | 功能描述 |
---|---|---|
1 | UART_RX | 串口接收 |
2 | UART_TX | 串口发送 |
- 不带硬件流控的USART接口。
序号 | 引脚名 | 功能描述 |
---|---|---|
1 | USUART_RX | 串口接收 |
2 | USUART_TX | 串口发送 |
3 | USUART_CK | 串口同步时钟线 |
☆注:带硬件流控单片机串行口USART会有上面5个引脚,实际使用时如果用不到串口流控,可将USART_RTS和USART_CTS作为普通IO口使用。如果不用串口同步通信,可将USART_CK作为普通IO口使用。换句话说,该USART串行口可只使用USART_RX和USART_TX两个引脚进行串口异步通信。
- 带硬件流控的UART接口。
序号 | 引脚名 | 功能描述 |
---|---|---|
1 | USUART_RX | 串口接收 |
2 | USUART_TX | 串口发送 |
3 | USUART_RTS | 串口硬件流控RTS |
4 | USUART_CTS | 串口硬件流控CTS |
☆注:带硬件流控单片机串行口UART会有上面4个引脚,实际使用时如果用不到串口流控,可只使用UART_RX和UART_TX两个引脚。此时,UART_RTS和UART_CTS可作为普通IO口使用。
- 带硬件流控的USART接口。
序号 | 引脚名 | 功能描述 |
---|---|---|
1 | USUART_RX | 串口接收 |
2 | USUART_TX | 串口发送 |
3 | USUART_CK | 串口同步时钟线 |
4 | USUART_RTS | 串口硬件流控RTS |
5 | USUART_CTS | 串口硬件流控CTS |
☆注:带硬件流控单片机串行口USART会有上面5个引脚,实际使用时如果用不到串口流控,可将USART_RTS和USART_CTS作为普通IO口使用。如果不用串口同步通信,可将USART_CK作为普通IO口使用。换句话说,该USART串行口可只使用USART_RX和USART_TX两个引脚进行串口异步通信。
十一、关于单片机串行口的应用
串行口的常见应用:
- 单片机串行口外接RS232芯片(MAX232/SP3232等)可扩展为RS232接口。
- 单片机串行口外接RS485芯片(MAX485/SP485等) 可扩展为RS485接口。
- 单片机串行口外接USB转串口芯片(CH340等)可扩展为USB接口。
- 单片机串行口外接TTL电平的相应功能模块则就具有了模块的功能,如HC-08蓝牙串口模块则单片机可实现蓝牙BLE通信,如外接WiFi模块ESP8266则单片机可实现无线WiFi通信,如外接PM2.5的模块,则单片机可实现对环境PM2.5的采集。
- 以上是单片机串行口的最常见应用,基础而实用,大家务必学好单片机串行口的硬件和软件设计。
十二、单片机串行口的应用
总结
以上就是今天要讲的内容!这篇关于【STC8A8K64S4A12开发板】— 单片机串行口知识点讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!