www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]模式 0 又分為模式 0 輸出和模式 0 輸入兩種工作狀態(tài)。但應(yīng)注意:在這種模式下,不管輸出還是輸入,通信數(shù)據(jù)總是從 P3.0(RXD) 管腳輸出或輸入,而 P3.1(TXD) 管腳總是用于輸出移位脈沖,每一個(gè)移位脈沖將使 RXD 端輸出或者輸入一位二進(jìn)制碼。在 TXD 端 的移位脈沖即為模式 0 的波特率,其值固定為晶振頻率 fOSC 的 1/12 ,即每個(gè)機(jī)器周期移動(dòng)一位數(shù)據(jù)。

串行口的結(jié)構(gòu)比較復(fù)雜,它具有 4 種工作模式,這些工作模式可以用 SCON 中的 SM0 和 SM1 兩位編碼決定。以下著重介紹各種模式的工作原理。

模式 0:

串行口工作模式 0 為同步移位寄存器輸入/輸出模式,可外接移位寄存器,以擴(kuò)展 I/O 口。

模式 0 又分為模式 0 輸出和模式 0 輸入兩種工作狀態(tài)。但應(yīng)注意:在這種模式下,不管輸出還是輸入,通信數(shù)據(jù)總是從 P3.0(RXD) 管腳輸出或輸入,而 P3.1(TXD) 管腳總是用于輸出移位脈沖,每一個(gè)移位脈沖將使 RXD 端輸出或者輸入一位二進(jìn)制碼。在 TXD 端 的移位脈沖即為模式 0 的波特率,其值固定為晶振頻率 fOSC 的 1/12 ,即每個(gè)機(jī)器周期移動(dòng)一位數(shù)據(jù)。

(1) 模式 0 輸出狀態(tài) 。當(dāng)一個(gè)數(shù)據(jù)寫(xiě)入串行口數(shù)據(jù)緩沖器時(shí),就開(kāi)始發(fā)送。在此期間,發(fā)送控制器送出移位信號(hào),使發(fā)送移位寄存器的內(nèi)容右移一位。直至最高位(D7 位) 移出后,停止發(fā)送數(shù)據(jù)和移位脈沖,完成了發(fā)送一幀數(shù)據(jù)的過(guò)程,并置發(fā)送中斷標(biāo)志 TI 為 1,申請(qǐng)中斷或用于查詢(xún)。

這是將單片機(jī)的串行口擴(kuò)展為若干并行輸出口的工作模式,常用的外接擴(kuò)展芯片是串行輸入/8 位并行輸出的移位寄存器 74LS164 。它與單片機(jī)的連接電路如圖 6.10 所示。

圖 6.10 外接移位寄存器輸出

每片 74LS164 有兩個(gè)串行數(shù)據(jù)輸入端和一個(gè)同步移位脈沖輸入端,以及 8 個(gè)并行輸出口。時(shí)鐘 CLK 端上每一個(gè)上升沿都會(huì)使該芯片的 8 位數(shù)據(jù)輸出右移一位。

(2) 模式 0 輸入狀態(tài)。在特殊功能寄存器 SCON 中,位 REN 是串行 口允許接收控制位。當(dāng) REN=0 時(shí),禁止接收;當(dāng) REN=1 時(shí),允許接收。當(dāng)串行口置為模式 0 ,且滿(mǎn)足 REN=1 和 RI=0 的條件時(shí),就會(huì)啟動(dòng)一次接收過(guò)程。在機(jī)器周期的 S6P2 時(shí)刻,在串行口 內(nèi)接收控制器向移位寄存器寫(xiě)入 11111110 ,并在 TXD 端輸出移位脈沖,從 RXD 端輸入一位數(shù)據(jù),同時(shí)使輸入移位寄存器內(nèi)容左移一位,其右端補(bǔ)上剛由 RXD 端輸入的數(shù)據(jù)。這 樣,原先在輸入移位寄存器中的 1 就逐位從左端移出,而在 RXD 引腳上 的數(shù)據(jù)就逐位從右端移入,當(dāng)寫(xiě)入移位寄存器最左端的一個(gè) 0 移到最左端時(shí),其右邊已經(jīng)接收了 7 位數(shù)據(jù)。這時(shí),將通知接收控制器進(jìn)行最后一次移位,并把所接收的數(shù)據(jù)裝入SBUF,置位接收中斷標(biāo)志位 RI,提供申請(qǐng)中斷或查詢(xún)標(biāo)志。

這是將單片機(jī)的串行口擴(kuò)展為若干并行輸入口的工作模式,常用的外接擴(kuò)展芯片是 8 位并行輸入/串行輸出移位寄存器 74LS165 。它與單片機(jī)的連接電路如圖 6.11 所示。 74LS165 有 8 個(gè)并行輸入端,一個(gè)串行輸出端,以及一個(gè)用于移位的時(shí)鐘輸入端。在同步移位脈沖的作用下,每個(gè)脈沖使 8 位并行輸入數(shù)據(jù)左移一位,最高位移入單片機(jī) RXD 端, 8 個(gè)移位脈沖可以使 1 個(gè)字節(jié)信息通過(guò) RXD 引腳送入單片機(jī)的 SBUF 中。

圖 6.11 外接移位寄存器輸入

模式 1 :

串行口工作于模式 1 時(shí),為波特率可變的 8 位異步通信接口 。數(shù)據(jù)位由 P3.0(RXD) 端接收,由 P3.1(TXD) 端發(fā)送。傳送一幀信息為 10 位:一位起始位(0),8 位數(shù)據(jù)位(低位 在前) 和一位停止位(1)。 波特率是可變的,它取決于定時(shí)器 T1 的溢出速率及 SMOD 的狀態(tài)。

(1) 模式 1 發(fā)送過(guò)程。用軟件清除 TI 后,CPU 執(zhí)行任何一條以 SBUF 為目標(biāo)寄存器的指令,就啟動(dòng)發(fā)送過(guò)程。數(shù)據(jù)由 TXD 引腳輸 出,此 的發(fā)送移位脈沖是 由定時(shí)器/計(jì)數(shù)器 T1 送來(lái)的溢出信號(hào)經(jīng)過(guò) 16 或 32 分頻而取得的。一幀信號(hào)發(fā)送完時(shí),將置位發(fā)送中斷 標(biāo)志 TI=1,向 CPU 申請(qǐng)中斷,完成一次發(fā)送過(guò)程。

(2) 模式 1 接收過(guò)程。用軟件清除 RI 后,當(dāng)允許接收位 REN 被置位 1 時(shí),接收器以 選定波特率的 16 倍的速率采樣 RXD 引腳上的電平,即在一個(gè)數(shù)據(jù)位期間有 16 個(gè)檢測(cè)脈沖,并在第 7 、8 、9 個(gè)脈沖期間采樣接收信號(hào),然后用三中取二的原則確定檢測(cè)值,以抑制 干擾。并且采樣是在每個(gè)數(shù)據(jù)位的中間,避免了信號(hào)邊沿的波形失真造成的采樣錯(cuò)誤。當(dāng)檢測(cè)到有從“1”到“0”的負(fù)跳變時(shí),則啟動(dòng)接收過(guò)程,在接收移位脈沖的控制下,接收完一幀信息。當(dāng)最后一次移位脈沖產(chǎn)生時(shí)能滿(mǎn)足下列兩個(gè)條件:

① RI=0 ;

② 接收到的停止位為 1 或 SM2=0 。

則停止位送入 RB8 ,8 位數(shù)據(jù)進(jìn)入 SBUF,并置接收中斷標(biāo)志位 RI=1 ,向 CPU 發(fā)出中斷 求,完成一次接收過(guò)程。否則,所接收的一幀信息將丟失,接收器復(fù)位,并重新檢測(cè)由“1”至“0”的負(fù)跳變,以便接收下一幀信息。注意:接收中斷標(biāo)志應(yīng)由軟件清除,通常串行口以模式 1 工作時(shí),SM2 設(shè)置為“0”。

模式 2 和模式 3:

串行口工作于模式 2 和模式 3 時(shí),被定義為 9 位異步通信接口。它們的每幀數(shù)據(jù)結(jié)構(gòu)是 11 位的:最低位是起始位(0),其后是 8 位數(shù)據(jù)位(低位在先),第 10 位是用戶(hù)定義位 (SCON 中的 TB8 或 RB8),最后一位是停止位(1)。模式 2 和模式 3 工作原理相似 ,唯一的差別是模式 2 的波特率是固定的,即為 fOSC/32 或 fOSC/64;而模式 3 的波特率是可變的,與定時(shí)器 T1 的溢出率有關(guān)。

(1) 模式 2 和模式 3 的發(fā)送過(guò)程。發(fā)送過(guò)程是由執(zhí)行任何一條 SBUF 為目的寄存器的指令來(lái)啟動(dòng)的。由“寫(xiě)入 SBUF”信號(hào)把 8 位數(shù)據(jù)裝入 SBUF ,同時(shí)還把 TB8 裝入發(fā)送移位寄存器的第 9 位,并通知發(fā)送控制器要求進(jìn)行一次發(fā)送。發(fā)送開(kāi)始,把一個(gè)起始位(0) 送到 TXD 端。移位后,數(shù)據(jù)由移位寄存器送到 TXD 端。再過(guò)一位,出現(xiàn)第一個(gè)移位脈沖。第一次移位時(shí),把一個(gè)停止位“1”由控制器的停止位發(fā)生端送入移位寄存器的第 9 位。此后,每次移位時(shí),把 0 送入第 9 位。因此,當(dāng) TB8 的內(nèi)容送到移位寄存器的輸出位置時(shí),其左面一位是停止位“1”,而再往左的所有位全為“0”。這種狀態(tài)由零檢測(cè)器檢測(cè)到后,就通知發(fā)送控制器作最后一次移位,然后置 TI=1 ,請(qǐng)求申請(qǐng)中斷 。第 9 位數(shù)據(jù)(TB8) 由軟件置位或清零,可以作為數(shù)據(jù)的奇偶校驗(yàn)位,也可以作為 多機(jī)通信中的地址、數(shù)據(jù)標(biāo)志位。如把 TB8 作為奇偶校驗(yàn) 位 ,可以在發(fā)送程序中 ,在數(shù)據(jù)寫(xiě)入 SBUF 之前,先將數(shù)據(jù)位寫(xiě)入 TB8 。

(2) 模式 2 和模式 3 接收過(guò)程。與模式 1 類(lèi)似,模式 2 和模式 3 接收過(guò)程始于在 RXD 端檢測(cè)到負(fù)跳變時(shí),為此,CPU 以波特率 16 倍的采樣速率對(duì) RXD 端不斷采樣。一檢測(cè)到負(fù)跳變,16 分頻計(jì)數(shù)器就立刻復(fù)位,同時(shí)把 1FFH 寫(xiě)入輸入移位寄存器。計(jì)數(shù)器 的 16 個(gè) 狀態(tài)把一位時(shí)間等分成 16 份,在每一位的第 7 、8 、9 個(gè)狀態(tài)時(shí),位檢測(cè)器對(duì) RXD 端 的值采樣。如果所接收到的起始位無(wú)效(為 1), 則復(fù)位接收電路,等待另一個(gè)負(fù)跳變的到來(lái)。若 起始位有效(為 0), 則起始位移入移位寄存器,并開(kāi)始接收這一幀的其余位。當(dāng)起始位 0 移到最左面時(shí),通知接收控制器進(jìn)行最后一次移位。把 8 位數(shù)據(jù)裝入接收緩沖器 SBUF,第 9 位數(shù)據(jù)裝入 SCON 中的 RB8,并置中斷標(biāo)志 RI=1。裝入 SBUF 和 RB8 以及置位 RI 的信號(hào)只有在產(chǎn)生最后一個(gè)移位脈沖且同滿(mǎn)足下列兩個(gè)條件時(shí),才會(huì)產(chǎn)生:

① RI=0 ;

② SM2=0 或接收到的第 9 位數(shù)據(jù)為“1”。

上述兩個(gè)條件中任一個(gè)不滿(mǎn)足,所接收的數(shù)據(jù)幀就會(huì)丟失,不再恢復(fù)。兩者都滿(mǎn)足時(shí),第 9 位數(shù)據(jù)裝入 TB8 ,前 8 位數(shù)據(jù)裝入 SBUF 。

請(qǐng)注意:與模式 1 不 同,模式 2 和 3 中裝入 RB8 的是第 9 位數(shù)據(jù),而不是停止位, 所接收的停止位的值與 SBUF、RB8 和 RI 都沒(méi)有關(guān)系,利用這一特點(diǎn)可將其用于多機(jī)通信中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在許多應(yīng)用中,我們需要將多個(gè)單片機(jī)連接在一起,實(shí)現(xiàn)它們之間的數(shù)據(jù)傳輸和通信。多機(jī)通信是指多個(gè)單片機(jī)之間通過(guò)一定的通信協(xié)議和方式進(jìn)行數(shù)據(jù)交換的過(guò)程。在多機(jī)通信中,每個(gè)單片機(jī)都有其獨(dú)立的地址,可以根據(jù)需要與其它單片機(jī)進(jìn)行數(shù)據(jù)...

關(guān)鍵字: 單片機(jī) 多機(jī)通信

在多機(jī)通信過(guò)程中,主機(jī)先發(fā)送某一從機(jī)的地址,等待從機(jī)的應(yīng)答,所有的從機(jī)接收到地址幀后與本機(jī)地址進(jìn)行比較,若相同,則將SM2置0準(zhǔn)備接收數(shù)據(jù);若不同,則丟棄當(dāng)前數(shù)據(jù),SM2位不變。

關(guān)鍵字: 單片機(jī) 多機(jī)通信 通信

USB接口是一種常見(jiàn)的串行接口,它的全稱(chēng)是Universal Serial Bus,由USB Implementers Forum制定。USB接口具有通用性強(qiáng)、傳輸速度快、支持多種設(shè)備同時(shí)連接等優(yōu)點(diǎn),因此在現(xiàn)代電子設(shè)備中...

關(guān)鍵字: USB 接口 串行接口

CPU 與外部設(shè)備交換數(shù)據(jù)有并行和串行通信兩種方式。并行通信是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送的方式。其特點(diǎn)是傳送速度快、效率高,顯然并行傳送的數(shù)據(jù)有多少位,就需要有多少根傳輸線(xiàn)。當(dāng)傳送距離較遠(yuǎn)時(shí),位數(shù)較多就會(huì)導(dǎo)致通信線(xiàn)路成本的...

關(guān)鍵字: 串行通信 MCS 51 單片機(jī) 串行接口

串行接口簡(jiǎn)稱(chēng)串口,也稱(chēng)串行通信接口或串行通訊接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。串行接口 (Serial Interface)是指數(shù)據(jù)一位一位地順序傳送。其特點(diǎn)是通信線(xiàn)路簡(jiǎn)單,只要一對(duì)傳輸線(xiàn)就可以實(shí)現(xiàn)...

關(guān)鍵字: 串行接口 遠(yuǎn)距離通信 傳送速度

串口調(diào)試軟件是一款軟件。串口叫做串行接口,也稱(chēng)串行通信接口,按電氣標(biāo)準(zhǔn)及協(xié)議來(lái)分包括RS-232-C、RS-422、RS485、USB等。

關(guān)鍵字: 串口調(diào)試軟件 串行接口

  對(duì)單一設(shè)備的控制操作比較方便,但是要實(shí)現(xiàn)對(duì)多個(gè)設(shè)備的控制就不那么簡(jiǎn)單了。它需要的時(shí)序、接口標(biāo)準(zhǔn)、通信協(xié)議等相互配合,才能夠?qū)崿F(xiàn)相互之間的通信。最近開(kāi)始了《智能化車(chē)位指示管理系統(tǒng)》的設(shè)計(jì),才體

關(guān)鍵字: 串行接口 rs-232 串口通信協(xié)議

通過(guò)AK100Pro連接芯片的單線(xiàn)異步串行接口實(shí)現(xiàn)在板燒錄,只需要一根信號(hào)線(xiàn),照樣也可以達(dá)到高速通訊的效果,絲毫不遜于標(biāo)準(zhǔn)的異步串行接口,最主要的,采用單線(xiàn)串口還能減少繁瑣接線(xiàn)的煩惱。

關(guān)鍵字: 串行接口 芯片

1. 簡(jiǎn)介 很長(zhǎng)時(shí)間以來(lái),RS232在通信領(lǐng)域一直用來(lái)作為DTE(Data Terminal Equipment)和DCE(Data Circuit-terminaTIng Equipm

關(guān)鍵字: rs232 串行接口 以太網(wǎng)

單片機(jī)構(gòu)成的多機(jī)通信系統(tǒng)中常采用總線(xiàn)型主從式結(jié)構(gòu)。在多個(gè)單片機(jī)組成的系統(tǒng)中,只允許存在一個(gè)主機(jī),其他的就是從機(jī),從機(jī)要服從主機(jī)的控制,這就是總線(xiàn)型主從式結(jié)構(gòu)。

關(guān)鍵字: 單片機(jī) 多機(jī)通信
關(guān)閉