电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

单片机串行口作业办法详解

2017-10-03 22:18分类:电子技术 阅读:

 

单片机串行口作业办法详解
1.数据缓冲器SBUF

发送SBUF和接纳SBUF共用一个地址99H 。

1)发送SBUF寄存待发送的8位数据,写入SBUF将一同主张发送。

发送指令:MOV SBUF,A

2)接纳SBUF寄存已接纳成功的8位数据,供CPU读取。

读取串行口接纳数据指令:MOV A,SBUF

2.串行口操控/状况寄存器SCON(98H)

SM0,SM1:挑选串行口4种作业办法。

SM2:多机操控位,用于多机通讯。

REN:容许接纳操控位,REN=1,容许接纳;REN=0,阻挠接纳。

TB8发送的第9位数据位,可用作校验位和地址/数据标识位

RB8:接纳的第9位数据位或中止位

TI:发送中止象征,发送一帧完毕,TI=1,有必要软件清零

RI:接纳中止象征,接纳一帧完毕,RI=1,有必要软件清零

3.节省用电操控寄存器PCON

SMOD(PCON.7):波特率加倍操控位。

SMOD=1,波特率加倍, SMOD=0,则不加倍。

串行接口的作业办法

SM0,SM1挑选四种作业办法。

(1) 办法0:同步移位寄存器办法。用于拓展并行I/O接口。

1.一帧8位,无开端位和中止位。

2.RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。

3.波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1ms。

4.发送进程:写入SBUF,主张发送,一帧发送完毕,TI=1。接纳进程:REN=1且RI=0,主张接纳,一帧接纳完毕,RI=1。

(2) 办法1:8位数据异步通讯办法。

1.一帧10位:8位数据位,1个开端位(0),1个中止位(1)。

2.RXD:接纳数据端。 TXD:发送数据端。

3.波特率:用T1作为波特率发作器,B=(2SMOD/32)×T1溢出率。

4.发送:写入SBUF,一同主张发送,一帧发送完毕,TI=1。接纳:REN=1,容许接纳。接纳完一帧,若RI=0且中止位为1 (或SM2=0),将接纳数据装入SBUF,中止位装入RB8,并使RI=1;不然扔掉接纳数据,不置位RI。

(3) 办法2和办法3:9位数据异步通讯办法。

1.一帧为11位:9位数据位,1个开端位(0),1个中止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。

2.RXD:接纳数据端,TXD:发送数据端。

3.波特率: 办法2:B=(2SMOD/64)×fosc 。

办法3:B=(2SMOD/32)×T1溢出率 。

4.发送:先装入TB8,写入SBUF并主张发送,发送完毕,TI=1。接纳:REN=1,容许接纳。接纳完一帧,若RI=0且第9位为1 (或SM2=0),将接纳数据装入接纳SBUF,第9位装入RB8,使RI=1;不然扔掉接纳数据,不置位RI。

上一篇:色环电阻数值读取办法

下一篇:多见电容器制造资料的挑选

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部