单片机的定时/计数器:单片机串行口的硬件结构

来自:AC
3年前
已收藏
收藏
阅读数
104
回复数
0

8051单片机串行口硬件主要由定时器T1、串行口缓冲SBUF、输入移位、串行控制等寄存器及内部控制电路组成,如图3-47所示。


1.串行口数据发送与接收过程。 8051单片机通过P3.1、P3.0这两个端子接收和发送数据(1)串行口发送数据过程。 CPU通过内部总线将并行数据写入发送SBUF,在发送控制电路的控制下,按设定好的波特率,每来一次移位脉冲,通过引脚TXD向外输出一位。 帧数据发送结束后,向CPU发出中断请求,T位置1;CPU响应中断后,开始准备发送下一帧数据。 (2)串行口接收数据过程。 CPU不停检测引脚RXD上的信号,当信号中出现低电平时,在接收控制电路的控制下按设定好的波特率,每来一次移位脉冲,读取外部设备发送的一位数据到移位寄存器帧数据传输结束后,数据被存入接收SBUF,同时向CPU发出中断请求,RI位置1; CPU响应中断后,开始接收下一帧数据。 2.串行口数据缓冲器SBUF。 8051单片机串行口在物理上有两个独立的数据缓冲寄存器,可用于数据的发送和接收。 两个缓冲器使用同一个字节地址99H,需要通过指令的读写来区分是对发送缓冲器的操作还是对接收缓冲器的操作。 3.串行口控制寄存器SCON。 串行口控制寄存器SCON可进行位寻址,字节地址为98H。通过SCON可定义串行口的工作方式控制串行口数据的发送和接收。SCON的功能见表3-12。
RB8(D2位):接收到的第9位数据位。在方式0中不用该位;在方式2或方式3中RB8为接收到的第9位数据;在方式1中,若(SM2)=0,RB8则为接收到的停止位。 TB8(D3位):要发送第9位数据位。在方式2或方式3中,TB8为要发送的第9位数据,可根据需要由软件置1或0。例如:可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。 REN(D4位):允许/禁止串行接收控制位,由软件置1或0。REN=1时,表示允许串行接收;REN=0时,则禁止串行接收。 SM2(D5位):多机通信控制位,用于方式2或方式3。接收状态时,若SM2=1且RB81,则R置1。在方式1时,SM2应该写为0;在方式1时,若SM2=1,且接收到有效停止位时,RI才置1。 SMO/SM1(D7/D6位):串行口工作方式选择位。SM0和SM1确定串行口工作方式见表3-13。
SCON控制寄存器中的串行口中断标志位功能复述如下: RI(DO位):串行口接收中断标志位。当串行口接收到一帧数据时,硬件自动将RI置1,CPU响应中断后,RI标志位并不清零,需由软件清零。 TI(D1位):串行口发送中断标志位。当串行口发送一帧数据时,硬件自动将TI置1,CPU响应中断后,T标志位并不清零,需由软件清零。
4.电源控制寄存器PCON。 电源控制寄存器PCON为电源控制专用寄存器,其字节地址为97H,不能位寻址,只有最高位SMOD与串行口工作有关。PCON的功能见表3-14。
SMOD(D7位):串行口的波特率倍增位。当SMOD=1时,串行口方式1、2、3的波特率加倍;当SMOD=0时,原设定的波特率不变。

上一篇下一篇
参与回答(0条评论)
用户头像
上传
用户头像
{{item.nickname}}{{item.pubtime}}回复
回复图片
用户头像
上传
用户头像
{{item1.nickname}}回复 {{item1.othername}} {{item1.pubtime}} 回复
回复图片
用户头像
上传
查看全部回复{{item.replylist_count}}条 查看全部
收起回复 收起全部
{{isLoadList==1?'加载中...':(isLoadList==2&&(list.length <=3||(list.length>3&&!is_hidden))?'没有更多内容了':'查看更多回答')}}
返回顶部

返回顶部