您当前的位置:钢材 > 钢绞线 > 价格汇总

单片机中串行口的作用,单片机的串行口有什么功能特点

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

RI(SCON.0):接收中断标志位。在模式0下,当接收到第8位数据时由硬件自动置位,而在模式1下,SM2=1,RI只有在接收到有效停止位时才能置位。在其他模式下,RI 由硬件在接收停止位中间设置。一旦设置,请求中断,CPU响应中断后,清除数据并清除RI标志,该标志必须由软件清除。

所有SCON 位在复位时均被清除。

特殊功能寄存器PCON

字节地址为87H,无位寻址功能。 PCON的格式为:

其中,只有D7位与串行接口相关。

SMOD:波特率选择位。

串口工作模式串口有四种工作模式,由串口控制寄存器SCON 中SM0 和SM1 的状态定义,其编码和功能如表2-3 所示。在这四种操作模式中,只有模式1、2 和3 用于串行通信。模式0主要用于扩展并行I/O端口。

表2-3 串口工作模式

表中:fosc 为晶振频率,UART 为通用异步接收器和发生器。

模式0

模式0时,串口为同步移位寄存器输入输出模式,波特率固定,数据从RxD(P3.0)端输入,同步移位脉冲从TxD(P3.0)端输入终端。 P3.1) ) 端子输出。模式0主要用于扩展并行输入/输出端口(如串行LED数码管显示系统)。

(1) 以模式0发送

当数据写入串口发送缓冲器SBUF时,串口以fosc/12(低位到高位)的波特率从RxD引脚输出8位数据。发送时,中断标志TI 被设置为1。 TxD 引脚输出同步脉冲,其波形如图2-22 所示。

(2) 模式0接收

当满足REN=1且RI=0的条件时,接收处理开始,RxD成为串行输入端子,TxD成为同步脉冲输出端子。串行接收的波特率为fosc/12,时序如图2-23所示。当接收到一帧数据(8位)时,控制信号复位,中断标志RI置1,设备进入中断请求状态。如果您想再次接收,则需要使用软件清除RI。

图2-22 串口“模式0”传输时序

图2-23 串口“模式0”接收时序

在模式0 下,SCON 的TB8 和RB8 位被禁止,多机通信控制位SM2 必须为0。当以模式0发送或接收8位数据时,硬件将其置1,并发送中断标志TI或RI向CPU请求中断,当CPU响应TI或RI中断时,硬件将其置1置1并发送中断标志TI或RI.就会站起来。 RI 必须在用户程序中清0。

方法一

当串口工作在模式1时,SCON的SM0和SM1位分别为0和1,串口被控制为8位可变波特率异步通信接口。每帧传输的信息为10 位:1 个起始位、8 个数据位(先是低位,然后是高位)和1 个停止位。

(1)方式1发货

当串口以模式1方式发送时,数据从TxD引脚输出,CPU执行指令将数据写入发送数据缓冲器SBUF,数据字节写入SBUF后,串口发送器启动。发送。发送完一帧信息数据位后,发送中断标志置1。时序如图2-24所示。

图2-24 串口“模式1”传输时序

(2) 接收方式1

当REN=1时,使能接收器接收数据,数据从RxD端输入。接收器以所选波特率16 倍的速率对RxD 端子处的电平进行采样。当RxD 端子上检测到1 到0 的转换时,接收器开始接收并重置内部16 分频计数器。同步。

如果接收到的起始位的值不是0,则起始位无效并且接收器电路被复位,并且当再次接收到从1到0的转变时,接收器重新启动。如果接收到的值为0,则起始位有效,接收器开始接收该帧中的其余信息(一帧有10位信息)。对于模式1 接收,如果同时满足以下两个条件:RI=0、SM2=0、接收停止位=1,接收数据有效,SBUF 被加载,停止位输入到PB8。接收中断标志RI 被置位。接收控制器对RxD 上的负跳变重新采样以接收下一个数据帧。

如果这两个条件不同时满足,信息就会丢失。中断标志RI必须由用户软件清零。通常,当串口工作在模式1 时,SM2 设置为0。模式1下的接收时序如图2-25所示。

图2-25 串口“模式1”接收时序

方法2

如果SM0 位为1,SM1 位为0,则串口工作在模式2。然后将串行端口定义为9位异步通信接口。发送时,根据需要将可编程位(TB8)设置为0或1,接收时,将可编程位发送到SCON的RB8。

(1)方式2发货

模式2发送时,数据从TxD端输出,一帧要发送的信息由1个起始位、8个数据位(低位在前、高位在后)、可编程位(第9位)组成11 位数据。位)和1 个停止位,附加数据的第9 位是SCON 中的TB8。 TB8 可通过软件置1 或清0,用作多机通信的数据标志位或数据奇偶校验位。

当CPU执行写入SBUF的指令时,发送器立即开始发送,发送一帧信息,然后将TI设置为1。在发送下一个信息帧之前,中断服务程序(或查询程序)必须将TI 清为0。

图2-26 串口“模式2”传输时序

(2) 模式2接收

如果SM0和SM1位分别为1和0,且REN=1,则串口可以以模式2接收数据。数据从RxD 端子传入并接收11 位信息:1 个起始位、8 个数据位、1 个可编程位(第9 个数据位)和1 个停止位。当接收器在RxD 端对1 到0 的转换进行采样并确定起始位有效时,它开始接收信息帧。当接收器接收到第9位数据时,如果RI=0且SM2=0或者接收到的数据第9位为1,则将接收到的数据发送到SBUF,将第9位数据发送到RB8,RI被置位。=1时的时序如图2-27所示。如果这两个条件不同时满足,则接收到的信息将会丢失。

图2-27 串口“模式2”接收时序

方法三

如果SM0 和SM1 位为11,则串口工作在模式3。模式3是可变波特率的9位异步通信模式。除了波特率之外,模式3的发送和接收时序也不同。模式2也是如此。

波特率计算及串口初始化波特率计算

串行通信要求发送方和接收方的波特率匹配。软件可以设置串行端口的四种操作模式并确定每种模式的波特率。

(1) 模式0下波特率固定,为单片机晶振频率fosc的1/12,即BR=fosc/12。

当fosc=6MHz时,波特率为500kbit/s,当fosc=12MHz时,波特率为1Mbit/s。

(2) 模式2 有两种固定波特率。一种是晶振频率的1/32,另一种是晶振频率的1/64,即fosc/32和fosc/64。用数字来表达,它看起来像这样:

式中的SMOD是特殊功能寄存器PCON串口波特率系数控制位,SMOD=1表示波特率加倍。请注意,PCON 不可位寻址,只能执行字节操作。

例如,在12M晶振系统中,当SMOD=0时,波特率为187.5kbit/s,当SMOD=1时,波特率为375kbit/s。

(1) 定时器—— 编程确定TMOD 寄存器的操作模式。

(2) 计算定时器1 —— 的初始值,用于加载TH1 和TL1。

(3) 启动定时器1—— 并对TCON 中的TR1 位进行编程。

(4)确定串口控制——编程SCON。

(此处已添加圈卡,请前往今日头条客户端查看)

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |价格汇总

单片机中串行口的作用,单片机的串行口有什么功能特点

chanong

|

RI(SCON.0):接收中断标志位。在模式0下,当接收到第8位数据时由硬件自动置位,而在模式1下,SM2=1,RI只有在接收到有效停止位时才能置位。在其他模式下,RI 由硬件在接收停止位中间设置。一旦设置,请求中断,CPU响应中断后,清除数据并清除RI标志,该标志必须由软件清除。

所有SCON 位在复位时均被清除。

特殊功能寄存器PCON

字节地址为87H,无位寻址功能。 PCON的格式为:

其中,只有D7位与串行接口相关。

SMOD:波特率选择位。

串口工作模式串口有四种工作模式,由串口控制寄存器SCON 中SM0 和SM1 的状态定义,其编码和功能如表2-3 所示。在这四种操作模式中,只有模式1、2 和3 用于串行通信。模式0主要用于扩展并行I/O端口。

表2-3 串口工作模式

表中:fosc 为晶振频率,UART 为通用异步接收器和发生器。

模式0

模式0时,串口为同步移位寄存器输入输出模式,波特率固定,数据从RxD(P3.0)端输入,同步移位脉冲从TxD(P3.0)端输入终端。 P3.1) ) 端子输出。模式0主要用于扩展并行输入/输出端口(如串行LED数码管显示系统)。

(1) 以模式0发送

当数据写入串口发送缓冲器SBUF时,串口以fosc/12(低位到高位)的波特率从RxD引脚输出8位数据。发送时,中断标志TI 被设置为1。 TxD 引脚输出同步脉冲,其波形如图2-22 所示。

(2) 模式0接收

当满足REN=1且RI=0的条件时,接收处理开始,RxD成为串行输入端子,TxD成为同步脉冲输出端子。串行接收的波特率为fosc/12,时序如图2-23所示。当接收到一帧数据(8位)时,控制信号复位,中断标志RI置1,设备进入中断请求状态。如果您想再次接收,则需要使用软件清除RI。

图2-22 串口“模式0”传输时序

图2-23 串口“模式0”接收时序

在模式0 下,SCON 的TB8 和RB8 位被禁止,多机通信控制位SM2 必须为0。当以模式0发送或接收8位数据时,硬件将其置1,并发送中断标志TI或RI向CPU请求中断,当CPU响应TI或RI中断时,硬件将其置1置1并发送中断标志TI或RI.就会站起来。 RI 必须在用户程序中清0。

方法一

当串口工作在模式1时,SCON的SM0和SM1位分别为0和1,串口被控制为8位可变波特率异步通信接口。每帧传输的信息为10 位:1 个起始位、8 个数据位(先是低位,然后是高位)和1 个停止位。

(1)方式1发货

当串口以模式1方式发送时,数据从TxD引脚输出,CPU执行指令将数据写入发送数据缓冲器SBUF,数据字节写入SBUF后,串口发送器启动。发送。发送完一帧信息数据位后,发送中断标志置1。时序如图2-24所示。

图2-24 串口“模式1”传输时序

(2) 接收方式1

当REN=1时,使能接收器接收数据,数据从RxD端输入。接收器以所选波特率16 倍的速率对RxD 端子处的电平进行采样。当RxD 端子上检测到1 到0 的转换时,接收器开始接收并重置内部16 分频计数器。同步。

如果接收到的起始位的值不是0,则起始位无效并且接收器电路被复位,并且当再次接收到从1到0的转变时,接收器重新启动。如果接收到的值为0,则起始位有效,接收器开始接收该帧中的其余信息(一帧有10位信息)。对于模式1 接收,如果同时满足以下两个条件:RI=0、SM2=0、接收停止位=1,接收数据有效,SBUF 被加载,停止位输入到PB8。接收中断标志RI 被置位。接收控制器对RxD 上的负跳变重新采样以接收下一个数据帧。

如果这两个条件不同时满足,信息就会丢失。中断标志RI必须由用户软件清零。通常,当串口工作在模式1 时,SM2 设置为0。模式1下的接收时序如图2-25所示。

图2-25 串口“模式1”接收时序

方法2

如果SM0 位为1,SM1 位为0,则串口工作在模式2。然后将串行端口定义为9位异步通信接口。发送时,根据需要将可编程位(TB8)设置为0或1,接收时,将可编程位发送到SCON的RB8。

(1)方式2发货

模式2发送时,数据从TxD端输出,一帧要发送的信息由1个起始位、8个数据位(低位在前、高位在后)、可编程位(第9位)组成11 位数据。位)和1 个停止位,附加数据的第9 位是SCON 中的TB8。 TB8 可通过软件置1 或清0,用作多机通信的数据标志位或数据奇偶校验位。

当CPU执行写入SBUF的指令时,发送器立即开始发送,发送一帧信息,然后将TI设置为1。在发送下一个信息帧之前,中断服务程序(或查询程序)必须将TI 清为0。

图2-26 串口“模式2”传输时序

(2) 模式2接收

如果SM0和SM1位分别为1和0,且REN=1,则串口可以以模式2接收数据。数据从RxD 端子传入并接收11 位信息:1 个起始位、8 个数据位、1 个可编程位(第9 个数据位)和1 个停止位。当接收器在RxD 端对1 到0 的转换进行采样并确定起始位有效时,它开始接收信息帧。当接收器接收到第9位数据时,如果RI=0且SM2=0或者接收到的数据第9位为1,则将接收到的数据发送到SBUF,将第9位数据发送到RB8,RI被置位。=1时的时序如图2-27所示。如果这两个条件不同时满足,则接收到的信息将会丢失。

图2-27 串口“模式2”接收时序

方法三

如果SM0 和SM1 位为11,则串口工作在模式3。模式3是可变波特率的9位异步通信模式。除了波特率之外,模式3的发送和接收时序也不同。模式2也是如此。

波特率计算及串口初始化波特率计算

串行通信要求发送方和接收方的波特率匹配。软件可以设置串行端口的四种操作模式并确定每种模式的波特率。

(1) 模式0下波特率固定,为单片机晶振频率fosc的1/12,即BR=fosc/12。

当fosc=6MHz时,波特率为500kbit/s,当fosc=12MHz时,波特率为1Mbit/s。

(2) 模式2 有两种固定波特率。一种是晶振频率的1/32,另一种是晶振频率的1/64,即fosc/32和fosc/64。用数字来表达,它看起来像这样:

式中的SMOD是特殊功能寄存器PCON串口波特率系数控制位,SMOD=1表示波特率加倍。请注意,PCON 不可位寻址,只能执行字节操作。

例如,在12M晶振系统中,当SMOD=0时,波特率为187.5kbit/s,当SMOD=1时,波特率为375kbit/s。

(1) 定时器—— 编程确定TMOD 寄存器的操作模式。

(2) 计算定时器1 —— 的初始值,用于加载TH1 和TL1。

(3) 启动定时器1—— 并对TCON 中的TR1 位进行编程。

(4)确定串口控制——编程SCON。

(此处已添加圈卡,请前往今日头条客户端查看)


价格汇总