单片机第七MCS单片机串行接口精要.pptVIP

  • 1
  • 0
  • 约5.19千字
  • 约 31页
  • 2016-05-28 发布于湖北
  • 举报
7第七章 MCS-51单片机串行接口 1 串行口控制寄存器(SCON) SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为98H,位地址为98H~9FH。寄存器的内容及位地址表示如下: 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI 7-1 串行口控制寄存器 各位的说明如下: 1)SM0 、SM1——串行口工作方式选择位 其状态组合和对应工作方式为: SM0 SM1 工作方式 0??????? 0 方式0 0????? 1 方式1 1?????? 0 方式2 1 1 方式3 2)M2——允许方式2、3的多机通信控制位 在方式2和3中,若SM2=1且接收到的第九位数据(RB8)为1,才将接收到的前8位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8位数据。若 SM2=0,则不论第九位数据(RB8)为1还是为0,都将 前8位送入接收SBUF中,并产生中断请求。 方式0时,SM2必须置0。 3)REN——允许接收位 REN=0 禁止接收数据 REN=1 允许接收数据 4)TB8——发送数据位8 在方式2、3时,TB8的内容是要发送的第9位数据,其值由用户通过软件来设置。 5)RB8——接收数据位8 在方式2、3时,RB8是接收的第9位数据。 在方式1时,RB8是接收的停止位 在方式0时,不使用RB8 6)TI——发送中断标志位 在方式0时,发送完第8位数据后,该位由硬件置位。 在其它方式下,于发送停止位之前,由硬件置位。 因此,TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。 TI由软件清“0”。 7)RI——接收中断标志位 在方式0时,接收完第8位数据后,该位由硬件置位。 在其它方式下,于接收到停止位之前,该位由硬件置位。 因此,RI=1表示帧接收结束,其状态既可供软件查询使用, 也可请求中断。 RI由软件清“0”。 2 串行口缓冲区SBUF SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。CPU在写SBUF,就是修改发送缓冲器;读SBUF,就是读接收缓冲器。串行口对外也有两条独立的收发信号线RxD、TxD,因此可以同时发送、接收数据,实现全双工。 PCON不可位寻址,字节地址为87H。它主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。其内容如下: 与串行通信有关的只有D7位(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。当系统复位时,SMOD=0。 位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD / / / GF1 GF0 PD IDL 3 电源控制寄存器(PCON) 7-2 MCS-51串行的工作方式 SM0 SM1 方式 功能说明 波特率 0 0 方式0 移位寄存器方式 fosc/12 0 1 方式1 8位UART 可变 1 0 方式2 9位UART fosc/64 或者fosc/32 1 1 方式3 9位UART 可变 表8-1 串行口工作方式 串行口的工作方式由SM0和SM1确定,编码和功能如表8-1所示。 方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由T1的溢出率决定。 1 数据输出(发送) 当数据写入SBUF后,数据从RXD端在移位脉冲(TXD)的 控制下,逐位移入74LS164,74LS164能完成数据的串并转换。当8位数据全部移出后,TI由硬件置位,发生中断请求。若CPU响应中断,则从0023H单元开始执行串行口中断服务程序,数据由74LS164并行输出。其接口逻辑如图8.3所示。 图8.3接口逻辑 一、串行工作方式0 2 数据输入(接收) 要实现接收数据,必须首先把

文档评论(0)

1亿VIP精品文档

相关文档