单片机串口通信理解(一)

单片机串口通信理解(一)

一、单片机串口通信寄存器

  • 串行口数据缓冲器SBUF

SBUF(serial data buffer)用于串口数据传输,在51单片机内部分为两个物理上独立的8位缓冲器:发送缓冲器和接收缓冲器。而这两个缓冲器共用一个名称SBUF,共用一个地址99H,这意味着在程序中对SBUF进行修改时,发送缓冲器和接收缓冲器的值都会改变,且发送缓冲器与接受缓冲器的值始终相等。
那么物理上独立是什么意思呢?物理上独立指的是在51单片机的硬件中存在发送缓冲器和接收缓冲器。其中,
在执行写指令 MOV SBUF , A 时发送缓冲器起作用
在执行读指令 MOV A , SBUF 时接受缓冲器起作用
这意味着通过物理上独立的SBUF缓冲器可以实现全双工通信。

  • 串行口控制寄存器SCON

SCON寄存器原理图

SM2:多机通信控制位

用于多机通信中的从机,仅用于从机被寻址的阶段。在一次通信过程正式开始前,从机接收并侦测主机发出的每一个信息帧,试图寻找呼叫自身的地址码。换句话说,SM2位用于从机筛选自身,一旦筛选完毕,该位的使命就完成了。

REN:串口接受允许位

对于单片机来说,数据的发送过程是主动的,只要将发送数据送入SBUF,发送过程就开始了。但数据的接收是被动的,一旦数据到来,串口便会自动接收而不管CPU是否需要接收。因此需要有控制的接收行为。REN=1,允许串口接收;REN=0,不允许串口接收。

TB8:发送的第9位数据

在方式2和方式3中发送的第9位数据,TB8=1,说明主机发送的是地址;TB8=0,说明主机发送的是数据。

RB8

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值