版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微型計(jì)算機(jī)原理與應(yīng)用
------輸入輸出和接口技術(shù)主講人:馬永紅2/6/20231第八章輸入輸出和接口技術(shù)本章教學(xué)目的通過輸入輸出接口是計(jì)算機(jī)的重要組成部分,通過I/O接口控制方式的學(xué)習(xí),使學(xué)生初步了解主機(jī)與外設(shè)的主要通信方式及其特點(diǎn),通過并行接口8255A的學(xué)習(xí)和實(shí)踐,使學(xué)生接觸具體的接口形式,從而進(jìn)一步加深對(duì)接口知識(shí)的理解。2/6/20232一、什么是I/O接口(電路)?是外設(shè)與CPU間連接的橋梁;CPU與外設(shè)之間信息交換的通道。9.1.1I/O接口基本概念---接口的功能外設(shè)各種各樣,工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大2/6/20233常用外設(shè):硬盤、顯示器、存儲(chǔ)器工業(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對(duì)外部設(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é)(暫時(shí)寄存器)(3)信息聯(lián)絡(luò):CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)的通訊員。
CPU想讀或?qū)懲庠O(shè)時(shí),外設(shè)是否準(zhǔn)備好了,要給CPU發(fā)個(gè)信號(hào),這個(gè)功能由接口來完成;外設(shè)向CPU發(fā)出中斷申請(qǐng),通過接口代為辦理;2/6/20236計(jì)算機(jī)的CPU與一個(gè)I/O設(shè)備進(jìn)行信息交換時(shí),要傳遞三種信息:圖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ù)在多條傳輸線上同時(shí)傳送。以1字節(jié)的數(shù)據(jù)為例,通過8條(+2)并行傳輸線同時(shí)傳送。串行傳送:數(shù)據(jù)在1(+2)條傳輸線上,一位一位地按順序分時(shí)傳送。以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ù)端口傳送一個(gè)數(shù)據(jù)外設(shè)準(zhǔn)備好否?外設(shè)處于被動(dòng)狀態(tài)2/6/202312實(shí)現(xiàn)方法:
在與外設(shè)進(jìn)行傳送數(shù)據(jù)前,CPU先查詢外設(shè)狀態(tài),
——“你準(zhǔn)備好沒有?”當(dāng)外設(shè)準(zhǔn)備好后,才執(zhí)行I/O指令,實(shí)現(xiàn)數(shù)據(jù)傳送特點(diǎn):1.CPU通過不斷查詢外設(shè)狀態(tài),實(shí)現(xiàn)與外設(shè)的速度匹配2.CPU的工作效率低對(duì)外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對(duì)接口的要求:需要提供狀態(tài)端口跳轉(zhuǎn)就像從卡上提錢需要查詢請(qǐng)示2/6/2023132、無條件傳送方式實(shí)現(xiàn)方法●如發(fā)光二極管的亮滅、電機(jī)的啟停這類外部設(shè)備可以隨時(shí)接受數(shù)據(jù),向這類外設(shè)可以直接傳送數(shù)據(jù),●如A/D轉(zhuǎn)換器,沒處理一個(gè)數(shù)據(jù)的時(shí)間是固定的,可以間隔固定的時(shí)間來送數(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ù)時(shí),
三態(tài)門處于工作狀態(tài),使輸入設(shè)備的數(shù)據(jù)送上總線側(cè),而CPU執(zhí)行其它指令時(shí),
三態(tài)門均處于高阻狀態(tài),使輸入設(shè)備的數(shù)據(jù)線與總線側(cè)斷開三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線2/6/202315無條件輸入編程:
從端口200H讀入100個(gè)字節(jié)到內(nèi)存緩沖區(qū)buffer中。、、、
MOVAX,SEGbufferMOVDS,AX;取緩沖區(qū)
LEADI,buffer;首地址
MOVCX,100H;傳送個(gè)數(shù)
MOVDX,200H;端口地址
next: ;延時(shí)等待
INAL,DX;讀入數(shù)據(jù)
CALLdelay
MOV[DI],AL;送緩沖區(qū)
INCDI;修改指針
LOOPnext
、、、;延時(shí)子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCX
RETdelayENDP2/6/2023163、中斷傳送方式
實(shí)現(xiàn)方法:
1.
當(dāng)外設(shè)準(zhǔn)備好,向CPU發(fā)出中斷請(qǐng)求
2.CPU在滿足響應(yīng)中斷的條件下,發(fā)出中斷響應(yīng)信號(hào);
3.CPU暫停當(dāng)前的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成與外設(shè)的數(shù)據(jù)傳送;
4.CPU從中斷服務(wù)程序返回,繼續(xù)執(zhí)行被中斷的程序就像學(xué)生上課發(fā)言要舉手一樣2/6/202317中斷服務(wù)程序發(fā)申請(qǐng)中斷服務(wù)程序發(fā)申請(qǐng)中斷方式下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接口和存儲(chǔ)器的讀寫控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。
缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)—解決:DMA傳輸外設(shè)
內(nèi)存DMA傳送方式:2/6/202319DMA
傳送方式過程CPUDMAC內(nèi)存外設(shè)總線響應(yīng)總線請(qǐng)求
1.由專用接口芯片DMA控制器(稱DMAC)控制傳送過程,2.當(dāng)外設(shè)需傳送數(shù)據(jù)時(shí),通過
DMAC向CPU發(fā)出總線請(qǐng)求;3.CPU發(fā)出總線響應(yīng)信號(hào),釋放總線;4.DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送2/6/202320DMA傳送原理示意圖
①系統(tǒng)總線CPUDMAC存儲(chǔ)器外設(shè)接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外設(shè)發(fā)出DMA請(qǐng)求②DMAC向CPU申請(qǐng)總線③CPU完成當(dāng)前總線周期后響應(yīng),并釋放總線控制權(quán)④DMAC得到總線控制權(quán),并發(fā)出DMA響應(yīng)信號(hào)⑤由DMAC發(fā)出各種控制信號(hào),控制外設(shè)與存儲(chǔ)器之間的數(shù)據(jù)傳送⑥數(shù)據(jù)傳送完后,DMAC撤銷HOLD信號(hào)⑦CPU釋放HLDA信號(hào),并重新控制總線⑥⑦2/6/202321DMA傳送方式的特點(diǎn)
1.外設(shè)和內(nèi)存之間,直接進(jìn)行數(shù)據(jù)傳送,不通過CPU,傳送效率高。適用于在內(nèi)存與高速外設(shè)、或兩個(gè)高速外設(shè)之間進(jìn)行大批量數(shù)據(jù)傳送。
2.電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。2/6/202322
對(duì)I/O設(shè)備進(jìn)行操作須經(jīng)過兩個(gè)步驟:尋找I/O接口芯片(片選)尋找該芯片中的和外設(shè)對(duì)應(yīng)的寄存器---端口9.2、I/O指令和I/O地址譯碼2/6/202323
I/O端口: 外設(shè)通過接口和系統(tǒng)連接如圖6-2所示。接口中的寄存器叫做端口。每一個(gè)端口有端口地址。一個(gè)接口芯片中的可能有多個(gè)端口,計(jì)算機(jī)中為每一個(gè)端口都賦予一個(gè)惟一編號(hào)——稱為端口地址(或端口號(hào))。一、什么是I/O端口是接口中可供CPU訪問的寄存器不同的信息用不同的端口不同的端口有不同的地址2/6/202324數(shù)據(jù)端口:保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)狀態(tài)端口:保存外設(shè)或接口電路的狀態(tài)。CPU通過對(duì)狀態(tài)端口的訪問和測(cè)試可以知道外設(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)點(diǎn)指令統(tǒng)一,靈活;訪問控制信號(hào)統(tǒng)一,使用同一組的地址/控制信號(hào)。
缺點(diǎn)內(nèi)存可用地址空間減小0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H二、端口尋址方式2/6/202326
2.獨(dú)立編址外設(shè)地址空間和內(nèi)存地址空間相互獨(dú)立。優(yōu)點(diǎn):內(nèi)存地址空間不受I/O編址的影響缺點(diǎn):I/O指令功能較弱,使用不同的讀寫控制信號(hào)00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/O地址空間0000H2/6/202327
8088/8086CPU的I/O編址方式采用I/O獨(dú)立編址方式與存儲(chǔ)器共用地址線)地址線上的地址信號(hào)用來區(qū)分時(shí)為I/O地址I/O操作只使用20根地址線中的16根:A15
~A0
可尋址的I/O端口數(shù)為64K(65536)個(gè)I/O地址范圍為0~FFFFHIBMPC只使用了1024個(gè)I/O地址(0~3FFH)2/6/2023289.3簡(jiǎn)單的數(shù)據(jù)輸入輸出接口電路
在簡(jiǎn)單的電路中,常常使用三態(tài)緩沖器、三態(tài)寄存器、輸出寄存器作為CPU與外設(shè)間的數(shù)據(jù)輸入輸出接口電路,我們稱作簡(jiǎn)單的輸入輸出接口電路。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è)計(jì)執(zhí)行IN指令時(shí)處理器發(fā)出讀信號(hào)IOR#,與地址信號(hào)相或產(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指令時(shí)微處理器發(fā)出IOW#寫信號(hào),和端口地址相或產(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時(shí),在7段數(shù)碼管上對(duì)應(yīng)顯示’0’~’F’實(shí)例:根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號(hào)3、簡(jiǎn)單接口的應(yīng)用舉例2/6/202334O1I1O2I2O3I3O4I4#E1
K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7
abcdefgDP74068個(gè)反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3譯碼電路地址由設(shè)計(jì)者通過電路來設(shè)定?。?!2/6/202335符號(hào)形狀7段碼.gfedcba符號(hào)形狀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位(只有四個(gè)開關(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ì)算機(jī)原理與應(yīng)用
----可編程并行接口8255主講人:馬永紅2/6/202338可編程并行通信接口芯片8255A概述
8255A是Intel86系列微處理機(jī)的配套并行接口芯片,它可為86系列CPU與外部設(shè)備之間提供并行輸入/輸出的通道。由于它是可編程的,可以通過軟件來設(shè)置芯片的工作方式,所以,用8255A連接外部設(shè)備時(shí),通常不用再附加外部電路,給使用者帶來很大方便。CPU和外設(shè)交換數(shù)據(jù)的管理芯片2/6/202339Intel公司出品的82C55A-2★含3個(gè)獨(dú)立的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、三個(gè)8位數(shù)據(jù)端口A,B,C(3個(gè)8位寄存器);1)PA、PB、PC口三個(gè)8位輸入輸出的數(shù)據(jù)端口2)PC口有第二種用途:;在“方式字”的控制下,PC口可以分成兩個(gè)4位的端口,分別配合A、B口使用,用作聯(lián)絡(luò)線端口提供控制或狀態(tài)信息2.控制字端口(寄存器)可接收來CPU通過數(shù)據(jù)總線(D7~D0)送來的控制字,從而決定各個(gè)端口的工作方式。通過A、B組控制器來實(shí)現(xiàn)各種操作。3.數(shù)據(jù)總線緩沖存儲(chǔ)器它是8255A與8086CPU之間的數(shù)據(jù)接口,是CPU和8255之間交換信息的必由之路。CPU執(zhí)行輸出指令時(shí),可將控制字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖存儲(chǔ)器傳送給8255A。CPU執(zhí)行輸入指令時(shí),8255A可將狀態(tài)信息或數(shù)據(jù)通過總線緩沖存儲(chǔ)器向CPU輸入。2/6/202342CS(chipselect)——片選信號(hào)。由CPU輸入,低電平有效。由他啟動(dòng)8255,使其處于工作狀態(tài),完成和CPU之間的通信。由地址線A15-A2經(jīng)譯碼選中。(2)
RD,WR——讀、寫控制信號(hào)。由CPU輸入,RD有效,他控制8255A送出數(shù)據(jù)或狀態(tài)信息向CPU。WR有效,他控制CPU將命令信號(hào)或數(shù)據(jù)寫入8255A。(3)RESET——復(fù)位信號(hào)。由CPU輸入。RESET有效時(shí),清除8255A中所有控制字寄存器內(nèi)容,并將各端口置成輸入方式。4控制命令2/6/2023438255中有三個(gè)輸入輸出端口,另外還有一個(gè)控制端口(控制字寄存器),共有四個(gè)端口,A1和A0——端口選擇信號(hào)。當(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個(gè)端口的工作方式;
C口置位/復(fù)位控制字
——確定C口某一位的初始狀態(tài),或用于設(shè)置INTE位。8255A的工作方式由CPU對(duì)8255A(控制字寄存器)寫入控制命令字來設(shè)定,這個(gè)過程稱為“初始化”??刂谱?/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初始化程序?yàn)椋篗OVAL,91HOUTCTRL_PORT,AL2/6/202352【例2】A口方式2,要求發(fā)兩個(gè)中斷允許,即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口輸出允許中斷一個(gè)控制字、三個(gè)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口為輸出。請(qǐng)寫出8255的A、B、C、控制口地址,8255芯片的工作方式控制字及其初始化程序。解:控制字:10010010B(92H)A口的地址為200HB口的地址為202HC口的地址為204H控制口地址為206H初始化程序MOVDX,206HMOVAL,92HOUTDX,AL
2/6/2023543、工作方式--工作方式08255相當(dāng)于三個(gè)獨(dú)立的8位簡(jiǎn)單接口。各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時(shí)實(shí)現(xiàn)輸入及輸出。C端口即可以是一個(gè)8位的簡(jiǎn)單接口,也可以分為兩個(gè)獨(dú)立的4位端口。設(shè)置為輸出口時(shí)有鎖存能力,設(shè)置為輸入口時(shí)無鎖存能力。屬于無條件傳輸方式2/6/202355INAL,PORT
;PORT是端口號(hào)輸入輸入緩沖器譯碼器數(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ù)的輸入輸出操作要在選通信號(hào)控制下完成。端口A和端口B仍作為數(shù)據(jù)的輸入、輸出口;端口C的某些位作為端口A和端口B的選通控制信號(hào)---稱作聯(lián)絡(luò)信號(hào)特點(diǎn):
1、A口、B口在作為輸入和輸出時(shí)的選通信號(hào)不同。方式1的應(yīng)用:主要用于中斷控制方式下的輸入輸出。方式1需借用端口C用做聯(lián)絡(luò)信號(hào)同時(shí)還具有中斷請(qǐng)求和屏蔽功能聯(lián)絡(luò)方式3、工作方式----工作方式1(選通工作方式)2/6/2023588255A方式1工作過程(輸入)111外設(shè)產(chǎn)生數(shù)據(jù)數(shù)據(jù)出現(xiàn)在外部數(shù)據(jù)總線外設(shè)發(fā)選通信號(hào)數(shù)據(jù)進(jìn)入8255A的A口1通知外設(shè)緩沖區(qū)已滿,表示已經(jīng)接受數(shù)據(jù)1向C口寫P4位置1,開放中斷向CPU發(fā)中斷請(qǐng)求信號(hào)CPU發(fā)讀信號(hào)注意:此工作是8255A初始化時(shí)完成的?。?!2/6/202359C口的聯(lián)絡(luò)信號(hào)(方式1輸入)STB#(Strobe閘門)——選通輸入信號(hào),低電平有效。它是外設(shè)供給的輸入信號(hào),當(dāng)其有效時(shí)將外設(shè)來的數(shù)據(jù)送入8255的輸入鎖存器。A組對(duì)應(yīng)(接到)PC4;B組對(duì)應(yīng)PC2。IBF(inputbufferfull)——輸入鎖存器滿,高電平有效。這是一個(gè)8255輸給外設(shè)的聯(lián)絡(luò)信號(hào)。當(dāng)其有效時(shí),通知外設(shè)輸入的數(shù)據(jù)已寫入緩沖器,此時(shí)不能送下一個(gè)數(shù)據(jù)。CPU用IN指令取走數(shù)據(jù)后,此信號(hào)被清除。A組對(duì)應(yīng)PC5;B組對(duì)應(yīng)PC1。如圖這兩個(gè)信號(hào)(引腳)是8255與外設(shè)間的聯(lián)絡(luò)引腳2/6/202360C口的聯(lián)絡(luò)信號(hào)(方式1輸入)INTR(interruptrequest)——中斷請(qǐng)求信號(hào),高電平有效。是由8255A輸出的一個(gè)信號(hào)。用于向CPU請(qǐng)求中斷,讓CPU讀走輸入鎖存器中的數(shù)據(jù)。A組對(duì)應(yīng)PC3;B組對(duì)應(yīng)PC0INTE(interruptenable)——端口中斷允許信號(hào),可由用戶通過對(duì)PC4位置位來實(shí)現(xiàn)。INTE=1,允許發(fā)出INTR請(qǐng)求。該信號(hào)沒有外接引腳如圖和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ā)寫信號(hào)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)答信號(hào)高電平告訴外設(shè)數(shù)據(jù)緩沖區(qū)為空02/6/202363OBF*(outputbufferfull)——輸出緩沖器滿信號(hào),8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK*(Acknowledge)——響應(yīng)確認(rèn)信號(hào)。是一個(gè)外設(shè)的響應(yīng)信號(hào),指示CPU輸給8255A的數(shù)據(jù)已由外設(shè)接受。INTR——中斷請(qǐng)求信號(hào),高有效。當(dāng)輸出設(shè)備已接受了CPU輸出的數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提出新的中斷請(qǐng)求,要求CPU繼續(xù)輸出數(shù)據(jù)INTE(interruptenable)——端口中斷允許信號(hào),可由用戶通過對(duì)PC6(INTEA)和PC2(INTEB)位置位來實(shí)現(xiàn)。INTE=1,允許發(fā)出INTR請(qǐng)求。該信號(hào)沒有外接引腳C口的聯(lián)絡(luò)信號(hào)(方式1輸出)2/6/2023648255A應(yīng)用舉例[例8-1]打印機(jī)接口。為某應(yīng)用系統(tǒng)配置一個(gè)并行打印機(jī)接口,并且通過接口CPU采用查詢方式打印。已知欲打印數(shù)據(jù)存放在數(shù)據(jù)段中有效地址位2000H的單元中。8255的口地址位80H、81H、82H、83H。分析:由于打印接口直接面向的對(duì)象是打印機(jī)接口標(biāo)準(zhǔn),而不是打印機(jī)本身,因此打印機(jī)接口要按照接口標(biāo)準(zhǔn)的要求進(jìn)行設(shè)計(jì),主要是8位并行數(shù)據(jù)線DATA0~DATA7,2條握手聯(lián)絡(luò)線STB#、ACK#和1條忙線BUSY。有關(guān)打印機(jī)接口工作時(shí)序見下圖。DATA0~DATA7STBBUSYACK2/6/202365從圖可見,當(dāng)CPU通過接口要求打印機(jī)打印數(shù)據(jù)時(shí),先要查看BUSY信號(hào),BUSY=0時(shí),才能向打印機(jī)輸出數(shù)據(jù)。DATA0~DATA7STBBUSYACK它的工作流程:①主機(jī)將要打印的數(shù)據(jù)送上數(shù)據(jù)線,然后發(fā)選通信號(hào)STB#=0信號(hào)通知打印機(jī);②打印機(jī)將數(shù)據(jù)讀入,同時(shí)使BUSY線為高,通知主機(jī)停止送數(shù)。③這時(shí),打印機(jī)內(nèi)部對(duì)讀入的數(shù)據(jù)進(jìn)行處理。處理完以后送出ACK#=0信號(hào)(使ACK有效),同時(shí)使BUSY=0(失效),通知主機(jī)可以發(fā)下一個(gè)數(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#信號(hào);PC口低4位工作于輸入方式,PC2接收打印機(jī)的BUSY信號(hào)。程序流程如右示。
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#信號(hào)為低(PC6=0)
OUT83H,AL NOP ;負(fù)脈沖寬度(延時(shí))
NOP INCAL
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電源轉(zhuǎn)移》課件
- 《實(shí)木家具調(diào)研報(bào)告》課件
- 《香港言語治療服務(wù)》課件
- 課件人力資源開發(fā)與
- 2024年醫(yī)療設(shè)備采購與供應(yīng)合同3篇
- 2024年生產(chǎn)車間承包與人力資源整合合同范本3篇
- 改裝環(huán)衛(wèi)三輪車協(xié)議書(2篇)
- 2024年物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)中的應(yīng)用合同
- 2025年梧州貨運(yùn)從業(yè)資格證模擬考試
- 2025年珠海道路運(yùn)輸從業(yè)資格證考試內(nèi)容是什么
- 中國(guó)古典詩詞賞析知到章節(jié)答案智慧樹2023年湖北師范大學(xué)
- 進(jìn)擊的巨人優(yōu)質(zhì)獲獎(jiǎng)?wù)n件
- DB45T 2626-2023 石灰單位產(chǎn)品能源消耗限額
- 雅思海外閱讀8套真題(含答案解析)
- 山東省成人高等教育畢業(yè)生登記表
- 【小學(xué)數(shù)學(xué) 】《扇形統(tǒng)計(jì)圖的認(rèn)識(shí)》說課(課件)六年級(jí)上冊(cè)數(shù)學(xué)人教版
- 證據(jù)清單模板
- 2023-2024學(xué)年云南省麗江市小學(xué)數(shù)學(xué)三年級(jí)上冊(cè)期末??荚囶}
- 2023年江蘇省環(huán)保集團(tuán)有限公司招聘筆試題庫及答案解析
- 教育教學(xué)工作會(huì)議記錄
- 人文英語2形考作業(yè)(1-3)答案
評(píng)論
0/150
提交評(píng)論