ART自动完成,当UART将一帧数据发送完毕,会通知CPU已发送完,可提交下一个字节。
UART自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART会通知CPU来读取。采用UART后,CPU的负担大大减轻了。
6、MCS51的串行通信接口MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以同时发送、接收数据。它有两个互相独立
的接收、发送缓冲器,这两个缓冲器同名SBUF,共用一个地址号(99H)。发送SBUF:只能写,不能读;SBUFa;接收SBUF:只能读,不能写。aSBUF;串行接口有四种工作方式,有的工作方式时其波特率是可变的。用户可以用软件编程的方法在串行控制寄存器SCON
中写入相应的控制字就可改变串行口的工作方式。串行口结构图如下:
串行通信的传送过程说明:甲方发送时,CPU执行指令SBUFA启动了发送过程,数据并行送入SBUF,在发送时钟shift的控制下由低位到
高位一位一位发送,乙方在接收时钟shift的控制下由低位到高位顺序进入移位寄存器SBUF,甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断),CPU可再发送下一帧数据。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过ASBUFCPU将这帧数据并行读入。
第3页共7页
f由上述可知:1甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。2发送方是先发数据再查标志,接收方是先查标志再收数据。通信过程图如下:
7、串行接口的控制寄存器:串行接口的控制寄存器有两个,串行控制寄存器SCON和能改变波特率的特殊功能寄存器PCON。其作用如下:(1)SCON,字节地址98H,(可位寻址)SCON用于确定串行通道的操作方式和控制串行通道的某些功能。也可用于发送和接收第九个数据位(TB8、
RB8),并有接收和发送中断标志(RI及TI)位。SCON各位的意义如下:
此处,SM0、SM1指定了串行通信的工作方式,若设振荡器频率为fosc,则规定如下图:
SM2:在方式2、3时,多机通信的控制位。方式0:SM20;方式1:①若SM2=0,只要接收到8位数据,就激发中断标志(RI=1);
②若SM2=1,则只有在接收到有效停止位时才能激发中断标志(RI=1),否则接收数据无效,且RI仍为0。8、串行口波特率计算方式:
第4页共7页
f9、串行口的波特率有两种方式:固定波特率和可变波特率10、串行通信编程方式:查询方式和中断方式。查询方式:查TI或Ri是否为“1”。中断方式:如果预先开了中断,当TI、RI为“r