微機(jī)原理及接口技術(shù)第9章_第1頁(yè)
微機(jī)原理及接口技術(shù)第9章_第2頁(yè)
微機(jī)原理及接口技術(shù)第9章_第3頁(yè)
微機(jī)原理及接口技術(shù)第9章_第4頁(yè)
微機(jī)原理及接口技術(shù)第9章_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章第九章串行通信與串行接口串行通信與串行接口 【本章重點(diǎn)】【本章重點(diǎn)】 本章重點(diǎn)介紹有關(guān)串行通信的基本概本章重點(diǎn)介紹有關(guān)串行通信的基本概念和串行通信接口的工作原理,并且進(jìn)一念和串行通信接口的工作原理,并且進(jìn)一步介紹了可編程通信接口步介紹了可編程通信接口Intel8251AIntel8251A的結(jié)的結(jié)構(gòu)、特性、引腳及應(yīng)用。構(gòu)、特性、引腳及應(yīng)用?!颈菊码y點(diǎn)】【本章難點(diǎn)】 本章難點(diǎn)在于對(duì)可編程串行接口芯片本章難點(diǎn)在于對(duì)可編程串行接口芯片8251A8251A的特性、初始化和應(yīng)用的掌握。的特性、初始化和應(yīng)用的掌握。9.1 串行通信與串行接口基礎(chǔ)串行通信與串行接口基礎(chǔ) 9.1.1 串行通信 串行通信是

2、指數(shù)據(jù)一位接一位的順序傳送,與并行通信相比它所需的傳輸線少,傳送距離遠(yuǎn),而且可以利用現(xiàn)有的通信線路。 9.1.2 串行接口 1.串行接口的輸入過(guò)程 (1)數(shù)據(jù)通過(guò)串行數(shù)據(jù)輸入端輸入,串行接口接收到外設(shè)的串行數(shù)據(jù)后,通過(guò)控制寄存器和串行輸入/并行輸出移位寄存器變換為并行數(shù)據(jù),同時(shí)送入數(shù)據(jù)輸入寄存器暫存。 圖91 典型串行接口電路框圖 1.串行接口的輸入過(guò)程 (1)數(shù)據(jù)通過(guò)串行數(shù)據(jù)輸入端輸入,串行接口接收到外設(shè)的串行數(shù)據(jù)后,通過(guò)控制寄存器和串行輸入/并行輸出移位寄存器變換為并行數(shù)據(jù),同時(shí)送入數(shù)據(jù)輸入寄存器暫存。 (2)接口向CPU發(fā)輸入請(qǐng)求或CPU查詢輸入請(qǐng)求的狀態(tài)允許后,CPU向接口發(fā)送讀命令,

3、通過(guò)控制邏輯讀取數(shù)據(jù)輸入寄存器中的數(shù)據(jù)。數(shù)據(jù)傳送到CPU內(nèi)部寄存器后,完成一次串行輸入。 2.串行接口的輸出過(guò)程 (1)CPU向并行接口輸出并行數(shù)據(jù),當(dāng)串行接口收到后,暫存至數(shù)據(jù)輸出寄存器中。 (2)通過(guò)控制寄存器和并行輸入/串行輸出移位寄存器變換為串行數(shù)據(jù),通過(guò)發(fā)送串行數(shù)據(jù)端發(fā)送數(shù)據(jù)。外設(shè)收到此數(shù)據(jù)后完成一次串行輸出。9.1.3 串行通信線路的工作方式 單工方式2. 半雙工方式1. 3. 全雙工方式圖92 串行通信的連接方式 9.1.4 串行通信的數(shù)據(jù)收發(fā)方式 在串行通信中有兩種基本的通信方式:即異步通信ASYNC和同步通信SYNC。 1. 串行異步通信ASYNC 通信的雙方進(jìn)行異步串行通信

4、時(shí)必須遵守異步串行通信控制規(guī)程,也稱異步通信協(xié)議,他的特點(diǎn)是通信雙方以一個(gè)字符(包括特定附加位)作為數(shù)據(jù)傳輸單位。圖9.3是異步通信時(shí)一個(gè)字符的標(biāo)準(zhǔn)數(shù)據(jù)格式。圖93 異步通信的數(shù)據(jù)格式2. 串行同步通信SYNC 串行同步通信是靠同步字符來(lái)完成收發(fā)雙方同步的,與異步通信相比一個(gè)顯著的特點(diǎn)是同步通信方式所用的數(shù)據(jù)格式?jīng)]有起始位和停止位,一次傳送的字符個(gè)數(shù)是可變的,但字符與字符間不允許有空隙。它的傳輸格式如圖94所示。圖94 同步通信數(shù)據(jù)格式 9.1.5 RS-232C串行接口標(biāo)準(zhǔn)串行接口標(biāo)準(zhǔn) 1.RS-232C接口概述 RS-232C是美國(guó)電子工業(yè)協(xié)會(huì)在1969年公布的數(shù)據(jù)通信標(biāo)準(zhǔn),應(yīng)用于串行通信

5、中,是計(jì)算機(jī)與計(jì)算機(jī)之間(或數(shù)據(jù)終端設(shè)備之間)、計(jì)算機(jī)與調(diào)制解調(diào)器之間(或數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備之間)的串行二進(jìn)制交換的標(biāo)準(zhǔn)接口。 調(diào)制解調(diào)器(MODEM)是調(diào)制器和解調(diào)器的總稱。圖9-5 RS-232C電平和TTL電平的轉(zhuǎn)換示意圖2控制信號(hào)的定義 RS-232C接口采用D型25針連接器,而微機(jī)中的兩個(gè)串行接口COM1和COM2,使用的是D型9針連接器(9針引腳為IBM公司對(duì)RS-232C標(biāo)準(zhǔn)的縮減,且符合RS-232C標(biāo)準(zhǔn))。表9-1給出了計(jì)算機(jī)通信中常用的RS-232C信號(hào)標(biāo)準(zhǔn)的引腳定義。RTS25針引腳號(hào)9針引腳號(hào)名稱傳送方向表示方法功能23發(fā)送數(shù)據(jù)輸出TXD數(shù)據(jù)送到調(diào)制解調(diào)器32接

6、收數(shù)據(jù)輸入RXD從調(diào)制解調(diào)器接收數(shù)據(jù)47請(qǐng)求發(fā)送輸出半雙工時(shí)控制發(fā)送器的開(kāi)關(guān)58允許發(fā)送輸入調(diào)制解調(diào)器準(zhǔn)備就緒66數(shù)據(jù)設(shè)備準(zhǔn)備好輸入調(diào)制解調(diào)器進(jìn)入數(shù)據(jù)傳送狀態(tài)75信號(hào)地信號(hào)公共地GND接地81載波檢測(cè)輸入DCD調(diào)制解調(diào)器準(zhǔn)備接收另一端的信號(hào)204數(shù)據(jù)終端準(zhǔn)備好輸出調(diào)制解調(diào)器準(zhǔn)備發(fā)送數(shù)據(jù)229振鈴指示輸入RI測(cè)試到響鈴信號(hào)CTSDSRDTR表91 計(jì)算機(jī)串行通信中RS-232C信號(hào)的引腳定義9.2 可編程串行接口可編程串行接口Intel8251A 9.2.1 8251A芯片外部引腳和內(nèi)部結(jié)構(gòu) 1 Intel8251A芯片外部引腳圖9-6 8251A芯片引腳 (1)8251A與C P U相連 的

7、引 腳(如圖控制線和數(shù)據(jù)線) (2)與外部設(shè)備/調(diào)制解調(diào)器連接的引腳(如圖外設(shè)/調(diào)制解調(diào)器控制部分)2. 8251A的內(nèi)部結(jié)構(gòu) 8251A內(nèi)部由5個(gè)主要部分組成:接收器、發(fā)送器、調(diào)制解調(diào)控制、讀/寫控制和系統(tǒng)數(shù)據(jù)總線緩沖器。 圖9-7 8251A的內(nèi)部結(jié)構(gòu) 數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是CPU與8251A之間交換信息的通道。包括三個(gè)三態(tài)雙向8位緩沖器,即狀態(tài)緩沖器、接收數(shù)據(jù)緩沖器和發(fā)送數(shù)據(jù)緩沖器。接收器 8251A的接收器包括接收緩沖器和接收控制電路。串行數(shù)據(jù)通過(guò)RXD引腳輸入,并按規(guī)定的格式把它轉(zhuǎn)換為并行數(shù)據(jù),存放到數(shù)據(jù)總線緩沖器中。 發(fā)送器 8251A的發(fā)送器包括發(fā)送緩沖器和發(fā)送控制電路

8、, CPU輸出的并行數(shù)據(jù),通過(guò)規(guī)定的格式各式轉(zhuǎn)換成串行數(shù)據(jù),從TXD引腳輸出。 調(diào)制控制 調(diào)制控制實(shí)現(xiàn)對(duì)MODEM的控制, 8255A實(shí)現(xiàn)遠(yuǎn)距離串行通信時(shí),數(shù)據(jù)輸出端要經(jīng)過(guò)調(diào)制器將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),而數(shù)據(jù)接收端收到的是經(jīng)過(guò)解調(diào)器傳來(lái)的數(shù)字信號(hào)。讀寫控制邏輯 用來(lái)控制整個(gè)8251A芯片的工作過(guò)程,以完成對(duì)數(shù)據(jù)信息、狀態(tài)信息和控制信息的傳輸。9.2.2 8251A的控制字 8251A的控制字命令包括:方式選擇命令字和工作命令字(CPU發(fā)來(lái)的控制命令);工作狀態(tài)字(向CPU送去的控制命令)。1.方式選擇命令字圖9-8 8251A的通信方式選擇命令字格式 2. 工作命令字 圖9-9 8251A的

9、工作命令字 3. 工作狀態(tài)字 8251A工作過(guò)程中執(zhí)行命令進(jìn)行數(shù)據(jù)傳輸?shù)墓ぷ鳡顟B(tài)字放在狀態(tài)寄存器中,CPU通過(guò)IN指令讀控制/狀態(tài)口操作工作狀態(tài)字。圖9-10 8251A的工作狀態(tài)字9.3 8251A初始化編程及應(yīng)用舉例初始化編程及應(yīng)用舉例 9.3.1 8251A的初始化編程1.初始化編程步驟 步驟一:8251A系統(tǒng)復(fù)位后,用OUT指令寫入控制/狀態(tài)端口方式選擇命令字。規(guī)定雙方的通信方式(同步/異步),數(shù)據(jù)格式(數(shù)據(jù)位和停止位長(zhǎng)度、校驗(yàn)特征、同步字符特征)及傳輸速率(波特率系數(shù))等參數(shù)。 步驟二:如果8251A工作在同步方式,應(yīng)由CPU執(zhí)行OUT指令向控制/狀態(tài)端口寫入規(guī)定的1個(gè)或2個(gè)字節(jié)的同

10、步字符。 步驟三:不論同步方式還是異步方式(復(fù)位命令除外),均再由CPU執(zhí)行OUT指令向控制/狀態(tài)端口再寫入工作命令字,控制8251A允許發(fā)送/接收或復(fù)位。 步驟四:CPU就可通過(guò)查詢8251A的工作狀態(tài)字內(nèi)容或采用中斷方式,進(jìn)行正常的串行通信發(fā)送/接收工作。 8251A初始化編程的操作過(guò)程可用流程圖來(lái)描述,如圖初始化編程的操作過(guò)程可用流程圖來(lái)描述,如圖9-11所示。所示。圖9-11 8251A初始化流程圖2初始化編程舉例 【例91】8251A芯片工作在異步方式下,波特率系數(shù)為64,字符長(zhǎng)度為8位,奇校驗(yàn),1個(gè)停止位,清除出錯(cuò)標(biāo)志位、請(qǐng)求發(fā)送、數(shù)據(jù)準(zhǔn)備就緒,接受允許、發(fā)送允許、內(nèi)部不用復(fù)位。設(shè)

11、8251A的數(shù)據(jù)和控制/狀態(tài)兩個(gè)端口地址分別為020H和021H。 初始化程序如下: MOVAL,01011111B OUT021H,AL;設(shè)置方式選擇命令字MOVAL,00110111B OUT021H,AL;設(shè)置工作命令字 【例92】8251A芯片工作在同步方式下,一個(gè)同步字符(外同步)、偶校驗(yàn)、字符長(zhǎng)度8位,清除出錯(cuò)標(biāo)志,允許發(fā)送和接收、使CPU已準(zhǔn)備好且請(qǐng)求發(fā)送,要求內(nèi)部復(fù)位,啟動(dòng)搜索同步字符,設(shè)同步字符為0CCH,8251A端口地址同上例。 初始化程序段如下:MOVAL,01000000H OUT021H,AL;復(fù)位8251AMOVAL,11111100B OUT021H,AL;設(shè)置

12、方式選擇命令字MOVAL,0CCH OUT021H,AL;寫入同步字符MOVAL,10110111B OUT021H,AL;設(shè)置工作命令字9.3.2 8251A應(yīng)用舉例 利用8251A和RS232C實(shí)現(xiàn)兩臺(tái)微機(jī)之間的雙機(jī)串行通信的結(jié)構(gòu)框圖如圖9-12所示,這種雙機(jī)通信在實(shí)際中應(yīng)用得非常廣泛。試編寫完整的程序完成利用8251A雙機(jī)通信將一組數(shù)據(jù)從發(fā)送機(jī)傳送到接收機(jī)。(要求通過(guò)發(fā)送器A把數(shù)據(jù)09傳送到接收機(jī)B中,采用異步方式,字符長(zhǎng)度為8位,波特系數(shù)為16,偶校驗(yàn),一位停止位)圖9-12 8251A雙機(jī)通訊結(jié)構(gòu)框 初始化程序由初始化發(fā)送器A和初始化接收器B兩部分組成。使用查詢方式,雙方采用半雙工通

13、信,所以發(fā)送器A的初始化程序中CPU每查詢到TXRDY有效(高電平),便向8251A并行輸出一個(gè)字節(jié)數(shù)據(jù);接收器B的初始化程序中 CPU每查詢到RXRDY有效(高電平),則從8251A并行輸入一個(gè)字節(jié)數(shù)據(jù)。 設(shè)8251A端口地址為0FF80H、0FF81H,具體程序如下 :STACKSEGMENTSTACK DW64 DUP(?) STACKENDS DATASEGMENT DATAXDB0123456789 DATAENDS CODESEGMENT ASSUMECS:CODE , DS : DATA , SS : STACK START:MOVAX,STACK;段寄存器的裝入 MOVSS,A

14、X MOVAX,DATA MOVDS,AX LEASI, DATAX;設(shè)置發(fā)送區(qū)的首址1.發(fā)送器A的初始化程序 MOVDX,0FF81H;8251A控制器端口地址 MOVAL,00H OUTDX,AL;輸出空操作 MOVAL,40H OUTDX,AL;8251A內(nèi)部復(fù)位 NOP ;空操作 NOP MOV AL,7EH;定義發(fā)送器為異步方式,8位數(shù)據(jù), OUTDX,AL;波特系數(shù)為16,偶校驗(yàn),1位停止位 MOVAL,11H;允許發(fā)送,清除錯(cuò)誤標(biāo)志 OUTDX,AL;設(shè)置計(jì)數(shù)值為10 MOVCX,000AH A1:MOVDX,0FF81H;讀8251A的狀態(tài)字 INAL, DXH ANDAL,0

15、1H;查詢TXRDY是否有效 JZA1;無(wú)效,繼續(xù)查詢 MOVAL, DI;有效,向數(shù)據(jù)端口輸出一個(gè)字符 MOVDX,0FF80H OUTDX, AL INCSI;SI指向下一個(gè)發(fā)送字符 LOOPA1;CX0,繼續(xù)發(fā)送 MOVAH, 4CH;發(fā)送完畢,返回DOS INT21H CODEENDS ENDSTART 2. 接收器B的初始化程序STACK SEGMENTSTACK DW 64 DUP (?) STACKENDS DATASEGMENT DATAYDB10 DUP(?) DATAENDS CODESEGMENT ASSUMECS:CODE ,DS:DATASS:STACK2 START:MOVAX,STACK;段寄存器的裝入 MOVSS, AX MOVAX, DATA MOVDS,AX LEADI, DATAY;設(shè)置接收區(qū)首址 MOVDX,0FF81H;8251A控制器端口地址 MOVAL, 00H OUTDX, AL;輸出空操作 MOVAL, 40H OUTDX, AL;8251A內(nèi)部復(fù)位 NOP ;空操作 NOP MOVAL, 7EH;定義接收器為異步方式,8位數(shù)據(jù) OUTDX,AL;波特系數(shù)為16,偶校驗(yàn),1位停止位 MOVAL,14H;允許接收,清除錯(cuò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論