51单片机基础9——串口中断

串口中断的使用

1. 软硬件条件

  • 单片机型号:STC89C52RC
  • 开发环境:KEIL4
  • 烧录软件以串口测试软件:stc-isp

2. 串口

2.1 串口的原理

串口即串行通信接口,大多数时称为COM口。数据在数据链路上只能一位一位发送,需要一对传输线才能实现全双工通信,即在接收的同时可以发送。

2.2 异步串行通信接口(UART)

异步串行是指UART(Universal Asynchronous Receiver/Transmitter)通用异步接收/发送。UART包含TTL电平的 串口和 RS232电平的串口。

2.2.1 RS232电平

逻辑"1"为 -3 ~ -15V的电压,,逻辑"0"为 3 ~ 15V的电压 。

2.2.2 TTL 电平

TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是计算机处理器控制的设备,内部各部分之间通信的标准技术。TTL电平信号应用广泛,是因为其数据表示采用二进制规定。

​ +5V等价于逻辑”1”,0V等价于逻辑”0”。

​ 数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:

  • 输出高电平>=2.4V,输出低电平<=0.4V
  • 输入高电平>=2.0V,输入低电平<=0.8V

3. 串口通信

3.1 接线要求

在这里插入图片描述
交叉接线,即RxD to TxD,TxD to RxD。其中,RXD:数据输入引脚,数据接受,STC89系列对应P3.0口;TXD:数据发送引脚,数据发送;STC89系列对应P3.1口。

3.2 单片机中串口通信原理

​ 在单片机中集成对应寄存器做为缓冲区SBUF,输入输出数据均会先存放于这里,这里配置两个寄存器,分别控制输入输出,但是他们共用一个地址码H99

  • 接收数据:char mes = SBUF;
  • 发送数据:SBUF = mes;

在这里插入图片描述
​ 其中异步串行接口,采用异步方式以防止两个设备之间速率不匹配的问题,但是需要实现约定波特率,一般单片机波特率为9600。

3.3 串口中断相关寄存器

在这里插入图片描述

3.3.1 SCON 串口控制寄存器(可位寻址)

在这里插入图片描述
控制串口工作模式,以及控制串口通信的接收和发送中断、波特率倍速等等。

  • SM0,SM1寄存器:控制串口工作模式
  • REM:接收使能寄存器,为1 允许接受串口数据;为 0 时,不接收串口数据。
  • TI:数据传输中断标志位,发送数据时由硬件置1,需要软件置0
  • RI:数据接收中断标志位,接收数据时由硬件置1,需要软件置0
  • SM0/FE:在PCON.6 也就是SMOD0 = 1时,用于检测帧错误,需要软件置0。

​工作方式:方式0、2波特率不能改变;方式1、3波特率可以自己设置。
​一般采用定时器1,8位自动重装机制,设置波特率为9600时,TH1= 0xFD。

在这里插入图片描述

3.3.2 PCON(不可位寻址)

在这里插入图片描述
​ 串口通信中只使用了SMOD、SMOD0。

  • SMOD:波特率选择位主要时控制波特率设置是否倍速。
  • SMOD0:主要用于帧错误
3.4 串口时序图

在这里插入图片描述

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值