<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機串行通訊口的工作方式詳解

單片機串行通訊口的工作方式詳解

作者: 時(shí)間:2013-05-14 來(lái)源:網(wǎng)絡(luò ) 收藏

1.數據緩沖器SBUF

發(fā)送SBUF和接收SBUF共用一個(gè)地址99H 。

1)發(fā)送SBUF存放待發(fā)送的8位數據,寫(xiě)入SBUF將同時(shí)啟動(dòng)發(fā)送。

發(fā)送指令:MOV SBUF,A

2)接收SBUF存放已接收成功的8位數據,供CPU讀取。

讀取串行口接收數據指令:MOV A,SBUF

2.串行口控制/狀態(tài)寄存器SCON(98H)

SM0,SM1:選擇串行口4種。

SM2:多機控制位,用于多機通訊。

REN:允許接收控制位,REN=1,允許接收;REN=0,禁止接收。

TB8發(fā)送的第9位數據位,可用作校驗位和地址/數據標識位

RB8:接收的第9位數據位或停止位

TI:發(fā)送中斷標志,發(fā)送一幀結束,TI=1,必須軟件清零

RI:接收中斷標志,接收一幀結束,RI=1,必須軟件清零

3.節電控制寄存器PCON

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

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

串行接口的

SM0,SM1選擇四種。

(1) 方式0:同步移位寄存器方式。用于擴展并行I/O接口。

1.一幀8位,無(wú)起始位和停止位。

2.RXD:數據輸入/輸出端。TXD:同步脈沖輸出端,每個(gè)脈沖對應一個(gè)數據位。

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

4.發(fā)送過(guò)程:寫(xiě)入SBUF,啟動(dòng)發(fā)送,一幀發(fā)送結束,TI=1。接收過(guò)程:REN=1且RI=0,啟動(dòng)接收,一幀接收完畢,RI=1。

(2) 方式1:8位數據異步通訊方式。

1.一幀10位:8位數據位,1個(gè)起始位(0),1個(gè)停止位(1)。

2.RXD:接收數據端。 TXD:發(fā)送數據端。

3.波特率:用T1作為波特率發(fā)生器,B=(2SMOD/32)×T1溢出率。

4.發(fā)送:寫(xiě)入SBUF,同時(shí)啟動(dòng)發(fā)送,一幀發(fā)送結束,TI=1。接收:REN=1,允許接收。接收完一幀,若RI=0且停止位為1 (或SM2=0),將接收數據裝入SBUF,停止位裝入RB8,并使RI=1;否則丟棄接收數據,不置位RI。

(3) 方式2和方式3:9位數據異步通訊方式。

1.一幀為11位:9位數據位,1個(gè)起始位(0),1個(gè)停止位(1)。 第9位數據位在TB8/RB8中,常用作校驗位和多機通訊標識位。

2.RXD:接收數據端,TXD:發(fā)送數據端。

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

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

4.發(fā)送:先裝入TB8,寫(xiě)入SBUF并啟動(dòng)發(fā)送,發(fā)送結束,TI=1。接收:REN=1,允許接收。接收完一幀,若RI=0且第9位為1 (或SM2=0),將接收數據裝入接收SBUF,第9位裝入RB8,使RI=1;否則丟棄接收數據,不置位RI。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>