5.4.3MCS—51系列单片机串行通信工作方式
MCS—51的串行口有四种工作方式,可通过SCON中的SM1、SM0位来决定,下面分别介绍各种工作方式。
1.串行工作方式0
在方式0下,串行口作为同步移位寄存器使用,其主要特点是,以RXD(P3.0)引脚接收或发送数据,TXD(P3.1)引脚发送同步移位脉冲。数据的接收和发送以8位为一帧,低位在前,高位在后。方式0时,SM2必须为0,这种方式常用于扩展I/O口。
(1)数据发送过程
当数据写入串行口发送缓冲器后,在移位时钟TXD控制下,由低位到高位按一定波特率将数据从RXD引脚传送出去,发送完毕,硬件自动使SCON的TI位置1,再次发送数据之前,必须由软件清TI为0。此时,若配以串入并出移位寄存器,如CD4094、74LS164等芯片,即可以将RXD引脚送出的串行数据重新转换为并行数据,实际上也就是把串行口当并行输出口用了。
(2)数据接收过程
在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,置中断标志RI为1,请求中断。在再次接收数据之前,必须由软件清RI为0。若将并入串出移位寄存器(如CD4014或74LS165等芯片)的输出连接到单片机的RXD引脚,当串行口工作于方式0接收时,即可以接收到CD4014或74LS165输入端的并行数据。此时,相当于把串行口当扩展输入口用了。
2.串行工作方式1
当设置SCON寄存器的SMOSM1位为01时,单片机串行口进入工作方式1。
在方式1下,串行口是10位为一帧的异步串行通信方式,主要包括1位起始位、8位数据位和1位停止位。其主要特点是,以RXD(P3.0)引脚接收数据,TXD(P3.1)引脚发送数据;数据位的接收和发送为低位在前,高位在后。
……