版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第九章輸入輸出方法及常用的接口電路
9.1I/O接口的概念與功能
1.概述
CPURAM/ROM總線接口接口接口接口
磁盤鍵盤打印機(jī)顯示器接口和接口技術(shù)接口指CPU、存儲器、外設(shè)之間通過總線進(jìn)行連接的電路部分,是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站。接口技術(shù)是研究CPU如何與外部世界進(jìn)行最佳耦合與匹配,實現(xiàn)雙方高效、可靠地交換信息的一門技術(shù),是軟件、硬件結(jié)合的體現(xiàn),是微機(jī)應(yīng)用的關(guān)鍵。外設(shè)是用來實現(xiàn)人機(jī)交互的一些機(jī)電設(shè)備。外設(shè)處理信息的類型、速度、通信方式與CPU不匹配,不能直接掛在總線上,必須通過接口和系統(tǒng)相連為什么要用接口電路?接口電路的典型結(jié)構(gòu)從編程角度看,接口內(nèi)部主要包括一個或多個
CPU可以進(jìn)行讀/寫操作的寄存器,又稱為I/O端口。各I/O端口由端口地址區(qū)分。I/O端口1I/O端口2I/O端口3地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPU按存放信息的不同,I/O端口可分為三種類型數(shù)據(jù)端口:用于存放CPU與外設(shè)間傳送的數(shù)據(jù)信息狀態(tài)端口:用于暫存外設(shè)的狀態(tài)信息控制端口:用于存放CPU對外設(shè)或接口的控制信息,控制外設(shè)或接口的工作方式。10010101(狀態(tài)端口)01101010(數(shù)據(jù)端口)11000110(控制端口)地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPUCPU對外設(shè)輸入/輸出的控制,是通過對接口電路中各I/O端口的讀/寫操作完成。I/O端口1I/O端口2I/O端口3地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPU2.I/O接口電路的基本功能對輸入輸出數(shù)據(jù)進(jìn)行緩沖、隔離和鎖存對信號的形式和數(shù)據(jù)格式進(jìn)行交換與匹配提供信息相互交換的應(yīng)答聯(lián)絡(luò)信號根據(jù)尋址信息選擇相應(yīng)的外設(shè)CPU與外設(shè)交換的信息大致可分為數(shù)據(jù)信息
狀態(tài)信息
控制信息I/O接口電路芯片主要由以下幾部分組成:數(shù)據(jù)端口
控制端口
狀態(tài)端口地址譯碼電路控制邏輯電路數(shù)據(jù)緩沖電路I/O接口電路按不同方式分類主要有以下幾種:按數(shù)據(jù)傳送方式分類,可分為并行接口和串行接口;按功能選擇的靈活性分類,可分為可編程接口和不可編程接口;按通用性分類、可分為通用接口和專用接口按數(shù)據(jù)控制方式分類,可分為程序型接口和DMA(DirectMemoryAccess)型接口。
9.2I/O端口的編址及基本的輸入/輸出方法
I/O端口的編址和譯碼一、
I/O端口的編址方式二、8088的輸入/輸出指令和時序三、I/O端口的譯碼一、I/O端口的編址方式1、端口與存儲器分別獨立編址2、端口與存儲器統(tǒng)一編址特點:端口與存儲器分別獨立編址端口不占用內(nèi)存空間設(shè)有專門的I/O指令對端口進(jìn)行讀寫,對內(nèi)存操作的指令不能用于I/O端口例Intel的80X86系列、Z80系列I/O空間內(nèi)存空間1、端口與存儲器分別獨立編址(I/O映射方式)例MOV[10H],AL
對內(nèi)存操作
IN10H,AL對端口操作
2、端口與存儲器統(tǒng)一編址(存儲器映射方式)特點:I/O端口相當(dāng)于內(nèi)存的一部分,
使內(nèi)存容量減小對I/O端口的讀/寫與對存儲器的讀/寫相同,所有可對內(nèi)存操作的指令對I/O端口均可使用,
指令系統(tǒng)中不專設(shè)I/O指令。例
motorola的M6800系列日立H8S單片機(jī)系列內(nèi)存空間I/O空間二、8088的輸入/輸出指令和時序1.輸入指令I(lǐng)N2.輸出指令OUT3.輸入/輸出指令時序輸入/輸出指令實現(xiàn)I/O端口與CPU之間的數(shù)據(jù)傳送I/O端口1I/O端口2I/O端口3地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPU可尋址220=1M個內(nèi)存單元內(nèi)存范圍00000~FFFFFh
內(nèi)存單元的地址有5種尋址
可尋址216=64K個I/O端口I/O端口范圍0000~FFFFHI/O端口的地址由一個8位二進(jìn)制數(shù)直接尋址或DX寄存器間接尋址
8088CPU采用I/O端口與存儲器分別獨立編址I/O空間內(nèi)存空間1.輸入指令I(lǐng)N格式執(zhí)行操作INAL,port(AL)←
(port端口)INAX,port(AL)←
(port端口)(AH)←
(port+1端口)
INAL,DX(AL)←
((DX)端口)
INAX,DX(AL)←
((DX)端口)(AH)←
((DX)+1端口)port為數(shù)字形式的端口地址,大小為0~255或0~FFH例(1)INAL,28H
若(28H端口)=10101111B
執(zhí)行后(AL)=(28H端口)=0AFH(2)INAX,28H
若(28H端口)=10101111B
(29H端口)=01010000B
執(zhí)行后(AL)=(28H端口)=0AFH
(AH)=(29H端口)=50H(3)MOVDX,300HINAL,DX
若(300H端口)=69H
執(zhí)行后(AL)=(300H端口)=69H2.輸出指令OUTport為數(shù)字形式的端口地址,大小為0~255或0~FFH格式執(zhí)行操作OUTport,AL
(port端口)
←(AL)OUTport,AX
(port端口)
←(AL)
(port+1端口)
←(AH)OUTDX,AL((DX)端口)←(AL)OUTDX,AX
((DX)端口)
←
(AL)((DX)+1端口)
←(AH)(1)OUT21H,AL
若(AL)=11001100B
執(zhí)行后(21H端口)=0CCH(2)MOVDX,21BH
OUTDX,AL
若(AL)=10100110B
執(zhí)行后(21BH端口)=(AL)=0A6H例(1)累加器AL、AX的專用指令
對輸入指令I(lǐng)N,目的操作數(shù)只能為AL,或AX
INAL,21HINAX,DXINBX,21H 錯
對輸出指令OUT,源操作數(shù)只能為AL,或AXOUT20H,ALOUTDX,AXOUTDX,CX 錯
輸入/輸出指令(IN、OUT)特點:(2)端口地址可由直接方式或間接方式給出
例
OUT219H,AL
錯
MOVDX,219HOUTDX,AL例
INAL,218H
錯
MOVDX,218HINAL,DX當(dāng)端口號>FFH,即>255時,
需把端口號放在DX寄存器中,
DX是一個16位寄存器,范圍在0~FFFFh之間。當(dāng)端口號在0~FFH,即0~255時,可在指令中直接指定端口號例
INAL,21HOUT20H,AL當(dāng)端口號在0~FFH,即0~255時,可在指令中直接指定端口號,稱長格式指令當(dāng)端口號>FFH,即>255時,
需把端口號放在DX寄存器中,稱短格式指令原因是使用直接端口方式的指令機(jī)器碼相對長例指令機(jī)器碼
INAL,21HE421;兩個字節(jié)OUT20H,ALE620INAL,DXEC;一個字節(jié)OUTDX,ALEE(3)可進(jìn)行字節(jié)或字傳送
由指令中AL或AX的類型決定(4)注意端口地址與端口內(nèi)容的區(qū)別
INAL,21H不等于(AL)←21HOUTDX,AL不等于(DX)←(AL)INAL,20H;字節(jié)傳送INAX,20H;字傳送INAL,DX;字節(jié)傳送INAX,DX;字傳送OUT20H,AL;字節(jié)傳送OUT
20H,AX;字傳送OUTDX,AL;字節(jié)傳送OUTDX,AX;字傳送
3.輸入/輸出指令時序當(dāng)CPU執(zhí)行IN指令時,進(jìn)入I/O端口讀周期當(dāng)CPU執(zhí)行OUT指令時,進(jìn)入I/O端口寫周期 (1)在最小模式下,I/O端口的讀、寫周期。(2)IBMPC/XT總線上I/O端口的讀、寫周期。(1)在最小模式下,I/O端口的讀、寫周期
與讀、寫存儲器的過程相似,不同之處:1.IO/M變高,CPU操作I/O端口。2.端口的地址信號出現(xiàn)在A15~A0上,
A19~A16全為低電平。T1T2T3T4IO/MA15~A8A19~A16/S6~S3ALERDDT/RDENCLKA7~A0
D7~D0AD7~AD08088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SSOMN/MXRDHOLDHLDAWRIO/MDT/RDENALEINTATESTREADYRESET8088CPU最小模式下,I/O端口讀周期時序8088CPU最小模式下,I/O端口寫周期時序T1T2T3T4IO/MA15~A8AD7~AD0ALEWRDT/RDENCLKA7~A0
D7~D08088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SSOMN/MXRDHOLDHLDAWRIO/MDT/RDENALEINTATESTREADYRESETA19~A16/S6~S3(2)IBMPC/XT總線上I/O端口的讀、寫周期
與讀、寫存儲器的過程相似,不同之處:1.IOR、IOW變低,CPU操作I/O端口。2.端口的地址信號出現(xiàn)在A15~A0上,
A19~A16全為低電平。3.增加了一個TW等待周期
IBMPC/XT總線上I/O端口讀周期當(dāng)CPU執(zhí)行IN指令時,進(jìn)入I/O端口讀周期,從指定的端口讀入數(shù)據(jù)到CPU中。I/O端口1I/O端口2I/O端口3地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPU
I/O端口讀周期時序D7~D0IORA15~A0ALECLKT4T1T2T3TwGNDRESET+5VIRQ2-5VDRQ2-12V+12VGNDMEMWMEMRIOWIORDACK3DRQ3DACK1DRQ1DACK0CLOCKIRQ7IRQ6IRQ5IRQ4IRQ3DACK2T/CALE+5VOSCGNDI/OCHCKD7D6D5D4D3D2D1D0I/OCHRDYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
IBMPC/XT總線插槽引腳信號例
假設(shè)端口218H的內(nèi)容為7BHMOVDX,218HINAL,DX信號變化過程:①A15~A0上出現(xiàn)地址信號
0000001000011000B(由CPU發(fā)出)②ALE上出現(xiàn)正脈沖信號③IOR變低④D7~D0上出現(xiàn)有效信號
01111011B(由端口送出)⑤IOR變高,數(shù)據(jù)進(jìn)入ALD7~D0IORA15~A0ALECLKT4T1T2T3Tw
IBMPC/XT總線上I/O端口寫周期當(dāng)CPU執(zhí)行OUT指令時,進(jìn)入I/O端口寫周期,將數(shù)據(jù)寫入指定的端口。I/O端口1I/O端口2I/O端口3地址譯碼數(shù)據(jù)緩沖控制電路外設(shè)ABDBCBCPU
I/O端口寫周期時序A15~A0ALEIOWCLKD7~D0T4T1T2T3TwGNDRESET+5VIRQ2-5VDRQ2-12V+12VGNDMEMWMEMRIOWIORDACK3DRQ3DACK1DRQ1DACK0CLOCKIRQ7IRQ6IRQ5IRQ4IRQ3DACK2T/CALE+5VOSCGNDI/OCHCKD7D6D5D4D3D2D1D0I/OCHRDYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
IBMPC/XT總線插槽引腳信號例
假設(shè)(AL)=92HMOVDX,319HOUTDX,AL
信號變化過程:①A15~A0上出現(xiàn)地址信號
0000001100011001B(由CPU發(fā)出)②ALE上出現(xiàn)正脈沖信號③IOW變低④D7~D0上出現(xiàn)有效信號
10010010B(由CPU送出)⑤IOW變高,數(shù)據(jù)寫入319H端口A15~A0ALEIOWCLKD7~D0T4T1T2T3Tw三、I/O端口的譯碼
1.
譯碼電路的作用
2.譯碼電路的構(gòu)成
3.設(shè)計譯碼電路的方法
4.片內(nèi)譯碼和片選譯碼1、譯碼電路的作用將CPU執(zhí)行IN/OUT指令發(fā)出的地址信號,“翻譯”成欲操作端口的選通信號,解決存儲器、I/O設(shè)備與CPU連接時地址總線失配問題。
此信號常作為接口內(nèi)三態(tài)門或鎖存器的控制信號,接通或斷開接口數(shù)據(jù)線與系統(tǒng)的連接。IN指令時序A15~A0IORCLKD7~D0T4T1T2T3TwA15~A0CLKIOWD7~D0T4T1T2T3TwOUT指令時序該電路在CPU執(zhí)行指令
MOVDX,200HINAL,DX將輸入設(shè)備的數(shù)據(jù)讀入CPU內(nèi)AL中圖中譯碼電路的作用:只當(dāng)A15~A0上出現(xiàn)200H時,(即0000001000000000B)輸出0,其他輸出1。例
一個輸入設(shè)備的簡單接口電路三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線執(zhí)行:MOVDX,200H
INAL,DX
三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線IN指令時序A15~A0IORCLKD7~D0T4T1T2T3Tw0000001000000000輸入設(shè)備接口電路,即硬件上保證:只在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總線MOVDX,200HINAL,DX該電路在CPU執(zhí)行指令
MOVDX,300HOUTDX,AL
將CPU內(nèi)AL中的數(shù)據(jù)送至輸出設(shè)備圖中譯碼電路的作用:只當(dāng)A15~A0上出現(xiàn)300H時,(即0000001100000000B)輸出0,其他輸出1。例一個輸出設(shè)備的簡單接口電路PC總線鎖存器輸出設(shè)備數(shù)據(jù)線IOW地址譯碼地址線
300H000D7~D0A15~A0與非OUT指令時序執(zhí)行:
MOVDX,300HOUTDX,AL
A15~A0CLKIOWD7~D0T4T1T2T3TwPC總線鎖存器輸出設(shè)備數(shù)據(jù)線IOW地址譯碼地址線
300H000D7~D0A15~A0與非0000001100000000輸出設(shè)備接口電路,即硬件上保證:只在CPU執(zhí)行從300H端口輸出數(shù)據(jù)時,鎖存器處于觸發(fā)狀態(tài),其輸出隨輸入變化,而CPU執(zhí)行其它指令時,
鎖存器均處于鎖存狀態(tài),其輸出不隨輸入變化,PC總線鎖存器輸出設(shè)備數(shù)據(jù)線IOW地址譯碼地址線
300H000D7~D0A15~A0與非MOVDX,300HOUTDX,AL2、譯碼電路的構(gòu)成74LS138譯碼器門電路:與門、非門、或門、與非門、或非門等譯碼器:
2-4線譯碼器74LS1393-8線譯碼器74LS1384-16線譯碼器74LS154等可用門電路、譯碼器或者兩者的組合實現(xiàn)。AY0BY1CY2Y3G1Y4G2AY5G2BY6Y7據(jù)端口地址確定地址信號A15~A0的取值,用門電路、譯碼器或兩者組合實現(xiàn)滿足此取值情況的電路。3、設(shè)計譯碼電路的方法設(shè)計譯碼電路時:
1.端口的選通信號通常為低電平有效
2.除端口的地址信號參加譯碼外,控制信號IOW、IOR(IO/M、AEN也可參加譯碼)譯碼電路A0A1A14A15IORIOWAEN譯碼電路示意圖例設(shè)計端口地址為218H的譯碼電路分析
CPU執(zhí)行IN/OUT指令時,發(fā)出端口的地址信號
MOVDX,218HINAL,DX或
OUTDX,AL對應(yīng)218H端口的地址信號為(取A9~A0):
A9A8A7A6A5A4A3A2A1A0(地址信號)
1000011000B218H只要滿足此地址取值的譯碼電路均可方法一、用門電路實現(xiàn)218H的地址譯碼數(shù)據(jù)線DBRDWRCS端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC總線D0~D7D0~D710000110000&譯碼電路部分滿足:只當(dāng)?shù)刂沸盘朅9~A0為:A9A8A7A6A5A4A3A2A1A01000011000即218H時,輸出0,使I/O接口的CS有效否則輸出1
使I/O接口的CS無效數(shù)據(jù)線DBRDWRCS端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC總線D0~D7D0~D710000110000&注意譯碼電路中:由于高位地址線A15~A10未參與譯碼,即:地址A15~A0為:××××××1000011000均能輸出0,所以該電路使:一個端口對應(yīng)多個地址
共26=64個
218,618,
A18,E18等等采用實際芯片PC總線RDWRCSI/O接口D0~D7數(shù)據(jù)線DB端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AEN+5VIORIOWD0~D710000110000&&≥10074LS3074LS2074LS3274LS30為8輸入與非門74LS20為4輸入與非門74LS32為2輸入或門當(dāng)?shù)刂沸盘枮椋篈9A8A7A6A5A4A3A2A1A01000011000即地址為218H或門74LS32輸出0,使I/O接口的CS有效。當(dāng)端口地址信號為:A9A8A7A6A5A4A3A2A1A01000011000即218H時,Y0輸出0,使I/O接口的CS有效方法二、用譯碼器、門電路組合實現(xiàn)218H的地址譯碼74LS1383-8譯碼器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY70000110000100&A0A1A2AENA3A4A5A6A7A8A9IORIOWPC總線CSI/O接口D0~D7&RDWR數(shù)據(jù)線DBD0~D7端口譯碼電路片內(nèi)譯碼:在芯片內(nèi)部的譯碼電路用于區(qū)分芯片內(nèi)部不同的端口片選譯碼:在芯片外部的譯碼電路用于選擇不同的芯片或端口4、片內(nèi)譯碼和片選譯碼片選譯碼通常譯出的是一個地址范圍并行接口8255ACS外設(shè)數(shù)據(jù)線A0A1RDWRPC總線IORA0A1IOWA2A3A4A5A6A7A8A9AEN片選譯碼片內(nèi)譯碼端口A端口B端口C端口D串行接口8251
數(shù)/模轉(zhuǎn)換0832模/數(shù)轉(zhuǎn)換0809218
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 乙肝梅毒艾滋培訓(xùn)資料
- 項目部消防安全教育培訓(xùn)
- 金融事件分析
- 建筑識圖與構(gòu)造習(xí)題答案
- 遼寧省撫順市新?lián)釁^(qū)2024-2025學(xué)年七年級上學(xué)期11月期中語文試題(含答案)
- 2024-2025學(xué)年江蘇省無錫市新城中學(xué)九年級(上)10月月考數(shù)學(xué)試卷(含答案)
- 全球自動凝膠皂液器市場供需潛力及投資策略研究報告2024-2030年
- 四川省成都市2024-2025學(xué)年八年級上學(xué)期期中考試英語試卷(四)
- 高中語文第2單元孟子蚜第6課我善養(yǎng)吾浩然之氣課件新人教版選修先秦諸子蚜
- 自由搏擊基礎(chǔ)理論知識單選題100道及答案解析
- 人音版音樂五年級上冊第6課《嬉游曲》教學(xué)設(shè)計
- 北師大版(2024新教材)七年級上冊 第3章 整式及其加減 單元測試卷 含詳解
- 2024年海南三亞市旅游推廣局招聘歷年(高頻重點復(fù)習(xí)提升訓(xùn)練)共500題附帶答案詳解
- 財務(wù)部年終工作總結(jié)增效降本創(chuàng)新發(fā)展
- 急性腦卒中知識考核試題及答案
- 2024年商鋪房屋租賃合同書范文
- 集成芯片上芯壓傷改善報告
- 糖尿病教育幻燈片
- DZ∕T 0452.3-2023 稀土礦石化學(xué)分析方法 第3部分:鋰、鈹、鈧、錳、鈷、鎳、銅、鋅、鎵、銣、鈮、鉬、銦、銫、鉭、鎢、鉈、鉛、鉍、釷、鈾及15個稀土元素含量的測定 混合酸分解―電感耦合等離子體質(zhì)譜法(正式版)
- 做一名合格的護(hù)理責(zé)任組長課件
- 2024譯林版英語初一上單詞默寫表
評論
0/150
提交評論