新聞中心

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

        單片機(jī)串行通訊口的工作方式詳解

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

        1.數(shù)據(jù)緩沖器SBUF

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

        1)發(fā)送SBUF存放待發(fā)送的8位數(shù)據(jù),寫入SBUF將同時啟動發(fā)送。

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

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

        讀取串行口接收數(shù)據(jù)指令:MOV A,SBUF

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

        SM0,SM1:選擇串行口4種

        SM2:多機(jī)控制位,用于多機(jī)通訊。

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

        TB8發(fā)送的第9位數(shù)據(jù)位,可用作校驗(yàn)位和地址/數(shù)據(jù)標(biāo)識位

        RB8:接收的第9位數(shù)據(jù)位或停止位

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

        RI:接收中斷標(biāo)志,接收一幀結(jié)束,RI=1,必須軟件清零

        3.節(jié)電控制寄存器PCON

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

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

        串行接口的

        SM0,SM1選擇四種

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

        1.一幀8位,無起始位和停止位。

        2.RXD:數(shù)據(jù)輸入/輸出端。TXD:同步脈沖輸出端,每個脈沖對應(yīng)一個數(shù)據(jù)位。

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

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

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

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

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

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

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

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

        1.一幀為11位:9位數(shù)據(jù)位,1個起始位(0),1個停止位(1)。 第9位數(shù)據(jù)位在TB8/RB8中,常用作校驗(yàn)位和多機(jī)通訊標(biāo)識位。

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

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

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

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



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武安市| 伊宁县| 保定市| 和田市| 德令哈市| 旅游| 铜鼓县| 奈曼旗| 衡东县| 香港 | 比如县| 贞丰县| 武夷山市| 额敏县| 彰化县| 铜陵市| 阳曲县| 台前县| 揭西县| 衡阳县| 攀枝花市| 名山县| 天峨县| 大姚县| 合肥市| 项城市| 大英县| 宁津县| 综艺| 谢通门县| 乐昌市| 信宜市| 浮梁县| 洛南县| 虎林市| 甘洛县| 伊金霍洛旗| 麻江县| 阿合奇县| 来凤县| 长寿区|