原创 第三十六课 串口通讯基础知识讲解

2009-6-8 16:18 4642 11 11 分类: MCU/ 嵌入式
 方便下载:pdf

第三十六课 MCS-51串口通讯基础知识讲解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



概述:


1、有一个可编程全双工串行通信接口(UART) (Universal Asychronous Receiver/Transmitter )


2、管脚:TXD(P3.1)、RXD(P3.0)


3、可同时发送、接收数据(Transmit/Receive)


4、有四种工作方式,帧格式有8、10、11位。


5、波特率(Baud rate)可设置


     波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。



一、MCS-51串行接口寄存器:


1、SBUF——串行口数据缓冲器   


共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。


2、SCON——串行口控制寄存器


3、PCON——电源及波特率选择寄存器



(1)控制寄存器SCON:



?对各位的说明如下:


1SM0、SM1:串行方式选择位,其定义如上图所示。


2SM2:多机通信控制位,用于方式2和方式3中。在方式2和方式3处于接收方式时,若SM2=1, 且接收到的第9位数据RB8为0时,不激活RI;若SM2=1,且RB8=1时,则置RI=1。在方式2、3处于接收或发送方式时,若SM2=0,不论接收到的第9位RB8为0还是为1,TI、RI都以正常方式被激活。在方式1处于接收时,若SM2=1,则只有收到有效的停止位后,RI置1。在方式0中,SM2应为0。


3REN:允许串行接收位。它由软件置位或清零。REN=1时,允许接收;REN=0时,禁止接收。在实训8中,由于乙机用于接收数据,因此使用位操作指令SETB REN,允许乙机接收。 TB8:发送数据的第9位。在方式2和方式3中,由软件置位或复位,可做奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时,TB8为1,数据帧时,TB8为0。


4RB8:接收数据的第9位。功能同TB8。


5TI:发送中断标志位。在方式0中,发送完8位数据后,由硬件置位;在其它方式中,在发送停止位之初由硬件置位。因此,TI是发送完一帧数据的标志,可以用指令JBC TI,rel来查询是否发送结束。实训中采用的就是这种方法。TI=1时,也可向CPU申请中断,响应中断后,必须由软件清除TI。 


6RI:接收中断标志位。在方式0中,接收完8位数据后,由硬件置位;在其它方式中,在接收停止位的中间由硬件置位。同TI一样,也可以通过JBC RI,rel来查询是否接收完一帧数据。RI=1时,也可申请中断,响应中断后,必须由软件清除RI。



?串行方式的定义




(二)电源及波特率选择寄存器PCON




串行口四种工作方式应用比较:(方式的选择由SM1、SM0实现。)





(三)重点讲解方式1:


方式1串行口为波特率可调的10位通用异步接口UART。每发送或接收的一帧信息中,包括1位起始位0,8位数据位和1位停止位1。



方式1时序


 一帧数据为10位:1位起始位、8位数据位和1位停止位。



方式一的波特率有下面公式得出:



(其中x为定时器1的初值,fosc 为振荡频率SMOD为电源及波特率选择寄存器PCON的最高位)



文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条