首页 理论教育《单片机基础及应用》中的串行工作方式

《单片机基础及应用》中的串行工作方式

【摘要】:当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。图9-11串行工作方式2帧格式图1.数据的发送和接收在方式2下,字符还是8个数据位,只是增加了一个第9个数据位,而且其功能由用户确定,是一个可编程位。甲机工作于串行方式2,TB8为奇偶校验位;乙机用于接收串行数据,也工作于方式2,并对奇偶校验位进行校验,接收数据存放于RAM的60H~6FH中。

当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。在方式2下,串行口为异步串行通信方式,以11位为一帧,主要包括1位起始位、9位数据位和1位停止位。其主要特点是:RXD(P 3.0)引脚接收数据,TXD(P 3.1)引脚发送数据;数据位的接收和发送为低位在前,高位在后,如图9-11所示。

图9-11 串行工作方式2帧格式图

1.数据的发送和接收

在方式2下,字符还是8个数据位,只是增加了一个第9个数据位(D8),而且其功能由用户确定,是一个可编程位。

在发送数据时,应预先在SCON的TB8位中把第9个数据位的内容准备好,可以使用如下位操作指令来完成:

发送数据(D0~D7)由MOV指令向SBUF写入,而D8位的内容则由硬件电路从TB8中直接送到发送移位寄存器的第9位,并以此来启动串行发送。一个字符帧发送完毕后,将TI位置1,其他过程与方式1相同。

方式2的接收过程也与方式1基本类似,所不同的只是在第9数据位上,串行口把接收到的前8个数据位送入SBUF,而把第9数据位送入RB8。

第9数据位TB8、RB8可作串行通信的奇偶校验位,也可作多机通信时的地址、数据帧识别。

2.波特率的设定(www.chuimin.cn)

方式2的波特率是固定的,且有两种,一种是晶振频率的1/32,另一种是晶振频率的1/64,即fosc/32和fosc/64,用公式可表示为

即波特率与PCON寄存器中SMOD位的值有关。当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率等于fosc的1/32。

【例9-4】利用串行口完成双机通信。

如图9-10所示是双机通信系统,要求将甲机8051的片内RAM中的40H~4FH的数据串行发送至乙机。甲机工作于串行方式2,TB8为奇偶校验位;乙机用于接收串行数据,也工作于方式2,并对奇偶校验位进行校验,接收数据存放于RAM的60H~6FH中。

【程序】

;甲机发送(采用查询方式)

单片机串行工作方式2例程说明