串行接口有4种工作方式:方式0、方式1、方式2、方式3。由SCON寄存器的SM0、SM1控制,下面分别介绍工作方式的使用。
1方式0——8位同步移位寄存器方式
工作于方式0时,串行接口被设定为同步移位寄存器的输入/输出方式。这时,串行接口主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。串行接口工作于方式0时,SM2、RB8和TB8皆不起作用,通常将它们均设置为0状态。方式0主要用于串并转换(不是用于异步串行通信):I/O接口数量不足时,可通过串口方式0进行扩展,但需要相应的扩展芯片配合。这种扩展方法不会占用片外RAM地址,而且也节省单片机的硬件开销(只需外加1根I/O接口线),但扩展的移位寄存器芯片越多,接口的操作速度也就越慢。扩展输出芯片有74LS164、CD4094等,扩展输入芯片有74LS165、CD4014等。扩展的接收和发送电路如图7-6所示。
图7-6 方式0扩展的接收和发送电路
2 方式1——10位异步收发通信模式
工作于方式1是10位数据的异步通信模式。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图7-7所示。其中,1位起始位,8位数据位,1位停止位。
一帧信息=1个起始位(0)+8位数据位+1个停止位(1)。
发送数据由TXD输出,接收数据由RXD输入,初始化(RI、TI、REN、SM0、SM1)方式1主要用于点对点(双机)通信。指定T1或T2为波特率时钟发生器,一般选择定时方式2。(www.xing528.com)
图7-7 方式1传送一帧数据的格式
3 方式2和方式3——11位数据异步通信方式
方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚。方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32。
方式2和方式3两种操作方式的共同点是发送和接收时具有第9位数据,正确运用SM2(多机通信控制位)能实现多机通信。不同点在于,方式2的波特率是固定的,而方式3的波特率则由定时器T1或T2的溢出率决定。
一帧信息=1个起始位(0)+8位数据位+1个可编程位(P)+1个停止位(1)。
方式2和方式1相比,除波特率发生源略有不同,发送时由TB8提供给移位寄存器第9位数据不同外,其余功能均基本相同,发送/接收数据过程及时序基本相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。