首页 理论教育 单片机串行口控制技术及应用

单片机串行口控制技术及应用

时间:2023-11-05 理论教育 版权反馈
【摘要】:80C51串行口通过控制寄存器、中断功能和波特率设置实现串行通信控制,此处先介绍前两项内容。表6-2 SM0、SM1串行口工作方式选择位●SM2:多机通信控制位。REN=0时,禁止串行口接收。在HMOS单片机中,该寄存器中除最高位之外,其他位都是虚设的。在单片机工作在方式1、方式2和方式3时,有:SMOD=1,串行口波特率提高一倍。

单片机串行口控制技术及应用

80C51串行口通过控制寄存器、中断功能和波特率设置实现串行通信控制,此处先介绍前两项内容。

1.串行口控制寄存器SCON

SCON用来控制串行口的工作方式和状态,它可以是位寻址。在复位时所有位被清零,单元地址为98H。

其格式见表6-1。

表6-1 串行口控制寄存器SCON的格式

978-7-111-44921-8-Chapter06-8.jpg

各位定义如下:

●SM0、SM1:串行口工作方式选择位(见表6-2)。

表6-2 SM0、SM1串行口工作方式选择位

978-7-111-44921-8-Chapter06-9.jpg

●SM2:多机通信控制位。

因为多机通信是在方式2和方式3下进行的,因此SM2主要用于方式2和方式3。

978-7-111-44921-8-Chapter06-10.jpgSM2=1,则只有在接收到的第9位数据(RB8)为1时,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则将接收到的前8位数据丢弃。

978-7-111-44921-8-Chapter06-11.jpgSM2=0,则不论第9位数据是0还是1,都将前8位数据装入SBUF中,并产生中断请求。在方式0时,SM2必须为0。

●REN:允许接收控制位。该位由软件置位或复位。

978-7-111-44921-8-Chapter06-12.jpgREN=0时,禁止串行口接收。

978-7-111-44921-8-Chapter06-13.jpgREN=1时,允许串行口接收。

●TB8:发送数据位。

978-7-111-44921-8-Chapter06-14.jpg在方式2或方式3时,TB8是发送数据的第9位,根据发送数据的需要由软件置位或复位。

978-7-111-44921-8-Chapter06-15.jpg可作为奇偶校验位(单机通信)。

978-7-111-44921-8-Chapter06-16.jpg可在多机通信中作为发送地址帧或数据帧的标志位。多机通信时,一般约定:发送地址帧时,设置TB8=1;发送数据帧时,设置TB8=0。在方式0和方式1中,该位未用。

●RB8:接收数据位。

978-7-111-44921-8-Chapter06-17.jpg在方式2和方式3时,存放接收数据的第9位。(www.xing528.com)

978-7-111-44921-8-Chapter06-18.jpg可以是约定的奇偶校验位。

978-7-111-44921-8-Chapter06-19.jpg可以是约定的地址/数据标志位,可根据RB8被置位的情况对接收到的数据进行某种判断。在多机通信时,若RB8=1,说明收到的数据为地址帧;RB8=0,说明收到的数据为数据帧。在方式1下,若SM2=0,则RB8用于存放接收到的停止位方式。在方式0下,该位未用。

●TI:发送中断标志位,用于指示一帧数据发送完否。

978-7-111-44921-8-Chapter06-20.jpg在方式0下,发送电路发送完第8位数据时,TI由硬件置位。

978-7-111-44921-8-Chapter06-21.jpg在其他方式下,TI在发送电路开始发送停止位时置位。这就是说,TI在发送前必须由软件复位,发送完一帧后由硬件置位。因此,CPU查询TI状态便可知一帧信息是否已发送完毕。

●RI:接收中断标志位,用于指示一帧信息是否接收完。

978-7-111-44921-8-Chapter06-22.jpg在方式1下,RI在接收电路接收到第8位数据时由硬件置位。

978-7-111-44921-8-Chapter06-23.jpg在其他方式下,RI是在接收电路接收到停止位的中间位置时置位的,RI也可供CPU查询,以决定CPU是否需要从“SBUF(接收)”中提取接收到的字符或数据。RI也由软件复位。

在进行串行通信时,一帧发送完后,必须用软件来设置SCON的内容。当由指令改变SCON的内容时,改变的内容在下一条指令的第一个周期的S1P1状态期间才锁存到SCON寄存器中,并开始有效。如果此时已开始进行串行发送,那么TB8送出去的仍是原有的值而不是新值。

在进行串行通信时,一帧发送完毕后,发送中断标志置位,向CPU请求中断;当一帧接收完毕时,接收中断标志置位,也向CPU请求中断。若CPU允许中断,则要进入中断服务程序。CPU事先并不能区分是RI请求中断还是TI请求中断,只能在进入中断服务程序后,通过查询来区分,然后进入相应的中断处理。

2.电源控制寄存器PCON

PCON主要是为CHMOS型单片机的电源控制设置的专用寄存器,单元地址为97H,不能位寻址。PCON的格式见表6-3。

表6-3 电源控制寄存器PCON的格式

978-7-111-44921-8-Chapter06-24.jpg

各位定义如下:

●SMOD:串行口波特率的倍增位。

在HMOS单片机中,该寄存器中除最高位之外,其他位都是虚设的。在单片机工作在方式1、方式2和方式3时,有:

978-7-111-44921-8-Chapter06-25.jpgSMOD=1,串行口波特率提高一倍。

978-7-111-44921-8-Chapter06-26.jpgSMOD=0,则波特率不加倍。系统复位时SMOD=0。

●GF1、GF0:通用标志位,由软件置位、复位。

●PD:掉电方式控制位,PD=1则进入掉电方式。

●IDL:待机方式控制位,IDL=1则进入待机方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈