[工程科技]微機(jī)接口技術(shù)-5-1-并行接口.ppt_第1頁(yè)
[工程科技]微機(jī)接口技術(shù)-5-1-并行接口.ppt_第2頁(yè)
[工程科技]微機(jī)接口技術(shù)-5-1-并行接口.ppt_第3頁(yè)
[工程科技]微機(jī)接口技術(shù)-5-1-并行接口.ppt_第4頁(yè)
[工程科技]微機(jī)接口技術(shù)-5-1-并行接口.ppt_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、可編程并行接口,2,8255A的功能與結(jié)構(gòu) 8255A的工作方式和編程 8255A的應(yīng)用,教學(xué)要點(diǎn),3,并行數(shù)據(jù)傳輸方式,以計(jì)算機(jī)的字長(zhǎng),通常是8位、16位或32位為傳輸單位,一次傳送一個(gè)字長(zhǎng)的數(shù)據(jù) 適合于外部設(shè)備與微機(jī)之間進(jìn)行近距離、大量和快速的信息交換 例如:微機(jī)與并行接口打印機(jī)、磁盤驅(qū)動(dòng)器 微機(jī)系統(tǒng)中最基本的信息交換方法 例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間,4,接口電路的基本結(jié)構(gòu),0 簡(jiǎn)單接口電路,數(shù)據(jù)線,控制線,狀態(tài)線,DB,CB,AB,數(shù)據(jù)輸入寄存器 (or 三態(tài)門),數(shù)據(jù)輸出寄存器 (鎖存器),狀態(tài)寄存器 (or 三態(tài)門),命令寄存器,譯碼 電路,控制 邏輯,5,數(shù)據(jù)

2、輸入/輸出寄存器暫存輸入/輸出的數(shù)據(jù) 命令寄存器存放控制命令,用來(lái)設(shè)定接口功能、工作參數(shù)和工作方式。 狀態(tài)寄存器保存外設(shè)當(dāng)前狀態(tài),以供CPU讀取。,6,數(shù)據(jù)輸入接口 必須具有三態(tài)輸出能力,以便與總線掛接 外設(shè)有數(shù)據(jù)保持能力時(shí)可用三態(tài)門實(shí)現(xiàn) 外設(shè)無(wú)數(shù)據(jù)保持能力時(shí)用三態(tài)輸出的鎖存器實(shí)現(xiàn) 數(shù)據(jù)輸出接口 常用鎖存器實(shí)現(xiàn),7,三態(tài)門:高電平、低電平、高阻態(tài) 通常一個(gè)器件中包含8個(gè)三態(tài)門 常用芯片:74LS244 應(yīng)用例子:開關(guān)接口 工作波形圖如下:,8,例1:,83FCH 83FFH,譯碼器,9,鎖存器:由D觸發(fā)器構(gòu)成 通常一個(gè)器件包含8個(gè)D觸發(fā)器 常用芯片: 74LS273 74LS374(具有三態(tài)輸

3、出的鎖存器) 應(yīng)用例子:發(fā)光二極管接口,例2:,74LS273,10,例3:輸入/輸出接口綜合應(yīng)用,根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號(hào) 共陽(yáng)極7段數(shù)碼管結(jié)構(gòu) 用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管 74LS273的地址假設(shè)為F0H 用74LS244作為輸入口,讀入開關(guān)K0K3的狀態(tài) 74LS244的地址假設(shè)為F1H 當(dāng)開關(guān)的狀態(tài)分別為00001111時(shí),在7段數(shù)碼管上對(duì)應(yīng)顯示0F (7段碼表見下頁(yè)),11,12,13,相應(yīng)程序段如下: Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB7FH,67H,77H,7CH,39H,5EH,79H,71H

4、 LEABX, Seg7;取7段碼表基地址 MOVAH, 0 GO:MOVDX, 0F1H;開關(guān)接口的地址為F1H INAL, DX;讀入開關(guān)狀態(tài) ANDAL, 0FH;保留低4位 MOVSI, AX;作為7段碼表的表內(nèi)位移量 MOVAL, BX+SI;取7段碼 MOVDX, 0F0H;7段數(shù)碼管接口的地址為F0H OUTDX, AL JMPGO,14,1 并行接口芯片8255A,具有多種功能的可編程并行接口芯片 最基本的接口電路:三態(tài)緩沖器和鎖存器 與CPU間、與外設(shè)間的接口電路:狀態(tài)寄存器和控制寄存器 還有端口的譯碼和控制電路、中斷控制電路 分3個(gè)端口,共24個(gè)外設(shè)引腳 3種輸入輸出工作方

5、式,15,1.1 8255A的內(nèi)部結(jié)構(gòu)和引腳,16,17,1)外設(shè)數(shù)據(jù)端口,端口A:PA0PA7 A組,支持工作方式0、1、2 端口B:PB0PB7 B組,支持工作方式0、1 端口C:PC0PC7 僅支持工作方式0 A組控制高4位PC4PC7 B組控制低4位PC0PC3,端口A:PA0PA7 常作數(shù)據(jù)端口,功能最強(qiáng)大 端口B:PB0PB7 常作數(shù)據(jù)端口 端口C:PC0PC7 可作數(shù)據(jù)、狀態(tài)和控制端口 分兩個(gè)4位,每位可獨(dú)立操作 控制最靈活,最難掌握,18,2)與處理器接口,D0 D7數(shù)據(jù)線A0 A1地址線 RD*讀信號(hào)WR*寫信號(hào) CS*片選信號(hào)RESET復(fù)位信號(hào),19,1.2 8255A的工

6、作方式,方式0:基本輸入輸出方式 適用于無(wú)條件傳送和查詢方式的接口電路 方式1:選通輸入輸出方式 適用于查詢和中斷方式的接口電路 方式2:雙向選通傳送方式 適用于與雙向傳送數(shù)據(jù)的外設(shè) 適用于查詢和中斷方式的接口電路,20,方式0輸入時(shí)序,請(qǐng)?bào)w會(huì)這里8255A的數(shù)據(jù)緩沖作用,21,方式0輸出時(shí)序,8255A對(duì)CPU通過它輸出給外設(shè)的數(shù)據(jù)進(jìn)行鎖存,22,方式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ù),23,方式1輸入引腳:B端口,方式1需借用端口C用做聯(lián)絡(luò)信號(hào) 同時(shí)還具有中斷請(qǐng)求和屏蔽功能,24,方式1輸入聯(lián)絡(luò)

7、信號(hào),STB*選通信號(hào),低電平有效 由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備送來(lái)的數(shù)據(jù)鎖存至8255A的輸入鎖存器 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ù),25,方式1輸入時(shí)序,STB*和IBF是外設(shè)和8255A間 的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào), 為的是可靠地輸入數(shù)據(jù),26,方式1中斷控制,8255A的中斷由中斷允許觸發(fā)器INTE控制 置位允許中斷,復(fù)位禁止中斷 對(duì)INTE的操作通過寫入端口C的對(duì)應(yīng)位實(shí)現(xiàn),INTE觸發(fā)器對(duì)應(yīng)端口C的

8、位是作應(yīng)答聯(lián)絡(luò)信號(hào)的輸入信號(hào)的哪一位,只要對(duì)那一位置位/復(fù)位就可以控制INTE觸發(fā)器 選通輸入方式下 端口A的INTEA對(duì)應(yīng)PC4 端口B的INTEB對(duì)應(yīng)PC2,27,方式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ù),28,方式1輸出引腳:B端口,29,方式1輸出聯(lián)絡(luò)信號(hào),OBF*輸出緩沖器滿信號(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)

9、,高有效 當(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,30,方式1輸出時(shí)序,OBF*和ACK*是外設(shè)和8255A間 的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào), 為的是可靠地輸出數(shù)據(jù),31,方式2雙向方式,方式2將方式1的選通輸入輸出功能組合成一個(gè)雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù) 只有端口A可以工作于方式2,需要利用端口C的5個(gè)信號(hào)線,其作用與方式1相同 方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣 方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點(diǎn)不同:數(shù)據(jù)輸出時(shí)8255A不是在OBF*有效時(shí)向外設(shè)輸出數(shù)據(jù),而是在

10、外設(shè)提供響應(yīng)信號(hào)ACK*時(shí)才送出數(shù)據(jù),32,方式2雙向引腳,用PC6設(shè)置INTE1(輸出) 用PC4設(shè)置INTE2(輸入) 輸入和輸出中斷通過 或門輸出INTRA信號(hào),33,方式2雙向時(shí)序,34,1.3 8255A的編程,初始化編程:一個(gè)方式控制字 采用控制I/O地址:A1A011 工作過程中:通過數(shù)據(jù)端口對(duì)外設(shè)數(shù)據(jù)進(jìn)行讀寫 數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10 IBM PC/XT機(jī)上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H,35,1) 寫入方式控制字:控制字格式,36,例:某系統(tǒng)要求使用8255的A口工作于方式1作輸入,B口工

11、作于方式0作輸出,C口上半部輸入,下半部輸出。8255端口地址為60H-63H。 控制字為:10111000B=0B8H 初始化程序?yàn)椋篗OV AL,0B8H OUT 63H,AL,37,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è)備 8255A具有鎖存輸出數(shù)據(jù)的能力 對(duì)輸出方式的端口同樣可以輸入 不是讀取外設(shè)數(shù)據(jù) 讀取的是上次CPU給外設(shè)的數(shù)據(jù),38,例:利用8255A的輸出鎖存能力,可實(shí)現(xiàn)按位輸出控制 對(duì)輸出端口B的PB7位置位的程序段: mov dx,0fff

12、ah;B端口假設(shè)為FFFAH in al,dx;讀出B端口原輸出內(nèi)容 or al,80h;使PB71 out dx,al;輸出新的內(nèi)容,39,3) 讀寫端口C,C端口被分成兩個(gè)4位端口,兩個(gè)端口只能以方式0工作,可分別選擇輸入或輸出 在控制上,C端口上半部和A端口編為A組,C端口下半部和B端口編為B組 當(dāng)A和B端口工作在方式1或方式2時(shí),C端口的部分或全部引腳將被征用 其余引腳仍可設(shè)定工作在方式0,40,對(duì)端口C的數(shù)據(jù)輸出有兩種辦法: 通過端口C的I/O地址:向C端口直接寫入字節(jié)數(shù)據(jù)。這一數(shù)據(jù)被寫進(jìn)C端口的輸出鎖存器,并從輸出引腳輸出,但對(duì)設(shè)置為輸入的引腳無(wú)效 通過控制端口:向C端口寫入位控字

13、,使C端口的某個(gè)引腳輸出1或0,或置位復(fù)位內(nèi)部的中斷允許觸發(fā)器,41,端口C的位控制字,位控制字寫入控制端口 特別便于置位/復(fù)位內(nèi)部中斷允許觸發(fā)器INTE,42,例:(接上例) 若A口工作于方式1作輸入,要使用中斷傳送方式,則應(yīng)當(dāng)寫PC4的按位置位字。 控制字為:00001001B=09H MOV AL,00001001BOUT 63H,AL,43,讀取的C端口數(shù)據(jù)有兩種情況 未被A和B端口征用的引腳:將從定義為輸入的端口讀到引腳輸入信息;將從定義為輸出的端口讀到輸出鎖存器中的信息 被A和B端口征用作為聯(lián)絡(luò)線的引腳:將讀到反映8255A狀態(tài)的狀態(tài)字,44,端口C的狀態(tài)字,45,例:下圖采用一個(gè)

14、8255芯片和軟盤控制器相連,箭頭標(biāo)明了I/O的方向,根據(jù)該圖,試寫出8255A口的初始化程序。設(shè)8255端口地址為0300-0303H。,8255用作軟盤基本接口,46,例: A口工作在方式2,PC4-PC7作應(yīng)答聯(lián)絡(luò)信號(hào)線,PC3用作A組中斷請(qǐng)求,PC0-PC2作輸出。 工作方式控制字為:11XXX000B0C0H 初始化程序?yàn)椋?MOV DX,303HMOV AL,0C0H;工作方式控制字OUT DX,ALMOV AL,00001001BOUT DX,AL ;PC4置位,開放輸入中斷MOV AL,00001101BOUT DX,AL ;PC6置位,開放輸出中斷,47,2 8255A的應(yīng)用

15、,作為通用的并行接口芯片,8255A具有廣泛的應(yīng)用: 應(yīng)用在IBM PC/XT微機(jī)上 應(yīng)用于打印機(jī)接口電路 連接簡(jiǎn)易鍵盤 驅(qū)動(dòng)LED數(shù)碼管 ,48,2.1 8255A在IBM PC/XT上的應(yīng)用,工作在基本輸入/輸出方式0 端口A為方式0輸入,用來(lái)讀取鍵盤掃描碼 端口B工作于方式0輸出,例如控制揚(yáng)聲器等 端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置 系統(tǒng)的初始化編程: mov al,10011001b;方式控制字99H out 63h,al,49,2.2 用8255A方式0與打印機(jī)接口,50,打印機(jī)接口的信號(hào)與時(shí)序(Centronics),主機(jī)把數(shù)據(jù)送給引腳DATA0DATA7 同時(shí)送出數(shù)據(jù)選通信號(hào)

16、STROBE* 打印機(jī)在BUSY信號(hào)線上發(fā)出忙信號(hào) 打印機(jī)處理好輸入的數(shù)據(jù)時(shí) 撤消忙信號(hào) 同時(shí)又送出一個(gè)響應(yīng)信號(hào)ACK*,51,Centronics并行打印接口標(biāo)準(zhǔn),52,8255A的初始化,mov dx,0fffeh ;控制端口地址:FFFEH mov al,10000001B ;方式控制字:91H out dx,al ;A端口方式0輸出,C端口上輸出、下輸入 mov al,00001111B ;端口C的復(fù)位置位控制字,使PC71 out dx,al,例1,53,打印子程序:查詢,printcproc push ax push dx prn: mov dx,0fffch;讀取端口C in a

17、l,dx;查詢打印機(jī)狀態(tài) and al,04h;PC2BUSY0? jnz prn ;PC21,打印機(jī)忙,則循環(huán)等待,例1,54,打印子程序:輸出,mov dx,0fff8h ;PC20,打印機(jī)不忙,則輸出數(shù)據(jù) mov al,ah out dx,al;將打印數(shù)據(jù)從端口A輸出,例1,55,打印子程序:打印,mov dx,0fffeh;從PC7送出控制低脈沖 mov al,00001110B;置STROBE*0 out dx,al nop;產(chǎn)生一定寬度的低電平 nop mov al,00001111B;置=1 out dx,al;最終,STROBE*產(chǎn)生低脈沖信號(hào),例1,56,打印子程序:返回,p

18、op dx pop ax ret printcendp,例1,57,2.3 用8255A方式1與打印機(jī)接口,58,8255A方式1與打印機(jī)接口時(shí)序配合,59,8255A的初始化,mov dx,0fffeh mov al,0a0h out dx,al mov al,0ch ;使INTEA(PC6)為0,禁止中斷 out dx,al mov cx,counter;打印字節(jié)數(shù)送CX mov bx,offset buffer;取字符串首地址 call prints;調(diào)用打印子程序,例2,60,打印子程序:輸出,printsproc push ax;保護(hù)寄存器 push dx print1:mov al,bx;取一個(gè)數(shù)據(jù) mov dx,0fff8h out dx,al;從端口A輸出,例2,61,打印子程序:查詢,mov dx,0fffch print2:in al,dx test al,80h;檢測(cè)(PC7)為1否? jz print2 ;為0,說明打印機(jī)沒有響應(yīng),繼續(xù)檢測(cè),例2,62,打印子程序:返回,inc bx ;為1,說明打印機(jī)已接受數(shù)據(jù) loop print1 ;準(zhǔn)備取下一個(gè)數(shù)據(jù)輸出 pop dx;打印結(jié)束,恢復(fù)寄存器 po

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論