首页 理论教育单片机基础及应用:串行工作方式0简介

单片机基础及应用:串行工作方式0简介

【摘要】:图9-4串行口与74LS164连接图图9-5方式0数据输出时序图2.数据的接收在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据,当接收完8位数据后,置中断标志RI为1,请求中断。若将并入串出移位寄存器的输出连接到单片机的RXD引脚,当串行口工作于方式0接收时,即可接收到CD4014或74LS165输入端的并行数据。

在方式0下,把串行口作为同步移位寄存器使用,这时以RXD(P 3.0)端作为数据移位的入口和出口,而由TXD(P 3.1)端提供移位时钟脉冲。波特率固定为单片机的fosc/12。移位数据的发送和接收以8位为一组,低位在前高位在后。其格式为:

1.数据的发送

当数据写入串行口发送缓冲器SBUF后(MOV SBUF,#..),在移位时钟TXD的控制下,按一定波特率将数据由低位到高位从RXD引脚传送出去,发送完毕,硬件自动使SCON的TI位置1,再次发送数据之前,TI必须由软件清0。此时,若在硬件中加上串入并出移位寄存器,如CD4094、74LS164等芯片,即可以将RXD引脚送出的串行数据重新转换为并行数据,实际上是将串行口当做并行输出口。电路连接如图9-4所示,其输出时序如图9-5所示。

图9-4 串行口与74LS164连接图

图9-5 方式0数据输出时序图

2.数据的接收

在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,置中断标志RI为1,请求中断。再次接收数据之前,RI必须由软件清0。若将并入串出移位寄存器(如CD4014或74LS165等芯片)的输出连接到单片机的RXD引脚,当串行口工作于方式0接收时,即可接收到CD4014或74LS165输入端的并行数据。此时,相当于把串行口当做扩展输入口用。电路连接如图9-6所示,其输入时序如图9-7所示。

图9-6 串行口与7HC165连接图(www.chuimin.cn)

图9-7 方式0数据输入时序图

【例9-1】用8051单片机的串行口外接串入并出的芯片CD4094扩展并行输出口控制一组发光二极管,使发光二极管从左到右依次点亮并反复循环,如图9-8所示。

图9-8 串口利用CD4094扩展I/O接口连接图

【解】由硬件连接可知,要使某一个发光二极管点亮,必须使驱动该发光二极管的CD4094并行输出端输出高电平。因此,要点亮Q0对应的发光二极管,串行口应送出80H,要实现将发光二极管由右到左依次循环点亮,只需使串行口依次循环送出80H→40H→20H→10H→08H→04H→02H→01H即可。串行口数据传送时,为避免CD4094并行输出端Q0~Q7的不断变化而使发光二极管闪烁,在传送时,使P1.0=0(即STB=0),每次串行口数据传送完毕,即SCON的TI位为1时,使P1.0=1(即STB=1),Q0~Q7输出控制相应发光二极管点亮。

【程序】

【C51参考程序】