freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)技術(shù)及應(yīng)用--第七章單片機(jī)串行接口(已修改)

2024-12-20 08:02 本頁(yè)面
 

【正文】 單 片 機(jī) 技 術(shù) 與 應(yīng) 用 實(shí) 踐 第 7章 單片機(jī)串行接口 串行接口通信概述 常用的串行通信總線 MCS51單片機(jī)之間的通信 實(shí) 踐 訓(xùn) 練 單片機(jī)技術(shù)與應(yīng)用實(shí)踐 串行接口通信概述 串行通信基礎(chǔ)及基本概念 1.并行通信和串行通信 并行通信,即數(shù)據(jù)的各位同時(shí)傳送;串行通信,即數(shù)據(jù)一位一位順序傳送。上述兩種基本通信方式比較起來(lái),串行通信能夠節(jié)省傳輸線,特別是數(shù)據(jù)位數(shù)很多和遠(yuǎn)距離數(shù)據(jù)傳送時(shí),這一優(yōu)點(diǎn)更為突出;串行通信方式的主要缺點(diǎn)是傳送速度比并行通信要慢,如圖 71所示。 圖 71 兩種通信方式的示意圖 2.串行通信中的數(shù)據(jù)傳輸方向 在串行通信中數(shù)據(jù)是在兩個(gè)站之間進(jìn)行傳送的。按照數(shù)據(jù)傳送方向,串行通信可分為單工、半雙工和全雙工 3種制式。在單工制式下,通信線的一端接發(fā)送器,另一端接接收器,數(shù)據(jù)只能按照一個(gè)固定的方向傳送,如圖 72(a)所示。 在半雙工制式下,系統(tǒng)的每個(gè)通信設(shè)備都由一個(gè)發(fā)送器和一個(gè)接收器組成,如圖 72(b)所示。在這種制式下,數(shù)據(jù)能從 A站傳送到 B站,也可以從 B站傳送到 A站,但是不能同時(shí)在兩個(gè)方向上傳送,即只能一端發(fā)送一端接收。其收、發(fā)開(kāi)關(guān)一般是由軟件控制的電子開(kāi)關(guān)。全雙工通信系統(tǒng)的每端都有發(fā)送器和接收器,可以同時(shí)發(fā)送和接收,即數(shù)據(jù)可以在兩個(gè)方向上同時(shí)傳送,如圖 72(c)所示。 圖 72 單工、半雙工和全雙工 3種制式示意圖 3.同步通信和異步通信 同步通信的基本特征是發(fā)送和接收保持嚴(yán)格同步。由于 8051單片機(jī)沒(méi)有同步串行通信的方式,這里不詳介紹。 在異步通信中,數(shù)據(jù)通常是以字符為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,每一幀數(shù)據(jù)是低位在前,高位在后,通過(guò)傳輸線被接收端一幀一幀地接收。發(fā)送端和接收端可以由各自獨(dú)立的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘彼此獨(dú)立,互不同步。在異步通信中,接收端是依靠字符幀格式來(lái)判斷發(fā)送端是何時(shí)開(kāi)始發(fā)送何時(shí)結(jié)束發(fā)送的。字符幀格式是異步通信的一個(gè)重要指標(biāo)。字符幀也叫數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位等 4部分組成,如圖 73所示。 圖 73 異步通信的字符幀格式 (1)起始位:位于字符幀開(kāi)頭,只占一位,為邏輯 0低電平,用于向接收設(shè)備表示發(fā)送端開(kāi)始發(fā)送的一幀信息。 (2)數(shù)據(jù)位:緊跟起始位之后,用戶根據(jù)情況可取 5位、 6位、 7位或 8位,低位在前高位在后。 (3)奇偶校驗(yàn)位:位于數(shù)據(jù)位之后,僅占一位,用來(lái)表征串行通信中采用奇校驗(yàn)還是偶校驗(yàn),由用戶決定。 (4)停止位:位于字符幀最后,為邏輯 1高電平。通常可取 1位、 2位,用于向接收端表示一幀字符信息已經(jīng)發(fā)送完,也為發(fā)送下一幀作準(zhǔn)備。 另外,異步通信的另一個(gè)重要指標(biāo)為波特率。波特率為每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),也叫比特?cái)?shù),單位為 bit/s,即位 /秒。波特率用于表征數(shù)據(jù)傳輸?shù)乃俣?,波特率越高,?shù)據(jù)傳輸速度越快。但波特率和字符的實(shí)際傳輸速率不同,字符的實(shí)際傳輸速率是每秒內(nèi)所傳字符幀的幀數(shù),與字符幀格式有關(guān)。通常,異步通信的波特率為 50~ 9600bit/s。異步通信的優(yōu)點(diǎn)是不需要傳送同步時(shí)鐘,字符幀長(zhǎng)度不受限制,故設(shè)備簡(jiǎn)單;缺點(diǎn)是字符幀中因包含起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。 MCS51單片機(jī)串行口結(jié)構(gòu) 8051單片機(jī)內(nèi)部集成有一個(gè)功能很強(qiáng)的全雙工串行通信口,設(shè)有兩個(gè)相互獨(dú)立的接收、發(fā)送緩沖器,可以同時(shí)接收和發(fā)送數(shù)據(jù)。 8051單片機(jī)通過(guò)引腳 RXD(,串行數(shù)據(jù)接收端 )和引腳 TXD(,串行數(shù)據(jù)發(fā)送端 )與外界通信。圖 74所示是內(nèi)部串行口的結(jié)構(gòu)。 圖 74 串行口結(jié)構(gòu)示意圖 1.串行口緩沖寄存器 SBUF SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同的名字和地址空間 (都為 99H),但不會(huì)發(fā)生沖突,因?yàn)樗鼈儍蓚€(gè)中一個(gè)只能被CPU讀出數(shù)據(jù),另一個(gè)只能被 CPU寫入數(shù)據(jù)。 2.串行口控制寄存器 SCON 它用于定義串行口的工作方式及實(shí)施接收和發(fā)送控制。字節(jié)地址為 98H,其格式如圖 75所示。 圖 75 SCON的各位定義 ? SM0、 SM1:串行口工作方式選擇位,其定義如表 71所示 (其中 fOSC為晶振頻率 )。 表 71 串行口工作方式 ? SM2:多機(jī)通信控制位。在方式 0時(shí), SM2一定要等于 0。在方式 1中,當(dāng) (SM2)=1則只有接收到有效停止位時(shí), RI才置 1。在方式 2或方式 3中,當(dāng) (SM2)=1且接收到的第9位數(shù)據(jù) RB8=0時(shí), RI才置 1。 ? REN:接收允許控制位。由軟件置位以允許接收,又由軟件清 0來(lái)禁止接收。 ? TB8:是要發(fā)送數(shù)據(jù)的第 9位。在方式 2或方式 3中,要發(fā)送的第 9位數(shù)據(jù),根據(jù)需要由軟件置 1或清 0。例如,可約定作為奇偶校驗(yàn)位,或在多機(jī)通信中作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)志位。 ? RB8:接收到的數(shù)據(jù)的第 9位。在方式 0中不使用 RB8。在方式 1中,若 (SM2)=0,RB8為接收到的停止位。在方式 2或方式 3中, RB8為接收到的第 9位數(shù)據(jù)。 ? TI: 發(fā)送中斷標(biāo)志。在方式 0中,第 8位發(fā)送結(jié)束時(shí)由硬件置位。在其他方式的發(fā)送停止位前,由硬件置位。 TI置位既表示一幀信息發(fā)送結(jié)束,同時(shí)也是申請(qǐng)中斷,可根據(jù)需要,用軟件查詢的方法獲得數(shù)據(jù)已發(fā)送完畢的信息,或用中斷的方式來(lái)發(fā)送下一個(gè)數(shù)據(jù)。 TI必須用軟件清 0。 ? RI:接收中斷標(biāo)志位。工作在方式 0,當(dāng)接收完第 8位數(shù)據(jù)后,由硬件置位。在其他方式中,在接收到停止位的中間時(shí)刻由硬件置位 (例外情況見(jiàn) SM2的說(shuō)明 )。 RI置位表示一幀數(shù)據(jù)接收完畢,可用查詢的方法獲知或者用中斷的方法獲知。 RI也必須用軟件清 0。 3.電源及波特率選擇寄存器 PCON PCON主要是為 CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,不可以位尋址,字節(jié)地址為 87H。在 HMOS的 8051單片機(jī)中, PCON除了最高位以外,其他位都是虛設(shè)的。其格式如圖 76所示。 圖 76 PCON的各位定義 與串行通信有關(guān)的只有 SMOD位。 SMOD為波特率選擇位。在方式方式 2和方式 3時(shí),串行通信的波特率與 SMOD有關(guān)。當(dāng) SMOD=1時(shí),通信波特率乘 2;當(dāng) SMOD=0時(shí),波特率不變。其他各位用于電源管理,在此不再贅述。 串行接口的工作方式 MCS51的串行口有 4種工作方式,通過(guò) SCON中的 SM SM0位來(lái)決定,現(xiàn)分述如下: 1.方式 0 在方式 0下,串行口作同步移位寄存器用,其波特率固定為 fOSC/12。串行數(shù)據(jù)從 RXD()端輸入或輸出,同步移位脈沖由 TXD()送出。這種方式常用于擴(kuò)展 I/O口。 1)發(fā)送 當(dāng)一個(gè)數(shù)據(jù)寫入串行口發(fā)送緩沖器 SBUF時(shí),串行口將 8位數(shù)據(jù)以 fOSC/12的波特率從 RXD引腳輸出 (低位在前 ),發(fā)送完置中斷標(biāo)志位 TI為 1,請(qǐng)求中斷。再次發(fā)送數(shù)據(jù)之前,必須由軟件清 TI為 0。具體接線如圖 77所示。其中74LS164為串入并出移位寄存器。 13 16 圖 77 方式 0用于擴(kuò)展 I/O口輸出 圖 78 方式 0用于擴(kuò)展 I/O口輸入 2) 接收 在滿足 REN=1和 RI=0的條件下,串行口即開(kāi)始從 RXD端以 fOSC/12的波特率輸入數(shù)據(jù) (低位在前 ),當(dāng)接收完 8位數(shù)據(jù)后,置中斷標(biāo)志位 RI為 1,請(qǐng)求中斷。在再次接收數(shù)據(jù)之前,必須由軟件清 RI為 0。具體接線如圖 78所示。其中 74LS165為并入串出移位寄存器。 串行控制寄存器 SCON中的 TB8和 RB8在方式 0中未用。值得注意的是,每當(dāng)發(fā)送或接收完 8位數(shù)據(jù)后,硬件會(huì)自動(dòng)置 TI或 RI為 1, CPU響應(yīng) TI或 RI中斷后,必須由用戶用軟件清 0。另外工作在方式 0時(shí), SM2必須為 0。 【 例 71】 利用兩片 74LS165擴(kuò)展兩個(gè) 8位并行輸入端口。 解:擴(kuò)展電路如圖 79所示。 74LS165是 8位并行輸入、串行輸出移位寄存器, RXD為串行輸入引腳,與 74LS165的串行輸出端相連; TXD為移位脈沖輸出端,與所有的74LS165芯片移位脈沖輸入端相連;用 1根 I/O線來(lái)控制移位與置位 。 圖 79 利用串行口擴(kuò)展并行輸入口電路 以兩個(gè) 8位并行口讀入 10組字節(jié)數(shù)據(jù),并把它們轉(zhuǎn)存到內(nèi)部 RAM數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1