微機(jī)原理與接口技術(shù)-第六章.ppt
《微機(jī)原理與接口技術(shù)-第六章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理與接口技術(shù)-第六章.ppt(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第六章 并行接口,教學(xué)重點(diǎn) 并行接口的概念 8255A的工作方式和編程 8255A的應(yīng)用,6.1 并行接口的概念,通信:是指計(jì)算機(jī)中主機(jī)與主機(jī)、主機(jī)與外設(shè)之間信息的傳送。一般分別分為并行通信和串行通信。 并行通信:是指?jìng)鬏數(shù)木€路的多條(四條、八條),一次可并行進(jìn)行多位二進(jìn)制位的傳送。 串行通信:是指?jìng)鬏斁€路只有一條,一次只進(jìn)行一位二進(jìn)制位的傳送。,6.2 可編程并行接口8255A,一、8255A的基本功能 有3種工作方式,方式0:基本輸入輸出;方式1:?jiǎn)雾?xiàng)輸入輸出;方式2:雙向輸入輸出 可實(shí)現(xiàn)與CPU之間的直接、查詢(xún)、中斷和DMA四種數(shù)據(jù)傳送方式。,二、8255A的引腳,40引腳雙列直插,+5
2、V,24條可編程I/O引腳 除電源和地線外,其它外部引腳信號(hào)可分為兩組: 一組面向CPU的信號(hào); 一組面向外設(shè)的信號(hào)。,二、8255A的引腳,連接CPU系統(tǒng)端的主要引線: D0D7 CS RD WR A0,A1 RESET復(fù)位信號(hào), 接系統(tǒng)總線的RESET,,,,A1 A0 選擇 0 0 端口A 0 1 端口B 1 0 端口C 1 1 控制寄存器,,,,,二、8255A的引腳,連接外設(shè)端的引腳: PA0PA7 PB0PB7 PC0PC7,,分別對(duì)應(yīng)A、B、C三個(gè)8位輸入/輸出端口,三個(gè)端口可通過(guò)編程分別指定為輸入或輸出口。其中,C口即可用作獨(dú)立的輸入/輸出口,也可
3、用作A、B口的握手聯(lián)絡(luò)信號(hào)(控制信號(hào)輸出或狀態(tài)信號(hào)輸入)。,8255A的讀/寫(xiě)操作控制,,,,三、8255A的內(nèi)部結(jié)構(gòu),A組 B組,端口PA 端口PC的高4位,端口PB 端口PC的低4位,,,8255內(nèi)部分為A、B兩組分別進(jìn)行控制管理。,PA口和PB口的輸入/輸出都具有數(shù)據(jù)鎖存能力; 但 PC口輸出有鎖存能力, 而輸入沒(méi)有鎖存能力(僅緩沖能力)。,8255A的內(nèi)部結(jié)構(gòu),,,,,四、8255與系統(tǒng)的連接示意圖,,D0D7,WR,RD,A1,A0,CS,,,,,,,DB,IOW,IOR,A1,A0,,,譯碼器,8255,PA口,,,PB口,PC口,D0D7,,,,,,,,外 設(shè),A2A15,系統(tǒng)總
4、線,,,五. 方式命令字:命令字格式,例1. 寫(xiě)入方式控制字,要求: A端口:方式1輸入 C端口上半部:輸出,C口下半部:輸入 B端口:方式0輸出 方式控制字:10110001B或B1H 初始化的程序段: mov dx,303h;假設(shè)控制端口為303H mov al,0b1h;方式控制字 out dx,al;送到控制端口,五. 方式命令字:按位置位/復(fù)位命令字,例2. 位控命令控制字,要求: 把C口的PC2引腳置成高電平輸出 方式控制字:00000101B或05H 初始化的程序段: mov dx,303h;假設(shè)控制端口為303H mov al,05h;使PC2=1的命令字 out dx,al;
5、送到命令口,6.2 可編程并行接口8255A,六、8255A的工作方式 8255A的工作方式與端口有關(guān),PA口有3種方式(0方式、1方式、2方式),PB口和PC口只有2種工作方式(0方式、1方式)。,基本I/O方式(方式0) (PA、PB、PC) 不需握手聯(lián)絡(luò)線的簡(jiǎn)單輸入/輸出單向方式; 適用于無(wú)條件傳送和查詢(xún)方式(一般PA或PB數(shù)據(jù)口, 而PC做成狀態(tài)口 )的接口電路 選通I/O方式(方式1) (PA、PB) 需握手聯(lián)絡(luò)線的復(fù)雜輸入/輸出單向方式; 適用于查詢(xún)和中斷方式的接口電路 雙向方式(方式2) (僅PA) 需握手聯(lián)絡(luò)線的復(fù)雜輸入/輸出雙向方式; 適用于查詢(xún)和中
6、斷方式的接口電路,,I/O 接口,輸入 設(shè)備,,I/O 接口,輸出 設(shè)備,,I/O 接口,輸入 設(shè)備,,I/O 接口,輸出 設(shè)備,,I/O 接口,存儲(chǔ) 設(shè)備,,,,,,,,,,,6.3 8255A的0方式及其應(yīng)用,在這種工作方式下,A、B和C口都可以由程序規(guī)定為輸入或輸出。 方式0使用于: 1、簡(jiǎn)單的輸入輸出,不需任何聯(lián)絡(luò)信號(hào) 2、查詢(xún)式輸入或輸出,由編程者選擇C口的某些位當(dāng)作控制和狀態(tài)信息。,例:8255A作為連接打印的查詢(xún)式接口,工作于方式0,如圖所示。設(shè)8255A的端口地址為: A端口:00D0H C端口: 00D4H B端口:00D2H 控制口:00D6H 工作過(guò)程:當(dāng)
7、主機(jī)要往打印機(jī)輸出字符時(shí),先查詢(xún)打印機(jī)忙信號(hào),如果打印機(jī)正在處理一個(gè)字符或在打印一行字符,則忙信號(hào)為1,否則為0。 PC2作為打印機(jī)忙信號(hào), PC6作為數(shù)據(jù)選通信號(hào),將數(shù)據(jù)線上的數(shù)據(jù)打入打印機(jī)緩沖器。,方式0實(shí)例,打印機(jī)驅(qū)動(dòng)流程圖,工作方式0例子打印機(jī),,Y,PP: MOV AL ,81H ;8255工作方式字 OUT D6H , AL ;A口方式0,輸出, ; C口方式0, C47輸出,C03輸入 MOV AL , 0DH ;PC6置1 OUT D6H ,AL MOV S I , 200H ;打印字符內(nèi)存地址 M
8、OV CX, 0FFH ;打印字符個(gè)數(shù) LPST : IN AL , D4H ;讀C口 AND AL , 04H ;查PC2=1? JNZ LPST ;忙,等待;不忙,送數(shù) MOV AL, SI ;從內(nèi)存取數(shù) OUT D0H , AL ;送數(shù)到PA口,MOV AL , 00001100B ;將PC6置0(STB為低) OUT D6H , AL ;AL 0000 1100 B NOP NOP ; 延時(shí) INC AL ;AL0000 1101 B OUT 0D6H
9、 , AL ;再使STB(PC6)為1 INC SI ;內(nèi)存地址+1 DEC CX ;字符數(shù) - 1 JNZ LPST HLT,,,6.4 8255A的1方式及其應(yīng)用,數(shù)據(jù)輸入輸出要在選通信號(hào)控制下工作. 端口A和端口B可以分別作為兩個(gè)數(shù)據(jù)口工作于方式1,并且,任何一個(gè)端口可以為輸入口或輸出口。,,方式1輸入有關(guān)信號(hào)的規(guī)定,,,端口B輸入,1選通信號(hào)輸入端,低電平有效,2輸入緩沖區(qū)滿(mǎn)信號(hào),,3它是8255送往CPU的中斷請(qǐng)求 信號(hào),高電平有效。,中斷允許信號(hào),INTE由PC4置“1”,INTR有效,數(shù)據(jù)輸入口,方式1 A口輸入有關(guān)信號(hào)的規(guī)定,PC0-7
10、,,方式1輸入聯(lián)絡(luò)信號(hào)定義,STB選通信號(hào),低電平有效 由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備送來(lái)的數(shù)據(jù)鎖存至8255A的輸入鎖存器 IBF輸入緩沖器滿(mǎn)信號(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ù) INTE 中斷允許信號(hào),高電平有效 用于控制中斷允許或中斷屏蔽 STB和IBF是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸入數(shù)據(jù),,,方式1 輸入時(shí)序,方式1輸出有關(guān)信號(hào)的規(guī)定,3 中斷請(qǐng)求,1通知外設(shè)取走數(shù)據(jù),2外設(shè)響應(yīng)信號(hào),,,端口B輸
11、出,方式1輸出聯(lián)絡(luò)信號(hào),OBF輸出緩沖器滿(mǎn)信號(hào),低有效 8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表示CPU已把數(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ù) OBF和ACK是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸出數(shù)據(jù),,,PC0-7,,,,方式1輸出時(shí)序,例1: 8255A端口A工作在方式1,A口輸入,允許A口中斷,編寫(xiě)初始化程序。 MOV DX,PCTR ;控制口地址送DX M
12、OV AL,10110000B ;A口方式1輸入 OUT DX,AL MOV AL,00001001B;置PC4=1,允許中斷 OUT DX,AL ;,例2:應(yīng)用8255A工作在方式0和方式1進(jìn)行雙機(jī)并行通信。甲機(jī)(發(fā)送)和乙機(jī)(接收)的口地址為: A口60H、B口61H、C口62H、控制口63H,發(fā)送方的發(fā)送程序 MOV AL,10100000B ;A口方式1輸出 OUT 63H,AL ;寫(xiě)工作方式控制字 MOV AL,0DH ;PC6置初值1 OUT 63H,AL ;寫(xiě)位控字 TEST1: IN AL,62H ;讀狀態(tài)口C AND AL,
13、40H ;判斷PC6是否為0, ;即ACK信號(hào)是否有效 JNZ TEST1 ;無(wú)ACK信號(hào)則循環(huán) MOV AL,CL ;發(fā)送(CL)值 OUT 60H,AL,接收方的接收程序 MOV AL,10011000B ;A口方式0輸入,C高4位輸入, C低4位輸出 OUT 63H,AL ;寫(xiě)工作方式控制字 MOV AL,01H ; PC0置初值1 OUT 63H,AL ;寫(xiě)位控字 RECEIVE: IN AL,62H ;讀狀態(tài)口C TEST AL,10H ;判斷PC7是否為0, ;即OBF信號(hào)是否有效 JNZ RECE
14、IVE ;無(wú)OBF信號(hào)則循環(huán) IN AL,60H ;接收甲機(jī)值 MOV CL,AL ;保存接收值到CL MOV AL,00H ;PC0置0,發(fā)送ACK信號(hào) OUT 63H,AL CALL DELAY INC AL ; PC0置1,即ACK信號(hào)只持續(xù)一段時(shí)間 OUT 63H,AL ,為什么要設(shè)置C口?,方式2只適用于端口PA; 方式2類(lèi)似于PA口方式1下輸入和輸出的組合。 PA口用方式2時(shí),PC口( PC7PC3 )的5條線提供 傳輸聯(lián)絡(luò)信號(hào) INTE1為PC6,INTE2為PC4。,PC0-7,PA方式2時(shí)的狀態(tài)字,,,PB口方式?jīng)Q
15、定,6.5 8255A的2方式及其應(yīng)用,,,方式2有關(guān)信號(hào)的規(guī)定,一個(gè)數(shù)據(jù)輸出過(guò)程和一個(gè)數(shù)據(jù)輸入的時(shí)序,工作方式2時(shí)序,,,,,,,,,,,,,,,,,,,,,,6.5 8255A的2方式及其應(yīng)用,四、中斷方式的雙向并行接口設(shè)計(jì) 1要求 主從兩臺(tái)微機(jī)進(jìn)行并行傳送,共傳送256個(gè)字節(jié)。主機(jī)一側(cè)的8255A采用2方式并且用中斷方式傳送數(shù)據(jù)。從機(jī)一側(cè)8255A工作在0方式,采用查詢(xún)方式傳送數(shù)據(jù)。 2分析 為了適應(yīng)矢量中斷的要求,接口電路中使用中斷控制器8259A,并且是利用IBM-PC的中斷資源將8255A的中斷請(qǐng)求線IN1R接到系統(tǒng)總線的IRQ2上。 由于在2方式下輸入中斷請(qǐng)求和輸出中
16、斷請(qǐng)求共用一根線,因此,要在中斷服務(wù)程序中,用讀取狀態(tài)字的辦法查詢(xún)IBF和OBF狀態(tài)位來(lái)決定執(zhí)行輸入操作還是輸出操作。,6.5 8255A的2方式及其應(yīng)用,四、中斷方式的雙向并行接口設(shè)計(jì) 3設(shè)計(jì) (1)硬件設(shè)計(jì) 從圖6.19可知主機(jī)一側(cè)的8255A的PA口作雙向傳送,既輸出又輸人,它的中斷請(qǐng)求線接到8259A的IR2上。從機(jī)一側(cè)的8255A的PA口和PB口是單向傳送,分別作輸出和輸入。 (2)軟件設(shè)計(jì)下面討論主機(jī)一側(cè)的編程,包括初始化,主程序和中斷服務(wù)程序:有關(guān)中斷向量的獲取、修改和恢復(fù)的程序段均已略去,可參考第五章。,圖6.19 2方式接口電路圖,6.5 8255A的2方式及其應(yīng)用,82
17、55A初始化程序 MOV DX,303H ;8255A控制口 MOV AL,0C0H ;方式字:A口為2方式 OUT DX,AL MOV AL,09H ;置位PC4,設(shè)置INTE2=1,輸入中斷允許 OUT DX, AL MOV AL,ODH ;置位PC6,設(shè)置INTE1=1,輸出中斷允許 OUT DX,AL MOV SI, 300H ;發(fā)送數(shù)據(jù)塊首址 MOV DI, 410H ;接收數(shù)據(jù)塊首址 MOV CX,0FFH ;發(fā)送與接收字節(jié)數(shù) 。 。,6.5 8255A的2方式及其應(yīng)用,AGAIN: STI ;開(kāi)中斷
18、 HLT ;等待中斷 DEC CX ;字節(jié)數(shù)減1 JNZ AGAIN ;未完,繼續(xù) MOV AX,4COOH ;已完,退出 INT 21H ;返回DOS ;中斷服務(wù)程序 T_R PROC FAR ;中斷服務(wù)程序入口 ASSUME CS:CODE,DS:DATA,SS:STACK PUSH AX ;保存寄存器 PUSH DX PUSH DI PUSH SI MOV DX,303H ;8255A控制口 MOV AL,08H ;復(fù)位PC4,使INTE2=0,禁止輸入中斷 OU
19、T DX,AL MOV AL, OCH ;復(fù)位PC6,使INTE1=0,禁止輸出中斷 OUT DX,AL CLI ;關(guān)中斷,6.5 8255A的2方式及其應(yīng)用,MOV DX,302H ;8255A狀態(tài)口 IN AL, DX ;查中斷源,讀狀態(tài)字 MOV AH, AL ;保存狀態(tài)字 AND AL,20H ;檢查狀態(tài)位IBF,是輸入? JZ OUTP ;不是,則跳輸出程序OUTP INP: MOV DX,300H ;是,則從A口讀數(shù) IN AL, DX MOVDI,AL
20、 ;存入內(nèi)存區(qū) INC DI ;接收數(shù)據(jù)塊內(nèi)存地址加1 JMP RETURN ;跳RETURN OUTP: MOV DX,300H ;向A口寫(xiě)數(shù) MOV AL, SI ;從內(nèi)存取數(shù),6.5 8255A的2方式及其應(yīng)用,OUT DX,AL ;輸出 INC SI ;發(fā)送數(shù)據(jù)塊內(nèi)存地址加1 RETURN:MOV DX,303H ;8255A控制口 MOV AL,ODH ;允許輸出中斷 OUT DX,AL MOV AL, 09H ;允許輸入中斷 OUT DX,AL MO
21、V AL,62H ;OCW2,中斷結(jié)束 OUT 20H, AL POP SI ;恢復(fù)寄存器 POP DI POP DX POP AX IRET ;中斷返回 T- R FNDP,第七章小結(jié) 在8255A的三個(gè)數(shù)據(jù)口中,C口用法較特殊、比較復(fù)雜,是學(xué)習(xí)的一個(gè)難點(diǎn),為了更好的理解,下面做一個(gè)歸納: (1)C口被分成兩個(gè)四位端口,兩個(gè)端口只能以方式0工作,但分別可選擇輸入或輸出(若PC0選輸入,則PC1輸出無(wú)法辦到,因?yàn)樗鼈兺瑢貱口的下半部分)。 (2)當(dāng)A、B口工作在選通方式時(shí),C口的部分引腳被征用為聯(lián)絡(luò)信號(hào),其余引腳還可工作在方式0。 (3)將數(shù)據(jù)寫(xiě)入C口,有兩種辦法: 向C口直接寫(xiě)入字節(jié)數(shù)據(jù),這一數(shù)據(jù)被寫(xiě)進(jìn)C口的輸出鎖存器,并從輸出引腳輸出,但對(duì)輸入引腳無(wú)效;, 通過(guò)向控制口寫(xiě)入位控字,C口某個(gè)引腳輸出1或0,該操作每次限定對(duì)一位操作。位控字有兩個(gè)作用:輸出控制;對(duì)8255A內(nèi)部的中斷允許觸發(fā)器置位或復(fù)位。 (4)當(dāng)我們讀C口數(shù)據(jù)時(shí),讀到數(shù)據(jù)有兩種情況: 1)未被征用的引腳,讀C口時(shí)將從定義為輸入的端口讀到引腳輸入信息;對(duì)定義為輸出的端口讀到輸出鎖存器中的信息。 2)被征用的引腳,從C口讀到8255狀態(tài)的狀態(tài)字。,
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案