<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í)間:2012-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏

與外界進(jìn)行信息交換的工具。

8051的通信方式有兩種:

并行通信:數據的各位同時(shí)發(fā)送或接收。 串行通信:數據一位一位次序發(fā)送或接收。參看下圖:

點(diǎn)擊瀏覽下一頁(yè)

串行通信的方式:

異步通信:它用一個(gè)起始位表示字符的開(kāi)始,用停止位表示字符的結束。其每幀的格式如下:

在一幀格式中,先是一個(gè)起始位0,然后是8個(gè)數據位,規定低位在前,高位在后,接下來(lái)是奇偶校驗位(能省略),最后是停止位1。用這種格式表示字符,則字符能一個(gè)接一個(gè)地傳送。

在異步通信中,CPU與外設之間必須有兩項規定,即字符格式和波特率。字符格式的規定是雙方能夠在對同一種0和1的串理解成同一種意義。原則上字符格式能由通信的雙方自由制定,但從通用、方便的角度出發(fā),一般還是使用一些標準為好,如采用ASCII標準。

波特率即數據傳送的速率,其定義是每秒鐘傳送的二進(jìn)制數的位數。例如,數據傳送的速率是120字符/s,而每個(gè)字符如上述規定包含10數位,則傳送波特率為1200波特。

同步通信:在同步通信中,每個(gè)字符要用起始位和停止位作為字符開(kāi)始和結束的標志,占用了時(shí)間;所以在數據塊傳遞時(shí),為了提高速度,常去掉這些標志,采用同步傳送。由于數據塊傳遞開(kāi)始要用同步字符來(lái)指示,同時(shí)要求由時(shí)鐘來(lái)實(shí)現發(fā)送端與接收端之間的同步,故硬件較復雜。

通信方向:在串行通信中,把通信接口只能發(fā)送或接收的單向傳送辦法叫單工傳送;而把數據在甲乙兩機之間的雙向傳遞,稱(chēng)之為雙工傳送。在雙工傳送方式中又分為半雙工傳送和全雙工傳送。半雙工傳送是兩機之間不能同時(shí)進(jìn)行發(fā)送和接收,任一時(shí)該,只能發(fā)或者只能收信息。

2.8051的串行接口結構

8051單片機串行接口是一個(gè)可編程的全雙工串行通信接口。它可用作異步通信方式(UART),與串行傳送信息的外部設備相連接,或用于通過(guò)標準異步通信協(xié)議進(jìn)行全雙工的8051多機系統也能通過(guò)同步方式,使用TTL或CMOS移位寄存器來(lái)擴充I/O口。

8051單片機通過(guò)管腳RXD(P3.0,串行數據接收端)和管腳TXD(P3.1,串行數據發(fā)送端)與外界通信。SBUF是緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會(huì )出現沖突,因為它們兩個(gè)一個(gè)只能被CPU讀出數據,一個(gè)只能被CPU寫(xiě)入數據。

的控制與狀態(tài)寄存器

串行口控制寄存器SCON

39.jpg

其中fosc為晶體震蕩器頻率

SM2:多機通信控制位。在方式0時(shí),SM2一定要等于0。在方式1中,當(SM2)=1則只有接收到有效停止位時(shí),RI才置1。在方式2或方式3當(SM2)=1且接收到的第九位數據RB8=0時(shí),RI才置1。

REN:接收允許控制位。由軟件置位以允許接收,又由軟件清0來(lái)禁止接收。

TB8: 是要發(fā)送數據的第9位。在方式2或方式3中,要發(fā)送的第9位數據,根據需要由軟件置1或清0。例如,可約定作為奇偶校驗位,或在多機通信中作為區別地址幀或數據幀的標志位。

RB8:接收到的數據的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8為接收到的停止位。在方式2或方式3中,RB8為接收到的第9位數據。

TI:發(fā)送中斷標志。在方式0中,第8位發(fā)送結束時(shí),由硬件置位。在其它方式的發(fā)送停止位前,由硬件置位。TI置位既表示一幀信息發(fā)送結束,同時(shí)也是申請中斷,可根據需要,用軟件查詢(xún)的辦法獲得數據已發(fā)送完畢的信息,或用中斷的方式來(lái)發(fā)送下一個(gè)數據。TI必須用軟件清0。

RI:接收中斷標志位。在方式0,當接收完第8位數據后,由硬件置位。在其它方式中,在接收到停止位的中間時(shí)刻由硬件置位(例外情況見(jiàn)于SM2的說(shuō)明)。RI置位表示一幀數據接收完畢,可用查詢(xún)的辦法獲知或者用中斷的辦法獲知。RI也必須用軟件清0。


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

關(guān)鍵詞: 單片機 串行口 80C51

評論


相關(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>