51单片机--串口设置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机---串口通讯

一、简介

MCS-51单片机内部有一个可编程的双向全双工串行通信接口,简称串口;该串口有4种工作方式,以适用于不同场合;其波特率由单片机内部的定时器/计数器产生,可由软件设置;接收和发送均可工作在查询模式和中断模式,比较灵活;

二、串口结构与控制

MCS-51单片机内部的串口拥有两个物理上相互独立的接收、发送缓冲器SBUF,可以同时接收和发送数据;发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入;两个缓冲器占用同一个地址(99H);控制MCS-51单片机串口的寄存器有两个SCON和PCON;

1、串口工作方式控制寄存器SCON(99H)

如下图:

(1)、SM0和SM1:控制单片机的工作方式;

(2)、SM2:允许方式2和方式3进行多机通信控制位;

(3)、REN:允许串行接收控制位;1-允许接收;0-禁止接收;

(4)、TB8:用于工作在方式2和方式3时存放要发送的第9位数据,根据需要,由软件设置;

(5)、RB8:用于工作在方式2和方式3时存放接收到的第9位数据;

(6)、TI:发送中断标志位,必须由软件清0;当发送完一帧数据时,就产生一个中断,此时TI被硬件自动置1,用于标记产生了发送中断;

(7)、RI:接收中断标志位,必须由软件清0;当接收完一帧数据时,就产生一个中断,此时RI被硬件自动置1,用于标记产生了接收中断;

2、特殊功能寄存器PCON(87H)

如下图:

(1)、SMOD:波特率倍增位;当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍;

(2)、GF1和GF0:两个通用标志,供用户使用;

(3)、PD和IDL:CHMOS型8051单片机的低功耗控制位;

三、串口的工作方式

串口的工作方式有4种,由特殊功能寄存器SCON的SM0位和SM1位共同决定;

如下表:

1、方式0:

该方式下,串口为同步移位寄存器输入/输出方式,其波特率固定不变为Fosc/12;数据由RXD(P3.0)口输入/输出,同步移位脉冲由TXD(P3.1)端输出,发送接收的都是8位数据,低位在先;

2、方式1:

当SM0SM1=01时,串口以该方式工作,此时的串口为8位异步通信接口;

3、方式2:

当SM0SM1=10时,串口以该方式工作,此时,发送和接收的都是一帧数据,即:由11位组成,其中第1位是起始位,接下来的8位是用户数据(低位在先),然后是1位可编程位(第9位数据),最后一位是停止位;RB8/TB8根据需要,设置成0或1,作为多机通信中的地址数据标志位或数据的奇偶检验位;

4、方式3:

当SM0SM1=11时,串口以该方式工作,该方式是波特率可变的9位异步通信方式,除了波特率外,方式3与方式2相同;

四、波特率的计算

方式0: Buard = Fosc/12

方式1: Buard = K*Fosc/[32*12*(256-TH1)]

方式2: Buard = K*Fosc/64

方式3: Buard = K*Fosc/[32*12*(256-TH1)]

注:若波特率的倍增位SMOD=0,则K=1;若SMOD=1,则K=2;

五、串口初始化

STEP1:设置串口工作模式(如:SCON=0x50);

STEP2:配置定时器

STEP2-1:设置定时器T1工作在模式2(T如:MOD=0x02自动重装预置数模式);

STEP2-2:给定时器T1装初始值(THx/TLx);

STEP2-3:启动定时器(TR1=1);

STEP3:如果让串口工作在中断模式,则还需要把RI/TI清0,同时开串口中断(ES=1)和CPU总中断(EA=1);

相关文档
最新文档