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

串行口控制寄存器

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

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

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

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

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

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

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

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

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

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

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

当一个数据写入SBUF后,串行数据将由RxD逐位移出;TxD输出移位时钟,频率=fosc1/12;时序如下图所示:

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

3.串行数据寄存器SBUF

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

image-202208182****8476

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。

#嵌入式#
全部评论

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务