微型計算機接口技術(shù):第4講 串并行通信和接口技術(shù)_第1頁
微型計算機接口技術(shù):第4講 串并行通信和接口技術(shù)_第2頁
微型計算機接口技術(shù):第4講 串并行通信和接口技術(shù)_第3頁
微型計算機接口技術(shù):第4講 串并行通信和接口技術(shù)_第4頁
微型計算機接口技術(shù):第4講 串并行通信和接口技術(shù)_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第4講 串并行通信和接口技術(shù)1 北京工業(yè)大學(xué)計算機學(xué)院教學(xué)建議,本章重點8251A的功能結(jié)構(gòu);8251A的工作原理;8251A約定的初始化流程;8251A的編程方法;8255A的結(jié)構(gòu);8255A的兩類控制字;8255A的工作方式;8255A的編程方法。2 北京工業(yè)大學(xué)計算機學(xué)院6.1 串行接口和串行通信6.1.1串行通信涉及的幾個問題串行通信:數(shù)據(jù)按一定的格式逐位傳送,每一位占據(jù)一個規(guī)定的時間間隔(長度) 。 1、全雙工、半雙工和單工單工:僅能進行一個方向的傳送。半雙工:能交替地進行雙向數(shù)據(jù)的傳送。全雙工:能在兩個方向上同時進行數(shù)據(jù)的傳送。2、同步方式和異步方式:按照時鐘對通信過程的定時方式分

2、類3 北京工業(yè)大學(xué)計算機學(xué)院6.1.1串行通信涉及的幾個問題同步方式:收發(fā)雙方采用同一個時鐘來定時,按數(shù)據(jù)塊來傳輸,每組數(shù)據(jù)(信息幀)的開始加上同步字符。同步傳輸不允許字符之間有間隙異步傳輸:收發(fā)雙方不用采用統(tǒng)一的時鐘來定時。兩個字符之間可有任意間隔。每個字符的前后都要有若干位作為分隔位進行識別。異步通信的信息幀只含有一個字符。SYNC SYNC 數(shù)據(jù) . 數(shù)據(jù)4 北京工業(yè)大學(xué)計算機學(xué)院3、串行通信的傳輸率 所謂傳輸率就是每秒 鐘所傳送的數(shù)據(jù)的位數(shù),也常稱為“波特率”。 在串行通信中,所說的傳輸速率是指波特率,而不是指字符速率,它們兩者的關(guān)系是: 假如在異步串行通信中,傳送一個字符,包括12位

3、(其中有一個起始位,8個數(shù)據(jù)位,1個奇偶校驗位,2個停止位),其傳輸速率是1200b/s=1200Bd,每秒所能傳送的字符數(shù)是1200/(1+8+1+2)=100個。接收方的接收波特率必須與發(fā)送方的發(fā)送波特率相同。 5 北京工業(yè)大學(xué)計算機學(xué)院 波特率因子在波特率指定后,輸入移位寄存器/輸出移位寄存器在接收時鐘/發(fā)送時鐘控制下,按指定的波特率速度進行移位。一般幾個時鐘脈沖移位一次。要求:接收時鐘/發(fā)送時鐘是波特率的16、32或64倍。波特率因子就是發(fā)送接收1個數(shù)據(jù)(1個數(shù)據(jù)位)所需要的時鐘脈沖個數(shù),其單位是個位。如波特率因子為16,則16個時鐘脈沖移位1次。 例:波特率=9600bps,波特率因

4、子=32,則 接收時鐘和發(fā)送時鐘頻率=960032=297200Hz。3、串行通信的傳輸率6 北京工業(yè)大學(xué)計算機學(xué)院 串行接口芯片 計算機按并行方式傳送數(shù)據(jù),當(dāng)采用串行方式與外部通信時,需要進行并/串的轉(zhuǎn)換,需要一些握手聯(lián)絡(luò)信號,確保發(fā)送方和接收方同步。同時還要監(jiān)測傳送過程中可能出現(xiàn)的一些錯誤,需要專門的可編程串行通信接口芯片來實現(xiàn)這些功能。 常用的通用串行接口芯片分為僅用于異步通信的接口芯片UART和即可工作與異步方式也可工作與同步方式的USART,8251A。 3、串行通信的傳輸率7 北京工業(yè)大學(xué)計算機學(xué)院可編程串行接口的典型結(jié)構(gòu)6.1.2 串行接口8 北京工業(yè)大學(xué)計算機學(xué)院 串行接口部件

5、4個主要寄存器 控制寄存器 狀態(tài)寄存器 數(shù)據(jù)輸入寄存器 數(shù)據(jù)輸出寄存器 只需兩個端口地址6.1.2 串行接口9 北京工業(yè)大學(xué)計算機學(xué)院6.2 可編程串行通信接口芯片8251A6.2.1 8251A的基本功能 8251A是Intel公司生產(chǎn)的一種通用同步/異步數(shù)據(jù)收發(fā)器 能編程工作于全雙工方式,支持同步傳輸和異步傳輸方式 同步傳送:每個字符數(shù)據(jù)位為58位,可選擇內(nèi)同步和外同步字符,自動插入同步字符。數(shù)據(jù)傳輸速率為064kbps 異步傳送:每個字符數(shù)據(jù)位為58位,時鐘速率為通訊波特率的1、16或64倍。可產(chǎn)生1、1或2位停止位,可檢查假啟動位,并能自動產(chǎn)生、監(jiān)測和處理中止符。數(shù)據(jù)傳輸速率為019.

6、2kbps 具有奇偶、溢出和幀錯誤等檢測電路。 10 北京工業(yè)大學(xué)計算機學(xué)院6.2.2 8251A的基本工作原理1、8251A的功能結(jié)構(gòu)11 北京工業(yè)大學(xué)計算機學(xué)院 8251A由接收緩沖器、接收控制電路、發(fā)送緩沖器,發(fā)送控制電路、數(shù)據(jù)總線緩沖器、讀/寫控制邏輯電路和調(diào)制解調(diào)/控制電路7個模塊組成。 接收緩沖器和接收控制電路 接收緩沖器從RXD引腳接收串行數(shù)據(jù),并將他們送入移位寄存器,待接收到一個字符數(shù)據(jù)后,通過串/并變換電路轉(zhuǎn)換成并行數(shù)據(jù)。 接收控制電路配合接收緩沖器工作,管理有關(guān)結(jié)束的所有功能。見P2031、8251A的功能結(jié)構(gòu)12 北京工業(yè)大學(xué)計算機學(xué)院 發(fā)送緩沖器和發(fā)送控制電路 發(fā)送緩沖

7、器把來自CPU的并行數(shù)據(jù)加上相應(yīng)的控制信息,送入移位寄存器將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)經(jīng)TxD引腳串行發(fā)送出去發(fā)送控制電路和發(fā)送緩沖器配合工作,它控制和管理所有與串行發(fā)送有關(guān)的功能。見P203 數(shù)據(jù)總線緩沖器 將8251A數(shù)據(jù)總線與系統(tǒng)總線相連,是8251A與CPU交換信息的必由之路(數(shù)據(jù)、控制字、命令字和狀態(tài)信息)。 數(shù)據(jù)總線緩沖器其實包括數(shù)據(jù)輸入緩沖器、數(shù)據(jù)輸出緩沖器、控制寄存器和命令寄存器。1、8251A的功能結(jié)構(gòu)13 北京工業(yè)大學(xué)計算機學(xué)院 讀/寫控制邏輯電路用來配合數(shù)據(jù)總線緩沖器工作 接收WR,將來自數(shù)據(jù)總線的數(shù)據(jù)和控制字寫入8251A接收RD,將數(shù)據(jù)和狀態(tài)字從8251A送往數(shù)據(jù)總線接收

8、控制/數(shù)據(jù)信號C/D,與讀/寫信號配合通知8251A讀/寫數(shù)據(jù)/控制字、狀態(tài)字接收CLK,完成8251A的內(nèi)部定時接收RESET,使8251A處于空閑狀態(tài) 調(diào)制/解調(diào)控制電路用來實現(xiàn)8251A和調(diào)制解調(diào)器的連接,提供一組握手信號1、8251A的功能結(jié)構(gòu)14 北京工業(yè)大學(xué)計算機學(xué)院異步接收方式異步發(fā)送方式2、8251A的發(fā)送與接收15 北京工業(yè)大學(xué)計算機學(xué)院同步接收方式同步發(fā)送方式2、8251A的發(fā)送與接收16 北京工業(yè)大學(xué)計算機學(xué)院8251A的引腳6.2.3 8251A的對外信號17 北京工業(yè)大學(xué)計算機學(xué)院8251A與CPU及外設(shè)的連接關(guān)系:包括和CPU之間及和外設(shè)之間的信號6.2.3 825

9、1A的對外信號18 北京工業(yè)大學(xué)計算機學(xué)院1、8251A和CPU之間的連接信號片選信號CS,低電平有效時,是CPU的一部分地址信號譯碼后得到,啟用8251A工作數(shù)據(jù)信號D0D7與系統(tǒng)的數(shù)據(jù)總線相連讀/寫信號C/D、RD、WR的編碼和對應(yīng)的操作6.2.3 8251A的對外信號19 北京工業(yè)大學(xué)計算機學(xué)院收發(fā)聯(lián)絡(luò)信號TxRDY:發(fā)送器準(zhǔn)備好,輸出,高電平有效。用來告訴CPU,8251A以準(zhǔn)備好發(fā)送字符,即TxRDY有效,表示發(fā)送緩沖器已準(zhǔn)備好從CPU接收數(shù)據(jù)。TxRDY可作為中斷申請信號或 聯(lián)絡(luò)信號供CPU查尋。查詢到TxRDY有效,可用OUT指令輸出數(shù)據(jù)。當(dāng)CPU向8251輸出一個數(shù)據(jù)后,TxR

10、DY被清為低。TxE:發(fā)送器空,輸出,高電平,用來表示8251發(fā)送器中并行到串行轉(zhuǎn)換器空,指示一個發(fā)送動作的完成。當(dāng)8251從CPU得到一個字符時TxE = L。6.2.3 8251A的對外信號20 北京工業(yè)大學(xué)計算機學(xué)院收發(fā)聯(lián)絡(luò)信號RxRDY:接收器數(shù)據(jù)準(zhǔn)備好,輸出,高電平有效。用來表示8251已從外設(shè)或MODEM接收到一個字符,正在等待CPU取走。 RxRDY可作為中斷申請信號或 聯(lián)絡(luò)信號供CPU查尋。查詢到RxRDY,由IN指令讀取數(shù)據(jù)。當(dāng)CPU從8251輸入緩沖器讀取一個字符后,RxRDY 變?yōu)榈?。SYNDET:同步檢測信號只用于同步方式,輸入/輸出,輸出:當(dāng)8251工作在內(nèi)同步時,作

11、為輸出。當(dāng)8251檢測到同步字符時,SYNDET=H,表示 8251已達到了同步。雙同步時,在第2個字符的最后1位被檢測到后,SYNDET=H。輸入:8251工作在外同步時,作為輸入。當(dāng)SYNDET有正跳變時,8251在RxC的下一個下降沿,開始裝配字符。6.2.3 8251A的對外信號21 北京工業(yè)大學(xué)計算機學(xué)院2、8251A和外設(shè)之間的連接信號 數(shù)據(jù)信號TxD: 用來發(fā)送數(shù)據(jù),輸出并轉(zhuǎn)串。RxD: 用來接收數(shù)據(jù),接收串行數(shù)據(jù)。 和外設(shè)的聯(lián)絡(luò)信號DTR:數(shù)據(jù)終端準(zhǔn)備好信號。由8251送往MODEM。CPU通過控制字第1位=1,使DTR=L,通知外設(shè)CPU當(dāng)前已準(zhǔn)備就緒。 DSR:數(shù)據(jù)設(shè)備準(zhǔn)備

12、好信號。是MODEM送往8251。表示當(dāng)前外設(shè)已準(zhǔn)備好。當(dāng)DSR=L時,使8251的狀態(tài)寄存器的第7位置1。 RTS:請求發(fā)送信號。是MODEM送往外設(shè)的。CPU通過編程置控制字的第5位=1,使RTS=L,表示CPU已準(zhǔn)備好發(fā)送。 CTS:清除請求發(fā)送信號。是由MODEM送往8251。只有CTS=L,則TxRDY=H,8251才能發(fā)送數(shù)據(jù)。6.2.3 8251A的對外信號22 北京工業(yè)大學(xué)計算機學(xué)院2、8251A和CPU外設(shè)的連接信號 時鐘信號TxC:發(fā)送時鐘、由外部輸入。決定發(fā)送數(shù)據(jù)的速率,同步方式等于發(fā)送數(shù)據(jù)的波特率,異步方式等于發(fā)送數(shù)據(jù)的波特率1、16、64倍。RxC:接收時鐘、由外部輸

13、入。決定接收數(shù)據(jù)的速率,同步方式等于接收數(shù)據(jù)的波特率,異步方式等于接收數(shù)據(jù)的波特率1、16、64倍。CLK:要求在同步方式下大于接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的波特率的30倍,在異步方式下大于接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的波特率的4.5倍6.2.3 8251A的對外信號23 北京工業(yè)大學(xué)計算機學(xué)院6.2.4 8251A的編程1、8251A的初始化 8251A需要連續(xù)的兩個端口地址,偶地址對應(yīng)數(shù)據(jù)寄存器,奇地址對應(yīng)狀態(tài)寄存器、模式寄存器、控制寄存器和同步字符寄存器 設(shè)計8251A芯片時,作出的約定 復(fù)位后,第一次寫入的值作為模式字 如為同步模式,則接著同步字符 此后不管是同步模式還是異步模式,奇地址端口寫入的值作為控

14、制字,偶地址端口寫入的值為數(shù)據(jù)24 北京工業(yè)大學(xué)計算機學(xué)院6.2.4 8251A的編程8251A的初始化流程圖25 北京工業(yè)大學(xué)計算機學(xué)院6.2.4 8251A的編程2、模式寄存器的格式8251A模式寄存器的格式異步模式;同步模式D1D0=00時,為同步方式其余為異步方式,D1D0的三種不同取值用來確定波特率系數(shù),即就是TxC和RxC信號與波特率之間的系數(shù)收發(fā)時鐘頻率=收發(fā)波特率X波特率系數(shù)例 TxC=19200,系數(shù)16,收發(fā)波特率=120026 北京工業(yè)大學(xué)計算機學(xué)院6.2.4 8251A的編程3、控制寄存器的格式27 北京工業(yè)大學(xué)計算機學(xué)院6.2.4 8251A的編程4、狀態(tài)寄存器的格式

15、 28 北京工業(yè)大學(xué)計算機學(xué)院8251A和調(diào)制解調(diào)器連接的例子6.2.5 8251A編程舉例圖6.11 8251A和調(diào)制解調(diào)器的連接(a) 異步模式;(b) 同步模式29 北京工業(yè)大學(xué)計算機學(xué)院1、異步方式初始化程序 MOV AL,0FAHOUT 42H,ALMOVAL,37HOUT42H,AL6.2.5 8251A編程舉例30 北京工業(yè)大學(xué)計算機學(xué)院2、同步方式初始化程序 MOVAL,38HOUT42H,ALMOVAL,16HOUT42H,ALOUT42H,ALMOVAL,97HOUT 42H,AL 6.2.5 8251A編程舉例31 北京工業(yè)大學(xué)計算機學(xué)院3、利用狀態(tài)字進行編程的舉例MOV

16、 AL,0FAHOUT 42H,ALMOVAL,35HOUT 42H,ALMOV DI,0MOV CX,80BEGIN:IN AL,42HTESTAL,02HJZBEGININ AL,40HMOVDX,OFFSET BUFFERMOVDX+DI,ALINCDIINAL,42HTESTAL,38HJNZERRORLOOPBEGINJMPEXITERROR:CALLERR_OUTEXIT: -6.2.5 8251A編程舉例32 北京工業(yè)大學(xué)計算機學(xué)院6.2.6 8251A的使用舉例圖6.12 用8251A作為CRT接口的實際例子33 北京工業(yè)大學(xué)計算機學(xué)院6.2.6 8251A的使用實例8251初

17、始化程序INIT: XOR AX,AX MOV CX,0003MOV DX,00DAHOUT1: CALL KKKLOOP OUT1 MOV AL,40H CALL KKK MOV AL,4EH CALL KKK MOV AL,27H CALL KKK KKK: OUT DX,AL PUSH CXMOV CX,0002 ABC: LOOP ABC POP CX RET 34 北京工業(yè)大學(xué)計算機學(xué)院6.2.6 8251A的使用實例往CRT輸出一個字符的例子CHAROUT:MOVDX,0DAHSTATE: INAL,DXTESTAL,01JZ STATEMOVDX,0D8HPOPAXOUTDX,A

18、L 35 北京工業(yè)大學(xué)計算機學(xué)院6.3 并行通信和并行接口并行通信用若干條線同時進行傳輸,用于數(shù)據(jù)傳輸率高和距離短的場合。并行接口:包括輸入、輸出和雙向 圖6.13 并行接口連接外設(shè)的示意圖36 北京工業(yè)大學(xué)計算機學(xué)院6.4 可編程并行通信接口8255A 8255A是一種通用的可編程并行I/O接口芯片,由3個8位數(shù)據(jù)端口:端口A、端口B和端口C(C口被分成C口上半部分和下半部分)組成;具有3種工作方式:方式0、方式1和方式2。37 北京工業(yè)大學(xué)計算機學(xué)院6.4.1 8255A的內(nèi)部結(jié)構(gòu)38 北京工業(yè)大學(xué)計算機學(xué)院1、數(shù)據(jù)端口A、B、C6.4.1 8255A的內(nèi)部結(jié)構(gòu)8255有3個8位數(shù)據(jù)端口:

19、端口A、端口B和端口C,每個端口都可用軟件組成各自的功能(輸入/輸出) 端口A:一個8位的數(shù)據(jù)輸出鎖存器/緩沖器 一個8位的數(shù)據(jù)輸入鎖存器 端口B:一個8位的數(shù)據(jù)輸出鎖存器/緩沖器 一個8位的數(shù)據(jù)輸入緩沖器 端口C:一個8位的數(shù)據(jù)輸出鎖存器/緩沖器 一個8位的數(shù)據(jù)輸入緩沖器 端口C可以通過設(shè)定工作方式而分成兩個4位的端口,一個4位輸入緩沖器和一個4位輸出鎖存緩沖器,它們一起與端口A和端口B一起用于輸出控制信號和輸入狀態(tài)信號。39 北京工業(yè)大學(xué)計算機學(xué)院2、A組和B組控制邏輯6.4.1 8255A的內(nèi)部結(jié)構(gòu)A組和B組中的每個控制部件都從讀寫控制邏輯接收命令,從內(nèi)部數(shù)據(jù)總線接收控制字,以此決定兩組

20、端口的工作方式。 A組控制部件-端口A和端口C的高四位。 B組控制部件-端口B和端口C的低四位。40 北京工業(yè)大學(xué)計算機學(xué)院3、讀/寫控制邏輯電路 負(fù)責(zé)管理8255A的所有內(nèi)部和外部數(shù)據(jù)信息、控制字或狀態(tài)字的傳送過程。它接收來自CPU地址總線及控制總線的輸入信號,然后向A組和B組的控制部件發(fā)送控制命令。 CS:片選 RD:CPU從8255讀取數(shù)據(jù)或狀態(tài)信息。 WR:允許CPU把數(shù)據(jù)或控制命令寫入8255。 A1、A0:端口選擇信號,3個數(shù)據(jù)端口A、B、C和控制字寄存器端口。 RESET:復(fù)位信號,有效時所有內(nèi)部寄存器都被清除,并將三個端口均被置成輸入方式。6.4.1 8255A的內(nèi)部結(jié)構(gòu)41

21、北京工業(yè)大學(xué)計算機學(xué)院讀/寫控制邏輯6.4.1 8255A的內(nèi)部結(jié)構(gòu)42 北京工業(yè)大學(xué)計算機學(xué)院4、數(shù)據(jù)總線緩沖器 雙向三態(tài)8位數(shù)據(jù)緩沖器。與系統(tǒng)數(shù)據(jù)總線相連。其作用是通過它與CPU進行數(shù)據(jù)交換及向8255發(fā)送控制字及命令。6.4.1 8255A的內(nèi)部結(jié)構(gòu)43 北京工業(yè)大學(xué)計算機學(xué)院6.4.2 8255A的芯片和引腳信號12345678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB28255APA4PA5P

22、A6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB38255A的引腳見右圖 和外設(shè)一邊相連的 PA7PA0 PB7PB0 PC7PC0 和CPU一邊相連的 D7D0,RESET CS,RD,WR A1、A044 北京工業(yè)大學(xué)計算機學(xué)院6.4.3 8255A的控制字 8255A有兩類控制字。一類用于定義個端口的工作方式,稱為方式選擇控制字,一類用于對C端口的任一位進行置位或復(fù)位操作,稱為置位復(fù)位控制字,8255A編程者兩種控制字都被寫入控制字寄存器中。45 北京工業(yè)大學(xué)計算機學(xué)院1、方式選擇控制字8255A有三種工作方式:系統(tǒng)復(fù)位時,所有數(shù)據(jù)端口都被置成輸

23、入方式。方式0-基本輸入/輸出方式;方式1-選通輸入/輸出方式;方式2-雙向輸入/輸出方式 端口A可工作任何一種方式,端口B可工作與方式0和方式1,端口C配合端口A和端口B工作,提供控制信號和狀態(tài)信號??煞謩e工作于輸入和輸出方式46 北京工業(yè)大學(xué)計算機學(xué)院方式控制字舉例:J1的方式控制字為83H,J2 的方式控制字為94H圖6.16 兩片8255A在微機系統(tǒng)中的連接47 北京工業(yè)大學(xué)計算機學(xué)院方式選擇控制字為83H的含義。圖6.17 J1的方式控制字48 北京工業(yè)大學(xué)計算機學(xué)院圖6.18 J2的方式控制字方式選擇控制字為94H的含義。49 北京工業(yè)大學(xué)計算機學(xué)院為J1、J2兩片8255A設(shè)置控

24、制字MOV AL,83HMOV DX,00E6HOUT DX,AL;對第1片8255A設(shè)置方式選擇控制字MOV AL,94HMOV DX,00EEHOUT DX,AL;對第2片8255A設(shè)置方式選擇控制字50 北京工業(yè)大學(xué)計算機學(xué)院2、端口C的置/復(fù)位控制字:端口C常用作控制或應(yīng)答信號,通過此命令字可使端口C的任意一個引腳的輸出單獨置1或置051 北京工業(yè)大學(xué)計算機學(xué)院端口C置1/置0的例子MOVAL,0FH;對PC7置1的控制字MOVDX,00EEH;控制口地址送DXOUTDX,AL;對PC7進行置1操作MOVAL,06H;對PC3置0的控制字OUTDX,AL;對PC3進行置0操作52 北京

25、工業(yè)大學(xué)計算機學(xué)院例1:在8086系統(tǒng)中,8255A的端口A的地址為0500H,試編寫初始化程序,將A組置成方式1且端口A作為輸入端口,PC6和PC7作為輸出,B組置成方式1且端口B作為輸入端口。MOV DX,0506HMOV AL,10110110BOUT DX,AL53 北京工業(yè)大學(xué)計算機學(xué)院例2:在8086系統(tǒng)中,要求在8255A的PC7上產(chǎn)生一個窄的正脈沖,8255的控制端口地址為0826H,試寫出程序段。MOV DX,0826HMOV AL,00001110BOUT DX,ALMOV AL, 00001111B OUT DX,ALMOV AL, 00001110BOUT DX,AL5

26、4 北京工業(yè)大學(xué)計算機學(xué)院例3:在8086系統(tǒng)中,要求在8255的PC3上產(chǎn)生一個正跳變,8255的控制端口地址為00EEH,試寫出程序段。方法1:利用對C端口的 置/復(fù)位命令MOV DX,0EEHMOV AL,06HOUT DX,ALMOV AL,07HOUT DX,AL方法2:直接在端口C輸出數(shù)據(jù)MOV AL,80HOUT 0EEH,ALMOV AL,00HOUT 0ECH,ALMOV AL,08HOUT 0ECH,AL55 北京工業(yè)大學(xué)計算機學(xué)院6.4.4 8255A的工作方式方式0-基本輸入/輸出方式方式1-選通輸入/輸出方式方式2-雙向輸入/輸出方式56 北京工業(yè)大學(xué)計算機學(xué)院1、

27、方式0-基本輸入/輸出方式方式0的工作特點:任何一個端口可作為輸入口,也可作為輸出口,各端口之間沒有規(guī)定的必然關(guān)系。各個端口的輸入或輸出,可有16種不同的組合,可適用于多種場合。方式0的輸入/輸出時序:方式0的輸入時序,見圖6-2057 北京工業(yè)大學(xué)計算機學(xué)院1、 方式0-基本輸入/輸出方式方式0的輸出時序 58 北京工業(yè)大學(xué)計算機學(xué)院1、 方式0-基本輸入/輸出方式方式0 的使用場合:同步傳輸,簡單I/O,不需要了解外設(shè)情況。查詢式傳輸,使用端口C的某些位作為傳輸控制,用端口A或端口B及端口C的其它位進行數(shù)據(jù)傳送。59 北京工業(yè)大學(xué)計算機學(xué)院2、方式1-選通輸入/輸出方式方式1,A口和B口作

28、為數(shù)據(jù)口,均可工作為輸入或輸出方式,但必須在選通信號和應(yīng)答信號的控制下才能完成I/O操作,端口C的自動提供這些信號,與端口C的若干位有著固定的對應(yīng)關(guān)系。方式1的特點:端口A和端口B可分別工作在方式1,可作為輸入或輸出若端口A和端口B有一個工作在方式1,端口C就有3位被規(guī)定配合方式1工作的信號,其他可任意設(shè)置若端口A和端口B都工作在方式1,端口C就有6位被規(guī)定配合方式1工作的信號,其他2位可任意設(shè)置方式1輸入情況下有關(guān)信號的規(guī)定和輸入時序A口和B口都工作于選通輸入方式,則它們的選通信號和應(yīng)答信號和控制字60 北京工業(yè)大學(xué)計算機學(xué)院A口和B口都工作于選通輸入方式A、B口作為輸入口,端口C的PC4,

29、PC5,PC3用作端口A的狀態(tài)線和控制線, PC2,PC1 ,PC0用作端口B的狀態(tài)線和控制線, PC6和PC7由方式選擇控制字中的D3來定義輸入輸出STB:選通信號輸入端,它由外設(shè)送往8255A,該信號時,8255A接收外設(shè)的8位數(shù)據(jù),存入輸入緩沖器中,PC4作為A口,PC2作為B口;IBF:輸入緩沖區(qū)滿,高電平有效, 8255 A送給外設(shè)的狀態(tài)信號,即8255A不能再接收別的數(shù)據(jù), PC5作為A口,PC1作為B口。IBF由STB信號所置位,而由讀信號的后沿將其復(fù)位。INTE:中斷允許信號(內(nèi)部信號),沒有外部引腳,只有軟件才能使他們置位和復(fù)位,INTEA由PC4控制, INTEB由PC2控

30、制,置位允許中斷,復(fù)位禁止中斷8255A可從PC3和PC0上發(fā)出INTR信號,向CPU發(fā)中斷請求信號。但是,是否允許中斷,取決于INTE。方式1輸入情況下有關(guān)信號的規(guī)定和輸入時序61 北京工業(yè)大學(xué)計算機學(xué)院選通輸入方式端口對應(yīng)的控制信號 62 北京工業(yè)大學(xué)計算機學(xué)院方式1的輸入時序63 北京工業(yè)大學(xué)計算機學(xué)院A口和B口都工作于選通輸出方式A、B口都作為輸出口,端口C的PC3,PC6,PC7用作端口A的聯(lián)絡(luò)控制線,端口C的PC0,PC1,PC2用作端口B的聯(lián)絡(luò)控制線, PC4和PC5由方式選擇控制字中的D3來定義輸入輸出OBF:輸出緩沖器滿信號,8255A送給外設(shè), OBF有效時通知外設(shè)將數(shù)據(jù)取

31、走, PC7作為A口,PC1作為B口;ACK:外設(shè)的回答信號,表示數(shù)據(jù)已被外設(shè)取走, PC6作為A口,PC2作為B口。OBF由WR的上升沿置成低電平,ACK將其恢復(fù)成高電平。INTE:中斷允許信號(內(nèi)部信號),沒有外部引腳,只有軟件才能使他們置位和復(fù)位,INTEA由PC6控制, INTEB由PC2控制,置位允許中斷,復(fù)位禁止中斷8255A可從PC3和PC0上發(fā)出INTR信號,向CPU發(fā)中斷請求信號。但是,是否允許中斷,取決于INTE。方式1輸出情況下有關(guān)信號的規(guī)定和輸入時序64 北京工業(yè)大學(xué)計算機學(xué)院選通輸出方式端口對應(yīng)的控制信號 65 北京工業(yè)大學(xué)計算機學(xué)院方式1的輸出時序66 北京工業(yè)大學(xué)

32、計算機學(xué)院外設(shè)能為8255A提供選通信號或接收應(yīng)答信號方式1的使用場合67 北京工業(yè)大學(xué)計算機學(xué)院8255A端口的狀態(tài)字:D7 D6 D5 D4 D3 D2 D1 D0I/O I/O IBFA INTE A INTRA INTEB IBFB INTRBD7 D6 D5 D4 D3 D2 D1 D0OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB方式1輸入狀態(tài)字方式1輸出狀態(tài)字其中:D7D3為A口狀態(tài)字,D2D0為B口狀態(tài)字其中:D7D3為A口狀態(tài)字,D2D0為B口狀態(tài)字68 北京工業(yè)大學(xué)計算機學(xué)院方式1-選通單向輸入/輸出方式的特點 (1)方式1是一種選通輸入

33、/輸出方式,因此,需設(shè)置專用的聯(lián)絡(luò)信號線或應(yīng)答信號線,以便對I/O設(shè)備和CPU兩側(cè)進行聯(lián)絡(luò)。這種方式通常用于查詢(條件)傳送或中斷傳送。數(shù)據(jù)的輸入輸出都有鎖存能力。 (2)PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配作專用(固定)的聯(lián)絡(luò)信號用,對已經(jīng)分配做聯(lián)絡(luò)信號的C口引腳,用戶不能再指定做其它用途。 (3)各聯(lián)絡(luò)信號之間有固定的時序關(guān)系,傳送數(shù)據(jù)時,要嚴(yán)格按照時序進行。 (4)輸入/輸出操作過程中,產(chǎn)生固定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請求之用。狀態(tài)字從PC口讀取。 (5)單向傳送。一次初始化只能設(shè)置在一個方向上傳送,不能同時作兩個方向的傳送。 69 北京工業(yè)大學(xué)計算機學(xué)院3、方式2

34、 方式2的工作特點只有A口可工作于方式2,A口可作為雙向數(shù)據(jù)口,即可輸入也可輸出數(shù)據(jù),半雙工方式。端口C的5位(PC3PC7)作為A口的控制信號和狀態(tài)信號由于輸入或輸出操作引起的中斷請求信號都由同一引腳輸出,因此CPU響應(yīng)中斷時,必須查詢OBF和IBF狀態(tài),才能確定是輸入過程還是輸出過程引起的中斷。70 北京工業(yè)大學(xué)計算機學(xué)院方式2的控制信號和狀態(tài)信號71 北京工業(yè)大學(xué)計算機學(xué)院 INTRA:8255完成向外設(shè)輸出數(shù)據(jù),輸入完成或輸出完成時,均可向CPU發(fā)中斷。 STBA:外設(shè)送給8255的選通信號,8255使用該信號把外設(shè)的數(shù)據(jù)存入輸入鎖存器中。 IBFA;當(dāng)8255輸入鎖存器有數(shù)據(jù)時,IB

35、FA有效,輸入緩沖區(qū)滿。 OBFA:當(dāng)8255輸出緩沖器內(nèi)有數(shù)據(jù)時,通知外設(shè)來取數(shù)據(jù)。 ACKA:當(dāng)外設(shè)收到OBFA后,外設(shè)向8255發(fā)出ACKA信號,該信號開啟8255端口A的輸出緩沖器,從而把數(shù)據(jù)送給外設(shè)。 INTE1、INTE2:內(nèi)部信號(標(biāo)志),輸入或輸出完成時,8255均可PC3從上發(fā)出INTRA信號。但是,輸入完成時 是否允許中斷,取決于INTE2(PC4);輸出完成時,是否允許中斷,取決于INTE1(PC6)。方式2的控制信號和狀態(tài)信號72 北京工業(yè)大學(xué)計算機學(xué)院 方式2的時序基本上也是在方式1下輸入時序和輸出時序的組合。輸入/輸出的先后順序是任意的,根據(jù)實際傳送數(shù)據(jù)的需要選定。

36、 方式2的時序73 北京工業(yè)大學(xué)計算機學(xué)院 (1)當(dāng)OBFA為高電平(輸出緩沖區(qū)空。有效的OBFA為低電平,表示輸出緩沖區(qū)滿)。且INTE1=1時,8255向CPU發(fā)出中斷請求(PC3上INTRA)。 (2)CPU可以響應(yīng)INTR中斷,向8255輸出數(shù)據(jù),CPU也可查詢OBFA狀態(tài),當(dāng)OBFA=1時,向8255發(fā)送數(shù)據(jù)。 1)8255收到數(shù)據(jù)后,使OBFA有效,一方面撤消中斷請求INTRA,消除OBFA狀態(tài),另方面,OBFA信號通知外設(shè)來取數(shù)據(jù)。 2)外設(shè)收到OBFA信號后,發(fā)出ACKA,該信號使PA7-0的輸出緩沖器開啟,8255送出數(shù)據(jù),外設(shè)獲得數(shù)據(jù)方式2-輸出過程 方式2的時序74 北京

37、工業(yè)大學(xué)計算機學(xué)院 (1)當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù),它把數(shù)據(jù)送至數(shù)據(jù)線PA7-0上,同時發(fā)出選通信號STBA。 (2)8255收到STBA后,將PA7-0線上的數(shù)據(jù)送入輸入緩沖器,然后,一方面向CPU發(fā)出IBFA信號,另一方面,如果INTE2=1,在PC3上發(fā)出INTRA信號。 (3)CPU可以查詢IBFA信號或用中斷方式讀取數(shù)據(jù),讀信號RD將清除IBFA和NTRA。 方式2-輸入過程 方式2的時序75 北京工業(yè)大學(xué)計算機學(xué)院 8255A端口的狀態(tài)字:D7 D6 D5 D4 D3 D2 D1 D0方式2 狀態(tài)字 其中:D7D3為A組狀態(tài)字,D2D0為B組所用,當(dāng)B口工作于方式1時,這幾位作B口狀態(tài)字,

38、B口工作于方式0時,這幾位作輸入輸出用。OBFA INTE1 IBFA INTE2 INTRA X X X76 北京工業(yè)大學(xué)計算機學(xué)院 INTRA:8255完成向外設(shè)輸出數(shù)據(jù),輸入完成或輸出完成時,均可向CPU發(fā)中斷。 STBA:外設(shè)送給8255的選通信號,8255使用該信號把外設(shè)的數(shù)據(jù)存入輸入鎖存器中。 IBFA;當(dāng)8255輸入鎖存器有數(shù)據(jù)時,IBFA有效,輸入緩沖區(qū)滿。 OBFA:當(dāng)8255輸出緩沖器內(nèi)有數(shù)據(jù)時,通知外設(shè)來取數(shù)據(jù)。 ACKA:當(dāng)外設(shè)收到OBFA后,外設(shè)向8255發(fā)出ACKA信號,該信號開啟8255端口A的輸出緩沖器,從而把數(shù)據(jù)送給外設(shè)。 INTE1、INTE2:內(nèi)部信號(標(biāo)志),輸入或輸出完成時,8255均可PC3從上發(fā)出INTRA信號。但是,輸入完成時 是否允許中斷,取決于INTE2(PC4);輸出完成時,是否允許中斷,取決于INTE1(PC6)。方式2的使用場合77

溫馨提示

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

評論

0/150

提交評論