新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)教程:?jiǎn)纹瑱C(jī)串行口介紹

51單片機(jī)教程:?jiǎn)纹瑱C(jī)串行口介紹

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

方式1為波特率可變的10位異步通信接口方式。發(fā)送或接收一幀信息,包括1個(gè)起始位0,8個(gè)數(shù)據(jù)位和1個(gè)停止位1。

輸出 當(dāng)CPU執(zhí)行一條指令將數(shù)據(jù)寫入發(fā)送緩沖SBUF時(shí),就啟動(dòng)發(fā)送。數(shù)據(jù)從TXD管腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位TI。

輸入 在(REN)=1時(shí),口采樣RXD管腳,當(dāng)采樣到1至0的跳變時(shí),確認(rèn)是開(kāi)始位0,就開(kāi)始接收一幀數(shù)據(jù)。只有當(dāng)(RI)=0且停止位為1或者(SM2)=0時(shí),停止位才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;不然信息丟失。所以在方式1接收時(shí),應(yīng)先用軟件清零RI和SM2標(biāo)志。

方式2

方式月為固定波特率的11位UART方式。它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。

輸出: 發(fā)送的數(shù)據(jù)由TXD端輸出一幀信息為11位,附加的第9位來(lái)自SCON寄存器的TB8位,用軟件置位或復(fù)位。它可作為多機(jī)通信中地址/數(shù)據(jù)信息的標(biāo)志位,也能作為數(shù)據(jù)的奇偶校驗(yàn)位。當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫入SUBF的指令時(shí),就啟動(dòng)發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標(biāo)志TI。

輸入: 在(REN)=1時(shí),串行口采樣RXD管腳,當(dāng)采樣到1至0的跳變時(shí),確認(rèn)是開(kāi)始位0,就開(kāi)始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當(dāng)(RI)=0或者(SM2)=0時(shí),第9位數(shù)據(jù)才進(jìn)入RB8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志RI;不然信息丟失。且不置位RI。再過(guò)一位時(shí)間后,不管上述條件時(shí)否滿足,接收電路即行復(fù)位,并重新檢測(cè)RXD上從1到0的跳變。

工作方式3

方式3為波特率可變的11位UART方式。除波特率外,其余與方式2相同。

波特率選擇

如前所述,在串行通信中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有一定的約定。在8051串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時(shí)器T1的溢出率控制。

方式0

方式0的波特率固定為主振頻率的1/12。

方式2

方式2的波特率由PCON中的選擇位SMOD來(lái)決定,可由下式表示:

波特率=2的SMOD次方除以64再乘一個(gè)fosc,也就是當(dāng)SMOD=1時(shí),波特率為1/32fosc,當(dāng)SMOD=0時(shí),波特率為1/64fosc

3.方式1和方式3

定時(shí)器T1作為波特率發(fā)生器,其公式如下:

波特率=點(diǎn)擊瀏覽下一頁(yè)定時(shí)器T1溢出率

T1溢出率= T1計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù)

式中T1計(jì)數(shù)率取決于它工作在定時(shí)器狀態(tài)還是計(jì)數(shù)器狀態(tài)。當(dāng)工作于定時(shí)器狀態(tài)時(shí),T1計(jì)數(shù)率為fosc/12;當(dāng)工作于計(jì)數(shù)器狀態(tài)時(shí),T1計(jì)數(shù)率為外部輸入頻率,此頻率應(yīng)小于fosc/24。產(chǎn)生溢出所需周期與定時(shí)器T1的工作方式、T1的預(yù)置值有關(guān)。

定時(shí)器T1工作于方式0:溢出所需周期數(shù)=8192-x

定時(shí)器T1工作于方式1:溢出所需周期數(shù)=65536-x

定時(shí)器T1工作于方式2:溢出所需周期數(shù)=256-x

因?yàn)榉绞?為自動(dòng)重裝入初值的8位定時(shí)器/計(jì)數(shù)器模式,所以用它來(lái)做波特率發(fā)生器最恰當(dāng)。

當(dāng)時(shí)鐘頻率選用11.0592MHZ時(shí),取易獲得標(biāo)準(zhǔn)的波特率,所以很多系統(tǒng)選用這個(gè)看起來(lái)“怪”的晶體震蕩器就是這個(gè)道理。

下表列出了定時(shí)器T1工作于方式2常用波特率及初值。

38.jpg


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 單片機(jī) 介紹 教程 串行

評(píng)論


相關(guān)推薦

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

關(guān)閉