電子信息學(xué)院微機(jī)原理并口_第1頁
電子信息學(xué)院微機(jī)原理并口_第2頁
電子信息學(xué)院微機(jī)原理并口_第3頁
電子信息學(xué)院微機(jī)原理并口_第4頁
電子信息學(xué)院微機(jī)原理并口_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、并 行 接 口第 8 章并行接口教學(xué)重點(diǎn)難點(diǎn) 8255A的工作方式和編程 8255A的應(yīng)用并行數(shù)據(jù)傳輸方式以計(jì)算機(jī)的字長,通常是8位、16位或32位為傳輸單位,一次傳送一個(gè)字長的數(shù)據(jù)適合于外部設(shè)備與微機(jī)之間進(jìn)行近距離、大量和快速的信息交換例如:微機(jī)與并行接口打印機(jī)、磁盤驅(qū)動(dòng)器微機(jī)系統(tǒng)中最基本的信息交換方法例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間并行接口的特點(diǎn):(1)并行接口是在多根數(shù)據(jù)線上,以數(shù)據(jù)字節(jié)(字)為單位與輸入輸出設(shè)備或被控對(duì)象傳送信息的。 (2)并行傳送的信息,不要求固定的格式,這與串行傳送的信息有數(shù)據(jù)格式的要求不同。 (3)從并行接口的電路結(jié)構(gòu)來看,并行口有硬線連接接口和可

2、編程接口之分。(4)具有傳送速率快、可靠性高的特點(diǎn),但不能用于遠(yuǎn)距離傳送和通信1. Intel 8255A的基本特性(1) 具有兩個(gè) 8位(A口和 B口)和兩個(gè) 4位(C口高低四位)并行輸入輸出端口,C口可按位操作;(2) 具有三種工作方式: 方式0基本輸入輸出(A,B,C口均有) ;方式1選通輸入輸出(A,B口具有) ;方式2雙向選通輸入輸出(A口具有);(3) 可用程序設(shè)置各種工作方式并查詢各種工作狀態(tài);(4) 在方式1和方式2時(shí),C口作A口、B口的聯(lián)絡(luò)線(5) 內(nèi)部有控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器供CPU訪問;(6) 有中斷申請(qǐng)能力, 但無中斷管理能力; 8255A引腳 8255A的

3、內(nèi)部結(jié)構(gòu)和引腳數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET1.外設(shè)數(shù)據(jù)端口端口A:PA0 PA7A組,支持工作方式0、1、2端口B:PB0 PB7B組,支持工作方式0、1端口C:PC0 PC7僅支持工作方式0A組控制高4位PC4PC7B組控制低4位PC0PC3端口A:PA0PA7常作數(shù)據(jù)端口,功能最強(qiáng)大端口B:PB0PB7常作數(shù)據(jù)端口端口C:PC0PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個(gè)4位,每位可獨(dú)立操作控制最靈活,最難掌握2.與處理器接口CS*

4、 A1 A0I/O地址讀操作RD*寫操作WR*0 0 00 0 10 1 00 1 160H61H62H63H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字D0 D7數(shù)據(jù)線A0 A1地址線CS*片選信號(hào)RD*讀信號(hào)WR*寫信號(hào)RESET復(fù)位信號(hào)PC/XT的端口地址8255A的編程初始化編程:一個(gè)方式控制字采用控制I/O地址:A1A011工作過程中:通過數(shù)據(jù)端口對(duì)外設(shè)數(shù)據(jù)進(jìn)行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBM PC/XT機(jī)上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H1.方式控制字格式1D6D5D4D3D2D

5、1D0A組方式00=0方式01=1方式10=2方式A口0=輸出1=輸入C7C40=輸出1=輸入C3C00=輸出1=輸入B口0=輸出1=輸入B組方式0=0方式1=1方式1.寫入方式控制字:示例要求:A端口:方式1輸入C端口上半部:輸出,C口下半部:輸入B端口:方式0輸出方式控制字:10110001B或B1H初始化的程序段:MOV DX,303H;假設(shè)控制端口為303HMOV AL,0B1H;方式控制字OUT DX,AL;送到控制端口2.讀寫數(shù)據(jù)端口初始化編程后:當(dāng)數(shù)據(jù)端口作為輸入接口時(shí),執(zhí)行輸入IN指令將從輸入設(shè)備得到外設(shè)數(shù)據(jù)當(dāng)數(shù)據(jù)端口作為輸出接口時(shí),執(zhí)行輸出OUT指令將把CPU的數(shù)據(jù)送給輸出設(shè)

6、備8255A具有鎖存輸出數(shù)據(jù)的能力對(duì)輸出方式的端口同樣可以輸入不是讀取外設(shè)數(shù)據(jù)讀取的是上次CPU給外設(shè)的數(shù)據(jù)2.讀寫數(shù)據(jù)端口:示例利用8255A的輸出鎖存能力,可實(shí)現(xiàn)按位輸出控制 對(duì)輸出端口B的PB7位置位的程序段:MOV DX,301H;B端口假設(shè)為301HIN AL,DX;讀出B端口原輸出內(nèi)容OR AL,80H;使PB71OUT DX,AL;輸出新的內(nèi)容3.讀寫端口C:歸納1C端口被分成兩個(gè)4位端口,兩個(gè)端口只能以方式0工作,可分別選擇輸入或輸出在控制上,C端口上半部和A端口編為A組,C端口下半部和B端口編為B組3.讀寫端口C:歸納2當(dāng)A和B端口工作在方式1或方式2時(shí),C端口的部分或全部引

7、腳將被征用其余引腳仍可設(shè)定工作在方式03.讀寫端口C:歸納3對(duì)端口C的數(shù)據(jù)輸出有兩種辦法通過端口C的I/O地址:向C端口直接寫入字節(jié)數(shù)據(jù)。這一數(shù)據(jù)被寫進(jìn)C端口的輸出鎖存器,并從輸出引腳輸出,但對(duì)設(shè)置為輸入的引腳無效通過控制端口:向C端口寫入位控字,使C端口的某個(gè)引腳輸出1或0,或置位復(fù)位內(nèi)部的中斷允許觸發(fā)器端口C的位控制字0D6D5D4D3D2D1D0D3D2D1PC0000PC1001PC2010PC3011PC4100PC5101PC6110PC71111=置位0=復(fù)位位控制字寫入控制端口特別便于置位復(fù)位內(nèi)部中斷允許觸發(fā)器INTE3. 讀寫端口C:歸納4讀取的C端口數(shù)據(jù)有兩種情況未被A和B

8、端口征用的引腳:將從定義為輸入的端口讀到引腳輸入信息;將從定義為輸出的端口讀到輸出鎖存器中的信息被A和B端口征用作為聯(lián)絡(luò)線的引腳:將讀到反映8255A狀態(tài)的狀態(tài)字8255A的工作方式方式0:基本輸入輸出方式適用于無條件傳送和查詢方式(需其他線輔助)的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路方式0輸入時(shí)序datadata輸入端口D0D7RD CS,A1,A0請(qǐng)?bào)w會(huì)這里8255A的數(shù)據(jù)緩沖作用方式0輸出時(shí)序WRdatadata輸出端口D0D7 CS,A1,A08255A對(duì)CPU通過它輸出給外設(shè)的數(shù)

9、據(jù)進(jìn)行鎖存方式1輸入引腳:A端口數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示A口已經(jīng)接收數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器方式1輸入引腳:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示B口已經(jīng)接收數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡(luò)信號(hào)同時(shí)還具有中斷請(qǐng)求和屏蔽功能方式1輸入聯(lián)絡(luò)信號(hào)STB*選通信號(hào),低電平有效由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器

10、IBF輸入緩沖器滿信號(hào),高電平有效8255A輸出的聯(lián)絡(luò)信號(hào)。當(dāng)其有效時(shí),表示數(shù)據(jù)已鎖存在輸入鎖存器INTR中斷請(qǐng)求信號(hào),高電平有效8255A輸出的信號(hào),可用于向CPU提出中斷請(qǐng)求,要求CPU讀取外設(shè)數(shù)據(jù)方式1輸入時(shí)序dataINTRIBF data輸入端口D0D7STBRDSTB*和IBF是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸入數(shù)據(jù)方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位(1)允許中斷,復(fù)位(0)禁止中斷對(duì)INTE的操作通過寫入端口C的對(duì)應(yīng)位實(shí)現(xiàn),INTE觸發(fā)器對(duì)應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號(hào)的輸入信號(hào)的哪一位,只要對(duì)那一位置位/復(fù)位就可以控制INTE觸發(fā)器

11、選通輸入方式下端口A的INTEA對(duì)應(yīng)PC4端口B的INTEB對(duì)應(yīng)PC2方式1輸出引腳:A端口外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器方式1輸出引腳:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU再次輸出數(shù)據(jù)中斷允許觸發(fā)器方式1輸出聯(lián)絡(luò)信號(hào)OBF*輸出緩沖器滿信號(hào),低有效8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表示CPU已

12、把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK*響應(yīng)信號(hào),低有效外設(shè)的響應(yīng)信號(hào),指示8255A的端口數(shù)據(jù)已由外設(shè)接受INTR中斷請(qǐng)求信號(hào),高有效當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提出中斷請(qǐng)求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對(duì)應(yīng)PC6端口B的INTEB對(duì)應(yīng)PC2:方式1輸出時(shí)序 INTR datadata輸出端口D0D7WROBFACK OBF*和ACK*是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸出數(shù)據(jù)方式2雙向方式方式2將方式1的選通輸入輸出功能組合成一個(gè)雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5個(gè)信號(hào)線,其作用與方式

13、1相同方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點(diǎn)不同:數(shù)據(jù)輸出時(shí)8255A不是在OBF*有效時(shí)向外設(shè)輸出數(shù)據(jù),而是在外設(shè)提供響應(yīng)信號(hào)ACK*時(shí)才送出數(shù)據(jù)方式2雙向引腳PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號(hào)方式2雙向時(shí)序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRDD7D6D5D4D3D2D1D0方式1輸入I/

14、OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向OBFAINTE1IBFAINTE2INTRA端口C的狀態(tài)字A組B組8255A的應(yīng)用作為通用的并行接口電路芯片,8255A具有廣泛的應(yīng)用應(yīng)用在IBM PC/XT微機(jī)上應(yīng)用于打印機(jī)接口電路連接簡易鍵盤驅(qū)動(dòng)LED數(shù)碼管 8255A 應(yīng)用舉例 采用8255A進(jìn)行雙機(jī)并行通信的接口電路如圖8-11所示。現(xiàn)要求在甲乙兩臺(tái)微機(jī)之間并行傳送1K字節(jié)數(shù)據(jù)。兩機(jī)的CPU與接口之間都采用查詢方式交換數(shù)據(jù)。1. 甲機(jī)發(fā)送, 1方式, PA口為輸出, PC7和 PC6

15、引腳分別固定作聯(lián)絡(luò)線OBF和ACK2.乙機(jī)接收。0方式,PA口為輸入,PC4和 PC0作聯(lián)絡(luò)線。雖然,兩側(cè)的8255A都設(shè)置了聯(lián)絡(luò)線,但有本質(zhì)的差別:甲機(jī)8255A是1方式,其聯(lián)絡(luò)線是固定的不可替換;乙機(jī)的8255A是0方式,其聯(lián)絡(luò)線是不固定的可選擇,比如可選擇PC4和PC1或PC3、PC2等任意組合。雙機(jī)并行傳送接口電路框圖 軟件編程,接口驅(qū)動(dòng)程序包含發(fā)送與接收兩個(gè)程序。 甲機(jī)發(fā)送程序: MOV DX,303H ;8255A命令口 MOV AL, 10100000B ;初始化工作方式字 OUT DX, AL ; MOV AL,0DH ;置發(fā)送中斷允許INTEA=1 OUT DX, AL ;P

16、C6=1 MOV AX, 030H ;發(fā)送數(shù)據(jù)內(nèi)存首址 MOV ES, AX ; MOV BX, 00H ; MOV CX, 400H ;發(fā)送字節(jié)數(shù) MOV DX, 300H ;向A口寫第一個(gè)數(shù), 產(chǎn)生第一個(gè)OBF信號(hào) MOV AL, ES:BX ;送給對(duì)方, 以便獲取對(duì)方的ACK信號(hào) OUT DX, AL INC BX ;內(nèi)存加1 DEC CX ;字節(jié)數(shù)減1L: MOV DX,302H ;8255A狀態(tài)口 IN AL,DX ;查發(fā)送中斷請(qǐng)求 INTRA=1? AND AL, 08H ;PC3= 1? JZ L ;若無中斷請(qǐng)求,則等待; 有中斷請(qǐng)求,則向A口寫數(shù)。 MOV DX, 300H ;

17、8255A PA口地址 MOV AL, ES:BX ;從內(nèi)存取數(shù) OUT DX, AL ;通過A口向乙機(jī)發(fā)送第二個(gè)數(shù)據(jù) INC BX ;內(nèi)存地址加 1 DEC CX ;字節(jié)數(shù)減1 JNZ L ;字節(jié)未完,繼續(xù) MOV AX, 4C00H ;已完,退出 INT 21H ;返回 DOS 在上述發(fā)送程序中,是查狀態(tài)字的中斷請(qǐng)求 INTR位(PC3),實(shí)際上,也可以查發(fā)送緩沖器滿OBF(PC7)的狀態(tài), 只有當(dāng)發(fā)送緩沖器空時(shí)CPU才能送下一個(gè)數(shù)據(jù)。 乙機(jī)接收程序: MOV DX, 303H ;8255A命令口 MOV AL,10011000B ;初始化工作方式字 OUT DX, AL ; MOV AL, 00000001B ;置ACK=1(PC0=1) OUT DX, AL ; MOV AX,040H ;接收數(shù)據(jù)內(nèi)存首址 MOV ES, AX ; MOV BX, 00H ; MOV CX, 400H ;接收字節(jié)數(shù)L1:MOV DX, 302H ;8255A PC口 IN AL,DX ;查甲機(jī)的OBF=0?(PC4=0) AND AL, 10H;即查甲機(jī)是否有數(shù)據(jù)發(fā)來 JNZ L1 ;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論