版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
微型計算機(jī)原理與應(yīng)用
------輸入輸出和接口技術(shù)主講人:馬永紅2/6/20231第八章輸入輸出和接口技術(shù)本章教學(xué)目的通過輸入輸出接口是計算機(jī)的重要組成部分,通過I/O接口控制方式的學(xué)習(xí),使學(xué)生初步了解主機(jī)與外設(shè)的主要通信方式及其特點,通過并行接口8255A的學(xué)習(xí)和實踐,使學(xué)生接觸具體的接口形式,從而進(jìn)一步加深對接口知識的理解。2/6/20232一、什么是I/O接口(電路)?是外設(shè)與CPU間連接的橋梁;CPU與外設(shè)之間信息交換的通道。9.1.1I/O接口基本概念---接口的功能外設(shè)各種各樣,工作原理、驅(qū)動方式、信息格式、以及工作速度方面彼此差別很大2/6/20233常用外設(shè):硬盤、顯示器、存儲器工業(yè)控制中的模擬設(shè)備、A/D、D/A轉(zhuǎn)換器輸入、輸出設(shè)備:打印機(jī);鍵盤、鼠標(biāo);繪圖儀2/6/20234主板上串行接口的插頭與插座9針插座9針插頭25針插座、插頭2/6/20235二、I/O接口電路的主要功能
----協(xié)助CPU對外部設(shè)備進(jìn)行管理數(shù)據(jù)加工(1)進(jìn)行I/O地址譯碼:找到CPU選定的I/O設(shè)備。----8259(2)協(xié)調(diào)外設(shè)與CPU工作速度的差異:作為數(shù)據(jù)中轉(zhuǎn)站。輸出接口有鎖存環(huán)節(jié)(外設(shè)慢),輸入接口有緩沖環(huán)節(jié)(暫時寄存器)(3)信息聯(lián)絡(luò):CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)的通訊員。
CPU想讀或?qū)懲庠O(shè)時,外設(shè)是否準(zhǔn)備好了,要給CPU發(fā)個信號,這個功能由接口來完成;外設(shè)向CPU發(fā)出中斷申請,通過接口代為辦理;2/6/20236計算機(jī)的CPU與一個I/O設(shè)備進(jìn)行信息交換時,要傳遞三種信息:圖6-1CPU與I/O接口間傳遞的信息三、I/O接口的內(nèi)部結(jié)構(gòu)2/6/20237接口芯片內(nèi)部必須有相應(yīng)的寄存器---端口
命令寄存器——存放控制命令,用來設(shè)定接口功能、工作方式。狀態(tài)寄存器——保存外設(shè)當(dāng)前狀態(tài),以供CPU讀取。數(shù)據(jù)輸入/輸出寄存器——暫存輸入/輸出的數(shù)據(jù)2/6/202389.1.2接口控制原理一、數(shù)據(jù)傳送方式并行傳送:數(shù)據(jù)在多條傳輸線上同時傳送。以1字節(jié)的數(shù)據(jù)為例,通過8條(+2)并行傳輸線同時傳送。串行傳送:數(shù)據(jù)在1(+2)條傳輸線上,一位一位地按順序分時傳送。以1字節(jié)為例,數(shù)據(jù)要通過一條傳輸線分8次由低位到高位按順序一位一位地傳送。源目的0
11
0
1
0
1
0源目的一條地線+一條數(shù)據(jù)準(zhǔn)備好狀態(tài)線(應(yīng)答線)移位寄存器2/6/20239距離:并行——近距離傳送(通常小于30米)
串行——遠(yuǎn)距離傳送(幾米~數(shù)千公里)速度:二者的傳送速率與距離成反比,但在短距離內(nèi)并行快得多。2/6/202310
9.1.2接口控制原理
二、傳送控制方式-------CPU與外設(shè)間的數(shù)據(jù)傳送方式CPU與外設(shè)的工作速度不一致,如何使兩者高效、可靠地進(jìn)行數(shù)據(jù)傳送,是本節(jié)討論的問題。2/6/2023111、查詢方式(CPU與外設(shè)不同步工作):傳送前,先查詢外設(shè)狀態(tài),準(zhǔn)備好才傳送,否則CPU處于等待狀態(tài)。查詢傳送方式,編程流程:NY從狀態(tài)端口讀入狀態(tài)信息從數(shù)據(jù)端口傳送一個數(shù)據(jù)外設(shè)準(zhǔn)備好否?外設(shè)處于被動狀態(tài)2/6/202312實現(xiàn)方法:
在與外設(shè)進(jìn)行傳送數(shù)據(jù)前,CPU先查詢外設(shè)狀態(tài),
——“你準(zhǔn)備好沒有?”當(dāng)外設(shè)準(zhǔn)備好后,才執(zhí)行I/O指令,實現(xiàn)數(shù)據(jù)傳送特點:1.CPU通過不斷查詢外設(shè)狀態(tài),實現(xiàn)與外設(shè)的速度匹配2.CPU的工作效率低對外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對接口的要求:需要提供狀態(tài)端口跳轉(zhuǎn)就像從卡上提錢需要查詢請示2/6/2023132、無條件傳送方式實現(xiàn)方法●如發(fā)光二極管的亮滅、電機(jī)的啟停這類外部設(shè)備可以隨時接受數(shù)據(jù),向這類外設(shè)可以直接傳送數(shù)據(jù),●如A/D轉(zhuǎn)換器,沒處理一個數(shù)據(jù)的時間是固定的,可以間隔固定的時間來送數(shù)據(jù)以上這兩種情況CPU不必查詢外設(shè)工作狀態(tài)在程序中直接用I/O指令,完成與外設(shè)的數(shù)據(jù)傳送。跳轉(zhuǎn)想想郵信或郵遞貨物想想我們發(fā)的QQ信息2/6/202314例1
無條件輸入接口(參看教材圖6-8)接口電路,即硬件上保證:只在CPU執(zhí)行從200H端口輸入數(shù)據(jù)時,
三態(tài)門處于工作狀態(tài),使輸入設(shè)備的數(shù)據(jù)送上總線側(cè),而CPU執(zhí)行其它指令時,
三態(tài)門均處于高阻狀態(tài),使輸入設(shè)備的數(shù)據(jù)線與總線側(cè)斷開三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線2/6/202315無條件輸入編程:
從端口200H讀入100個字節(jié)到內(nèi)存緩沖區(qū)buffer中。、、、
MOVAX,SEGbufferMOVDS,AX;取緩沖區(qū)
LEADI,buffer;首地址
MOVCX,100H;傳送個數(shù)
MOVDX,200H;端口地址
next: ;延時等待
INAL,DX;讀入數(shù)據(jù)
CALLdelay
MOV[DI],AL;送緩沖區(qū)
INCDI;修改指針
LOOPnext
、、、;延時子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCX
RETdelayENDP2/6/2023163、中斷傳送方式
實現(xiàn)方法:
1.
當(dāng)外設(shè)準(zhǔn)備好,向CPU發(fā)出中斷請求
2.CPU在滿足響應(yīng)中斷的條件下,發(fā)出中斷響應(yīng)信號;
3.CPU暫停當(dāng)前的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成與外設(shè)的數(shù)據(jù)傳送;
4.CPU從中斷服務(wù)程序返回,繼續(xù)執(zhí)行被中斷的程序就像學(xué)生上課發(fā)言要舉手一樣2/6/202317中斷服務(wù)程序發(fā)申請中斷服務(wù)程序發(fā)申請中斷方式下CPU執(zhí)行程序流程外設(shè)2/6/2023184、DMA傳輸方式(DirectMemoryAccess)前面三種I/O方式都需要CPU作為中介:
外設(shè)
CPU內(nèi)存外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過CPU執(zhí)行程序來完成的(PIO方式);I/O接口和存儲器的讀寫控制信號、地址信號都是由CPU發(fā)出的(總線由CPU控制)。
缺點:程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)—解決:DMA傳輸外設(shè)
內(nèi)存DMA傳送方式:2/6/202319DMA
傳送方式過程CPUDMAC內(nèi)存外設(shè)總線響應(yīng)總線請求
1.由專用接口芯片DMA控制器(稱DMAC)控制傳送過程,2.當(dāng)外設(shè)需傳送數(shù)據(jù)時,通過
DMAC向CPU發(fā)出總線請求;3.CPU發(fā)出總線響應(yīng)信號,釋放總線;4.DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送2/6/202320DMA傳送原理示意圖
①系統(tǒng)總線CPUDMAC存儲器外設(shè)接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外設(shè)發(fā)出DMA請求②DMAC向CPU申請總線③CPU完成當(dāng)前總線周期后響應(yīng),并釋放總線控制權(quán)④DMAC得到總線控制權(quán),并發(fā)出DMA響應(yīng)信號⑤由DMAC發(fā)出各種控制信號,控制外設(shè)與存儲器之間的數(shù)據(jù)傳送⑥數(shù)據(jù)傳送完后,DMAC撤銷HOLD信號⑦CPU釋放HLDA信號,并重新控制總線⑥⑦2/6/202321DMA傳送方式的特點
1.外設(shè)和內(nèi)存之間,直接進(jìn)行數(shù)據(jù)傳送,不通過CPU,傳送效率高。適用于在內(nèi)存與高速外設(shè)、或兩個高速外設(shè)之間進(jìn)行大批量數(shù)據(jù)傳送。
2.電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。2/6/202322
對I/O設(shè)備進(jìn)行操作須經(jīng)過兩個步驟:尋找I/O接口芯片(片選)尋找該芯片中的和外設(shè)對應(yīng)的寄存器---端口9.2、I/O指令和I/O地址譯碼2/6/202323
I/O端口: 外設(shè)通過接口和系統(tǒng)連接如圖6-2所示。接口中的寄存器叫做端口。每一個端口有端口地址。一個接口芯片中的可能有多個端口,計算機(jī)中為每一個端口都賦予一個惟一編號——稱為端口地址(或端口號)。一、什么是I/O端口是接口中可供CPU訪問的寄存器不同的信息用不同的端口不同的端口有不同的地址2/6/202324數(shù)據(jù)端口:保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)狀態(tài)端口:保存外設(shè)或接口電路的狀態(tài)。CPU通過對狀態(tài)端口的訪問和測試可以知道外設(shè)或接口的當(dāng)前狀態(tài);控制端口:保存CPU給外設(shè)或接口電路的命令端口按傳送的信息不同分為三類2/6/202325
1.映像I/O尋址(統(tǒng)一編址)把外設(shè)接口與內(nèi)存統(tǒng)一進(jìn)行編址。各占據(jù)統(tǒng)一地址空間的不同部分。優(yōu)點指令統(tǒng)一,靈活;訪問控制信號統(tǒng)一,使用同一組的地址/控制信號。
缺點內(nèi)存可用地址空間減小0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H二、端口尋址方式2/6/202326
2.獨立編址外設(shè)地址空間和內(nèi)存地址空間相互獨立。優(yōu)點:內(nèi)存地址空間不受I/O編址的影響缺點:I/O指令功能較弱,使用不同的讀寫控制信號00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/O地址空間0000H2/6/202327
8088/8086CPU的I/O編址方式采用I/O獨立編址方式與存儲器共用地址線)地址線上的地址信號用來區(qū)分時為I/O地址I/O操作只使用20根地址線中的16根:A15
~A0
可尋址的I/O端口數(shù)為64K(65536)個I/O地址范圍為0~FFFFHIBMPC只使用了1024個I/O地址(0~3FFH)2/6/2023289.3簡單的數(shù)據(jù)輸入輸出接口電路
在簡單的電路中,常常使用三態(tài)緩沖器、三態(tài)寄存器、輸出寄存器作為CPU與外設(shè)間的數(shù)據(jù)輸入輸出接口電路,我們稱作簡單的輸入輸出接口電路。2/6/202329
接口電路的基本結(jié)構(gòu)數(shù)據(jù)線控制線狀態(tài)線DBCBAB數(shù)據(jù)輸入寄存器(or三態(tài)門)數(shù)據(jù)輸出寄存器(鎖存器)狀態(tài)寄存器(or三態(tài)門)命令寄存器譯碼電路控制邏輯接外設(shè)接主機(jī)2/6/2023301、三態(tài)門作為輸入接口
MOVDX,83FCHINAL,DXANDAL,0FFHJZNEXT1JMPNEXT2譯碼器83FCH~83FFH地址可以認(rèn)為設(shè)計執(zhí)行IN指令時處理器發(fā)出讀信號IOR#,與地址信號相或產(chǎn)生負(fù)脈沖加到輸出允許端E1#和E2#,這樣輸入端的數(shù)據(jù)通過數(shù)據(jù)線D0-D7送至CPU中的AL數(shù)據(jù)輸入三態(tài)緩沖器2/6/2023312、輸出寄存器74LS273作為輸出接口74LS273:8輸入D觸發(fā)器用OUT指令執(zhí)行輸出操作:執(zhí)行OUT指令時微處理器發(fā)出IOW#寫信號,和端口地址相或產(chǎn)生負(fù)脈沖加到CP引腳,CP引腳在上升沿之后,將D0-D7端出現(xiàn)的數(shù)據(jù)寫入該觸發(fā)器寄存。2/6/20233274LS138G端接高電平;G2A、G2B接低電平74LS273:8輸入D觸發(fā)器2/6/202333用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管74LS273的地址假設(shè)為F0H用74LS244作為輸入口,讀入開關(guān)K0~K3的狀態(tài)74LS244的地址假設(shè)為F1H當(dāng)開關(guān)的狀態(tài)分別為0000~1111時,在7段數(shù)碼管上對應(yīng)顯示’0’~’F’實例:根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號3、簡單接口的應(yīng)用舉例2/6/202334O1I1O2I2O3I3O4I4#E1
K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7
abcdefgDP74068個反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3譯碼電路地址由設(shè)計者通過電路來設(shè)定?。?!2/6/202335符號形狀7段碼.gfedcba符號形狀7段碼.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’011100012/6/202336相應(yīng)程序段如下:
……Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX,Seg7 ;取7段碼表基地址
MOV AH,0GO: MOV DX,0F1H
;開關(guān)接口的地址為F1H
IN AL,DX
;讀入開關(guān)狀態(tài)
AND AL,0FH ;保留低4位(只有四個開關(guān)) MOV SI,AX ;作為7段碼表的表內(nèi)位移量
MOV AL,[BX+SI] ;取7段碼
MOV DX,0F0H ;7段數(shù)碼管接口的地址為F0H OUT DX,AL JMP GO2/6/202337
微型計算機(jī)原理與應(yīng)用
----可編程并行接口8255主講人:馬永紅2/6/202338可編程并行通信接口芯片8255A概述
8255A是Intel86系列微處理機(jī)的配套并行接口芯片,它可為86系列CPU與外部設(shè)備之間提供并行輸入/輸出的通道。由于它是可編程的,可以通過軟件來設(shè)置芯片的工作方式,所以,用8255A連接外部設(shè)備時,通常不用再附加外部電路,給使用者帶來很大方便。CPU和外設(shè)交換數(shù)據(jù)的管理芯片2/6/202339Intel公司出品的82C55A-2★含3個獨立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的控制和鎖存能力?!锟赏ㄟ^編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。2/6/202340控制字寄存器一、8255A芯片內(nèi)部結(jié)構(gòu)及其引腳功能數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESETC2/6/2023411、三個8位數(shù)據(jù)端口A,B,C(3個8位寄存器);1)PA、PB、PC口三個8位輸入輸出的數(shù)據(jù)端口2)PC口有第二種用途:;在“方式字”的控制下,PC口可以分成兩個4位的端口,分別配合A、B口使用,用作聯(lián)絡(luò)線端口提供控制或狀態(tài)信息2.控制字端口(寄存器)可接收來CPU通過數(shù)據(jù)總線(D7~D0)送來的控制字,從而決定各個端口的工作方式。通過A、B組控制器來實現(xiàn)各種操作。3.數(shù)據(jù)總線緩沖存儲器它是8255A與8086CPU之間的數(shù)據(jù)接口,是CPU和8255之間交換信息的必由之路。CPU執(zhí)行輸出指令時,可將控制字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖存儲器傳送給8255A。CPU執(zhí)行輸入指令時,8255A可將狀態(tài)信息或數(shù)據(jù)通過總線緩沖存儲器向CPU輸入。2/6/202342CS(chipselect)——片選信號。由CPU輸入,低電平有效。由他啟動8255,使其處于工作狀態(tài),完成和CPU之間的通信。由地址線A15-A2經(jīng)譯碼選中。(2)
RD,WR——讀、寫控制信號。由CPU輸入,RD有效,他控制8255A送出數(shù)據(jù)或狀態(tài)信息向CPU。WR有效,他控制CPU將命令信號或數(shù)據(jù)寫入8255A。(3)RESET——復(fù)位信號。由CPU輸入。RESET有效時,清除8255A中所有控制字寄存器內(nèi)容,并將各端口置成輸入方式。4控制命令2/6/2023438255中有三個輸入輸出端口,另外還有一個控制端口(控制字寄存器),共有四個端口,A1和A0——端口選擇信號。當(dāng)A1A0=00,選擇端口A;當(dāng)A1A0=01,選擇端口B;當(dāng)A1A0=10,選擇端口C;當(dāng)A1A0=11,選擇控制字寄存器。5、端口尋址線A0、A1---片內(nèi)端口地址線2/6/202344二、8255與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8255A口B口C口D0~D7外設(shè)A15~A2系統(tǒng)總線2/6/202345三、8255工作方式及控制字方式0:基本輸入/輸出方式(A、B、C口)方式1:選通工作方式(A、B口)方式2:雙向傳送方式(僅A口)
某端口工作于哪一種方式,可通過軟件編程來指定。即向8255(控制字寄存器)寫入方式控制字來決定其工作方式,見下頁。2/6/202346PA0~PA7PC7~PC4PC3~PC0PB7~PB0地址總線數(shù)據(jù)總線控制總線*RD*WRBCAD7~D08255AA0A1*CS方式0PB7~PB0方式2PA0~PA7IO控制雙向BACIOIOPB7~PB0方式1PA0~PA7控制或控制或BAC2/6/202347
方式選擇控制字
——確定3個端口的工作方式;
C口置位/復(fù)位控制字
——確定C口某一位的初始狀態(tài),或用于設(shè)置INTE位。8255A的工作方式由CPU對8255A(控制字寄存器)寫入控制命令字來設(shè)定,這個過程稱為“初始化”??刂谱?/6/2023488255A的初始化——方式選擇控制字D7D6D5D4D3D2D1D0C口低位選擇,1入0出B口I/O選擇,1入0出B口方式選擇,0=方式01=方式1B組C口高位選擇,1入0出A口I/O選擇,1入0出A口方式選擇00=方式001=方式11X=方式2D7=1,方式控制字標(biāo)志A組1、控制字的結(jié)構(gòu)2/6/2023498255A的初始化——C口置位/復(fù)位控制字D7D6D5D4D3D2D1D0置位/復(fù)位選擇1=置位,0=復(fù)位D7=0為置位/復(fù)位控制字標(biāo)志D3D2D1位選擇
000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7無效2/6/2023502、如何寫入控制字
MOVDX,8255A控制端口地址
MOVAL,86H;10000110OUTDX,AL
方式控制字2/6/202351【例1】
某系統(tǒng)要求使用8255A的A口方式0輸入,B口方式0輸出,C口高4位方式0輸出,C口低4位方式0輸入。則控制字為:10010001B即91H初始化程序為:MOVAL,91HOUTCTRL_PORT,AL2/6/202352【例2】A口方式2,要求發(fā)兩個中斷允許,即PC4和PC6均需置位。B口方式1要求使PC2置位來開放中斷。初始化程序可補(bǔ)充完整如下。MOVAL,0C4HOUTCTRL_PORT,AL;設(shè)置工作方式MOVAL,09HOUTCTRL_PORT,AL;PC4置位,A口輸入允許中斷MOVAL,ODHOUTCTRL_PORT,AL;PC6置位,A口輸出允許中斷MOVAL,05HOUTCTRL_PORT,AL;PC2置位;B口輸出允許中斷一個控制字、三個C口復(fù)位置位控制字2/6/202353【例3】在8086系統(tǒng)中,采用8255完成并行通信,8255口地址為200H~206H(8255的A1、A0和8086的A2、A1相連),將A組和B組設(shè)置成方式0,A口、B口為輸入,C口為輸出。請寫出8255的A、B、C、控制口地址,8255芯片的工作方式控制字及其初始化程序。解:控制字:10010010B(92H)A口的地址為200HB口的地址為202HC口的地址為204H控制口地址為206H初始化程序MOVDX,206HMOVAL,92HOUTDX,AL
2/6/2023543、工作方式--工作方式08255相當(dāng)于三個獨立的8位簡單接口。各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時實現(xiàn)輸入及輸出。C端口即可以是一個8位的簡單接口,也可以分為兩個獨立的4位端口。設(shè)置為輸出口時有鎖存能力,設(shè)置為輸入口時無鎖存能力。屬于無條件傳輸方式2/6/202355INAL,PORT
;PORT是端口號輸入輸入緩沖器譯碼器數(shù)據(jù)DBAB外設(shè)8n①外設(shè)將數(shù)據(jù)送到8255輸入緩沖器中;②CPU給出有效的8255地址;③CPU發(fā)讀命令,將8255A輸入緩沖器中數(shù)據(jù)讀入CPU的AL寄存器中。2/6/2023568255A的工作方式——方式0(輸出方式)OUTPORT,AL輸出鎖存器譯碼器數(shù)據(jù)DBAB外設(shè)8n2/6/202357這是一種選通的輸入/輸出方式。在這種工作方式下,數(shù)據(jù)的輸入輸出操作要在選通信號控制下完成。端口A和端口B仍作為數(shù)據(jù)的輸入、輸出口;端口C的某些位作為端口A和端口B的選通控制信號---稱作聯(lián)絡(luò)信號特點:
1、A口、B口在作為輸入和輸出時的選通信號不同。方式1的應(yīng)用:主要用于中斷控制方式下的輸入輸出。方式1需借用端口C用做聯(lián)絡(luò)信號同時還具有中斷請求和屏蔽功能聯(lián)絡(luò)方式3、工作方式----工作方式1(選通工作方式)2/6/2023588255A方式1工作過程(輸入)111外設(shè)產(chǎn)生數(shù)據(jù)數(shù)據(jù)出現(xiàn)在外部數(shù)據(jù)總線外設(shè)發(fā)選通信號數(shù)據(jù)進(jìn)入8255A的A口1通知外設(shè)緩沖區(qū)已滿,表示已經(jīng)接受數(shù)據(jù)1向C口寫P4位置1,開放中斷向CPU發(fā)中斷請求信號CPU發(fā)讀信號注意:此工作是8255A初始化時完成的?。?!2/6/202359C口的聯(lián)絡(luò)信號(方式1輸入)STB#(Strobe閘門)——選通輸入信號,低電平有效。它是外設(shè)供給的輸入信號,當(dāng)其有效時將外設(shè)來的數(shù)據(jù)送入8255的輸入鎖存器。A組對應(yīng)(接到)PC4;B組對應(yīng)PC2。IBF(inputbufferfull)——輸入鎖存器滿,高電平有效。這是一個8255輸給外設(shè)的聯(lián)絡(luò)信號。當(dāng)其有效時,通知外設(shè)輸入的數(shù)據(jù)已寫入緩沖器,此時不能送下一個數(shù)據(jù)。CPU用IN指令取走數(shù)據(jù)后,此信號被清除。A組對應(yīng)PC5;B組對應(yīng)PC1。如圖這兩個信號(引腳)是8255與外設(shè)間的聯(lián)絡(luò)引腳2/6/202360C口的聯(lián)絡(luò)信號(方式1輸入)INTR(interruptrequest)——中斷請求信號,高電平有效。是由8255A輸出的一個信號。用于向CPU請求中斷,讓CPU讀走輸入鎖存器中的數(shù)據(jù)。A組對應(yīng)PC3;B組對應(yīng)PC0INTE(interruptenable)——端口中斷允許信號,可由用戶通過對PC4位置位來實現(xiàn)。INTE=1,允許發(fā)出INTR請求。該信號沒有外接引腳如圖和CPU聯(lián)絡(luò)的引腳C口置位復(fù)位控制字來設(shè)置2/6/202361注意:INTE的狀態(tài)可利用C口的位控方式來設(shè)置:輸入:A口的INTE:寫入PC4B口的INTE:寫入PC2輸出:A口的INTE:寫入PC6B口的INTE:寫入PC2例如:方式1輸入允許A口中斷,則應(yīng)按如下方法設(shè)置INTEA。
MOVDX,控制寄存器地址
MOVAL,0xxx1001B;1=允許中斷,0=禁止中斷
OUTDX,AL2/6/2023628255A方式1工作過程(輸出)CPU發(fā)寫信號1111向C口寫PC4位置1,開放中斷1CPU產(chǎn)生數(shù)據(jù)后,輸出到數(shù)據(jù)總線數(shù)據(jù)進(jìn)入8255A通知外部設(shè)備取走數(shù)據(jù)外部設(shè)備取走數(shù)據(jù)外設(shè)取走數(shù)據(jù)后的應(yīng)答信號高電平告訴外設(shè)數(shù)據(jù)緩沖區(qū)為空02/6/202363OBF*(outputbufferfull)——輸出緩沖器滿信號,8255A輸出給外設(shè)的一個控制信號,當(dāng)其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK*(Acknowledge)——響應(yīng)確認(rèn)信號。是一個外設(shè)的響應(yīng)信號,指示CPU輸給8255A的數(shù)據(jù)已由外設(shè)接受。INTR——中斷請求信號,高有效。當(dāng)輸出設(shè)備已接受了CPU輸出的數(shù)據(jù)后,8255A輸出此信號向CPU提出新的中斷請求,要求CPU繼續(xù)輸出數(shù)據(jù)INTE(interruptenable)——端口中斷允許信號,可由用戶通過對PC6(INTEA)和PC2(INTEB)位置位來實現(xiàn)。INTE=1,允許發(fā)出INTR請求。該信號沒有外接引腳C口的聯(lián)絡(luò)信號(方式1輸出)2/6/2023648255A應(yīng)用舉例[例8-1]打印機(jī)接口。為某應(yīng)用系統(tǒng)配置一個并行打印機(jī)接口,并且通過接口CPU采用查詢方式打印。已知欲打印數(shù)據(jù)存放在數(shù)據(jù)段中有效地址位2000H的單元中。8255的口地址位80H、81H、82H、83H。分析:由于打印接口直接面向的對象是打印機(jī)接口標(biāo)準(zhǔn),而不是打印機(jī)本身,因此打印機(jī)接口要按照接口標(biāo)準(zhǔn)的要求進(jìn)行設(shè)計,主要是8位并行數(shù)據(jù)線DATA0~DATA7,2條握手聯(lián)絡(luò)線STB#、ACK#和1條忙線BUSY。有關(guān)打印機(jī)接口工作時序見下圖。DATA0~DATA7STBBUSYACK2/6/202365從圖可見,當(dāng)CPU通過接口要求打印機(jī)打印數(shù)據(jù)時,先要查看BUSY信號,BUSY=0時,才能向打印機(jī)輸出數(shù)據(jù)。DATA0~DATA7STBBUSYACK它的工作流程:①主機(jī)將要打印的數(shù)據(jù)送上數(shù)據(jù)線,然后發(fā)選通信號STB#=0信號通知打印機(jī);②打印機(jī)將數(shù)據(jù)讀入,同時使BUSY線為高,通知主機(jī)停止送數(shù)。③這時,打印機(jī)內(nèi)部對讀入的數(shù)據(jù)進(jìn)行處理。處理完以后送出ACK#=0信號(使ACK有效),同時使BUSY=0(失效),通知主機(jī)可以發(fā)下一個數(shù)據(jù)。2/6/2023668255A應(yīng)用舉例
CPU
PA0~7PC6PC2地
地BUSYSTBDATA0~71112~98255A打印機(jī)插座結(jié)束8255A初始化BUSY=0?送數(shù)送STB#開始YN圖中用8255A的PA口作為輸出打印數(shù)據(jù)口,工作于方式0,PC口高4位工作于輸出方式,PC6產(chǎn)生STB#信號;PC口低4位工作于輸入方式,PC2接收打印機(jī)的BUSY信號。程序流程如右示。
2/6/2023678255A應(yīng)用舉例
MOVAL,81H ;工作方式字10000××1B OUT83H,AL MOVAL,0DH;置/復(fù)位字0×××1101BPC6位置高,使STB#=1 OUT83H,ALTESBY:INAL,82H;查BUSY=0?(PC2=0)
TESTAL,04H;00000100B JNZTESBY;忙,則等待;不忙,則向A口送數(shù)
MOVAL,[2000H];從內(nèi)存取數(shù)
OUT80H,AL;送數(shù)據(jù)到A口
MOVAL,0CH;00001100B置STB#信號為低(PC6=0)
OUT83H,AL NOP ;負(fù)脈沖寬度(延時)
NOP INCAL
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南醫(yī)學(xué)院《英語閱讀與思辨》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級語文上冊第二單元6散步教案新人教版
- 七年級道德與法治上冊第四單元生命的思考第八課探問生命第1課時誤區(qū)警示新人教版
- 三年級數(shù)學(xué)上冊7長方形和正方形第3課時周長導(dǎo)學(xué)案新人教版
- 三年級數(shù)學(xué)上冊第2單元兩三位數(shù)乘一位數(shù)2.8解決問題課時練冀教版
- 慢性胃炎培訓(xùn)課件
- 《先芥蒂與麻醉》課件
- 人教版八年級物理下冊全冊教案
- 函數(shù)的圖象課件
- 涂料調(diào)色完整版本
- 建筑設(shè)計公司的商業(yè)計劃書
- 建筑景觀設(shè)計勞務(wù)合同
- 人教版PEP六年級英語下冊課件unit1
- 人教版四年級數(shù)學(xué)上冊寒假每日一練
- 律師法律服務(wù)應(yīng)急預(yù)案
- 主動脈夾層介入手術(shù)的護(hù)理
- 浙江省嘉興市經(jīng)開區(qū)2023-2024學(xué)年四年級上學(xué)期期末學(xué)科素養(yǎng)評價科學(xué)試題
- 森林火災(zāi)滅火器具使用與技巧課件
- 雙氧水資源綜合利用項目建議書
- 物流園區(qū)及貨運站場規(guī)劃設(shè)計方案
- 如何處理銷售過程中的問題和挑戰(zhàn)
評論
0/150
提交評論