串口通信

本文详细介绍了51单片机的串口通信,包括发送与接收过程、串行口控制寄存器SCON的作用、四种工作方式及波特率设置。在发送时,数据帧格式通过SBUF发送,接收时,数据会存入SBUF并触发中断。工作方式1至3分别用于异步串行通信,并支持不同类型的帧格式和波特率控制。
摘要由CSDN通过智能技术生成

发送与接收

在51内部有一个全双工串行通信接口。SBUF位串行口数据缓冲寄存器,包括接收和发送缓冲寄存器,其中接收缓冲寄存器只能读取不能写入,发送缓冲寄存器只能写入不能读取,它们的地址99H

接收和发送缓冲寄存器在逻辑上共用地址,但是物理现实上有两个.

发送时,将帧格式写入SBUF,发送完成后,TI置1并发出中断信息
接收时,接收帧数据存入SBUF,接收完成后,RI置1发出中断

串行口控制

  1. SCON 串行口控制寄存器

    SM0与SM1控制串行通信工作方式
    //picture
    SM2 多机通信控制位:
    为1时,仅当接收的第9位为1,才将RI置1,申请中断
    为0时,接收完毕时都将RI置1,申请中断

    REN 允许串行接收控制位。置1允许
    TB8 方式2,3中,人为设定的第9位
    RB8 方式2,3中,接收的第9位存放位置
    TI 发送中断请求位。一旦发出只能手动清零
    RI 接收中断请求为。一旦发出只能手动清零

  2. SMOD 波特率控制位
    置1,波特率增大一倍

工作方式

  • 方式0
    串行转并行。用于并行IO扩展
  • 方式1
    异步串行通信。
    在发送时,将要发送的数据送入SBUF,随后硬件自动加入起始位和停止位构成完整的帧格式。发送完成后,TI置1,申请中断
    接收时,在RXD采样端
  • 方式2
    发送时,与方式1相似,不同之处在于方式2还有第9个数据位D8,由用户自定义,在SCON的TB8中设定。因此就可以对发送帧进行奇偶检校,或者或为控制位。
    方式2发送的完整过程,是先准备好D8,再将输入送入SBUF,最后硬件自动添加起始位和停止位。发送完毕后TI置,申请中断
    接收时,由于是9位数据,所以不可能全部送入SBUF,所以是将收到的前8位送入SBUF,第9位送入SCON的RB8。
  • 方式3
    与方式2相同,仅波特率计算与方式2不同

波特率设置

首先我们要知道,为什么要设置波特率,波特率在通信中起着什么样的作用。
波特率是单位时间传输数据的位数。对于发送端控制数据发送的速度;对于接受端来说,波特率应与发送端波特率同步,最低要求是不能低于发送端波特率,可以高于发送端波特率,但是较高的波特率将带来更大的数据流,需要后续系统在单位时间内处理的数据也越多。

方式0 固定 f O S C 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值