聊一聊SCON串行口控制寄存器

Posted timerring

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊一聊SCON串行口控制寄存器相关的知识,希望对你有一定的参考价值。

  • SCON(Serial Control Register)串行口控制寄存器,用于控制串行通信的方式选择、接收和发送,指示串口的状态。SCON既可以字节寻址,也可以位寻址,其字节地址为98H,地址位为98H~9FH。

1. 串行口状态控制寄存器 SCON

用来控制串行通信的方式选择、接收,指示串行口的中断状态。寄存器SCON既可字节寻址也可位寻址,字节地址为98H,位地址为98H~9FH。其格式如下:

聊一聊SCON串行口控制寄存器_寻址

  • SM0和SM1(SCON.7,SCON.6)——串行口工作方式选择位。两个选择位对应4种通信方式,如下表所示。其中,fosc是振荡频率。

聊一聊SCON串行口控制寄存器_SCON_02

  • TB8(SCON.3)——方式2和方式3中要发送的第9位数据。
    在通信协议中,常规定TB8作为奇偶校验位。在80C51多机通信中,TB8=0用来表示数据帧;TB8=1表示是地址帧。 用软件置位/清除。
  • RB8(SCON.2)——方式2和方式3中接收到的第9位数据。方式1中接收到的是停止位。方式0中不使用这一位。
  • 方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数据位,1个附加第9位和1个停止位(1)。其帧格式为:

聊一聊SCON串行口控制寄存器_数据寄存器_03

  • 附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。

2.串行口方式0 — 同步移位寄存器方式

当SM0=0、SM1=0时,串行口选择方式0。这种工作方式实质上是一种移位寄存器方式。

数据传输波特率固定为(1/12)fosc

由RXD(P3.0)引脚输入或输出数据

由TXD(P3.1)引脚输出同步移位时钟

接收/发送的是8位数据,传输时低位在前。

聊一聊SCON串行口控制寄存器_数据寄存器_04

当一个数据写入SBUF后,串行数据将由RxD逐位移出;TxD输出移位时钟,频率=fosc1/12。

注意:每送出8位数据 TI就自动置1,再次发送前需要用软件清零 TI。

3.串行数据寄存器SBUF

  • 包含在物理上是隔离的两个8位寄存器:发送数据寄存器和接收数据寄存器,它们共用一个地址——99H。
  • 读SBUF(MOV A,SBUF),访问接收数据寄存器;写SBUF(MOV SBUF,A),访问发送数据寄存器。

聊一聊SCON串行口控制寄存器_数据_05

  • 2716是2K×8位程序存储器,芯片的地址引脚线有11条,顺次和单片机的地址线A0-A10相接。
  • A13接片选端,由于不采用地址译码器,其他高4位地址线A11、A12、A14、A15不接,故有24=16个重叠的2KB地址空间。
  • 只用一片2716,其片选信号CE也可直接接地(常有效),这时应有32个重叠的2KB地址空间。

上图所示连接电路的16个重叠的地址范围为

  • 00000000000000000000011111111111,即0000H07FFH;
  • 00001000000000000000111111111111,即0800H0FFFH;
  • 00010000000000000001011111111111,即1000H17FFH;
  • 00011000000000000001111111111111,即1800H1FFFH;
  • ............
  • 11000000000000001100011111111111,即C000HC7FFH;
  • 11001000000000001100111111111111,即C800HCFFFH;
  • 11010000000000001101011111111111,即D000HD7FFH;
  • 11011000000000001101111111111111,即D800HDFFFH。

以上是关于聊一聊SCON串行口控制寄存器的主要内容,如果未能解决你的问题,请参考以下文章

单片机如何同时开定时器中断和串行口中断?

89C51单片机中PCON=0x80;是啥意思?

串口工作方式

7.STC15W408AS单片机串口通信

7.STC15W408AS单片机串口通信

7.STC15W408AS单片机串口通信