大家好,欢迎来到IT知识分享网。
文章目录
1. 串口
1.1 串口概述
串口(serial)是一种通讯接口,可以用于两个设备间的数据传输
1.2 串口相关概念
以下简单对串口通信中的某些概念进行解释:
1.3 UART
- TXD和RXD需要交叉连接,即TXD与RXD相接,因为一个设备发送数据,另一个设备必然接收数据
- 当数据只需单向传输时,可只使用一根数据线
- 当两个设备的电平标准不同时,必须使用电平转换芯片
电平标准:传输线缆中规定的电压与二进制数字0、1的对应关系。最常见的电平标准,如TTL电平,5V为1,0V为0
1.4 STC89C52串口
1.4.1 串口相关寄存器
SCON:串行控制寄存器,用于配置串口通信的模式和某些功能
- SMO和SM1:这两位用于配置串口的工作模式。UART串口有四种工作模式,通常我们采用方式1
- SM2、TB8、RB8:这三位此处不作太多介绍,在工作模式1下,正常情况置0即可,详情见下表:
- REN:REN可以理解为 receive enable,即“使接收”,将此位赋值为1,则允许串口接收数据;将此位赋值为0,则禁止串口接收数据。REN均需软件置位,硬件无法自动置位。
- TI和RI:TI是发送中断请求标志位,RI则是接收中断请求标志位。TI在数据第8位发送结束时(停止位开始发送时),由硬件自动置1,并发送中断请求,在中断响应后,需通过软件复位为0;RI与TI类似,只不过是在数据第8位接收结束时(停止位接收的中间时刻)
PCON:电源控制寄存器
此处仅介绍SMOD,其它位置0即可。
SMOD:此位为波特率选择位。当置为1时,工作模式1、2、3的波特率均加倍;当置为0时,所有工作模式的波特率均不加倍。复位时,由硬件自动置为0。
1.4.2 串口模式图
发送控制器TI和接收控制器RI分别对发送数据和接收数据的过程进行控制,控制波特率,即 通信速率的同时,又在合适时间进行中断。
配置串口的同时,还需配置定时器1,因为单片机中的串口采用定时器1为其波特率发生器,即通过定时器1来配置相应波特率。
注意,在串口中配置定时器1时,需采用工作模式2,即8位自动重载模式,且定时器1此时仅用作波特率发生器,故不需作相应中断的配置。
1.5 串口配置简单代码示例
1.5.1 UART串口初始化
1.5.2 串口中断函数模板
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122306.html