《微機(jī)原理7第六章.ppt》由會員分享,可在線閱讀,更多相關(guān)《微機(jī)原理7第六章.ppt(124頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1. 假設(shè) (AL)= 73H, (DX)=21CH, (端口21CH)= 95H,執(zhí)行 MOV DX, 21CH,作業(yè): 6-3, 6-6, 6-10,IN AL, DX,(1) 根據(jù)8088CPU在最小模式下的I/O、存儲器讀/寫時序,,描述執(zhí)行IN指令時8088CPU有關(guān)引腳的具體變化過程。,(2) 根據(jù)IBM PC/XT總線的I/O讀、寫周期時序,,描述執(zhí)行 IN指令時, IBM PC/XT總線上有關(guān)引腳的具體過程,如果執(zhí)行的是 MOV DX, 21CH,OUT DX, AL,有關(guān)引腳的具體變化過程?,編寫程序,采用無條件傳送方式,從端口256h,讀入100h個字節(jié)數(shù)據(jù),3. 某I/O
2、接口的狀態(tài)寄存器D0位存放外設(shè)BUSY的,狀態(tài), 其地址為2A3h,D0=1表示外設(shè)忙; 該接口的數(shù)據(jù)寄存器的地址為,2A1h。編寫程序,,用查詢方式將data為首地址的100個內(nèi)存單元內(nèi)容,從該I/O接口輸出。,復(fù)習(xí):,P212P224, P236P239(第二版),預(yù)習(xí):,P223P236, P239P247 (第二版),1、接口和接口技術(shù),外設(shè)是用來實(shí)現(xiàn)人機(jī)交互的一些機(jī)電設(shè)備。 外設(shè)處理信息的類型、速度、通信方式與CPU不匹配, 不能直接掛在總線上,必須通過接口和系統(tǒng)相連,2、為什么要用接口電路?,二、接口電路的典型結(jié)構(gòu),從編程角度看,接口內(nèi)部主要包括一個或多個 CPU可以進(jìn)行讀/寫操作
3、的寄存器,又稱為I/O端口。 各I/O端口由端口地址區(qū)分。,按存放信息的不同,I/O端口可分為三種類型 數(shù)據(jù)端口:用于存放CPU與外設(shè)間傳送的數(shù)據(jù)信息 狀態(tài)端口:用于暫存外設(shè)的狀態(tài)信息 控制端口:用于存放CPU對外設(shè)或接口的控制信息, 控制外設(shè)或接口的工作方式。,1001 0101 (狀態(tài)端口),0110 1010 (數(shù)據(jù)端口),1100 0110 (控制端口),地址 譯碼,數(shù)據(jù) 緩沖,控制 電路,外 設(shè),AB,DB,CB,C P U,CPU對外設(shè)輸入/輸出的控制, 是通過對接口電路中各I/O端口的讀/寫操作完成。,特點(diǎn): 端口與存儲器分別獨(dú)立編址 端口不占用內(nèi)存空間 設(shè)有專門的 I/O指令對
4、端口進(jìn)行讀寫, 對內(nèi)存操作的指令不能用于I/O端口,1、端口與存儲器分別獨(dú)立編址 (I/O映射方式),例 MOV 10H , AL 對內(nèi)存操作 IN 10H, AL 對端口操作,2、端口與存儲器統(tǒng)一編址 (存儲器映射方式),特點(diǎn): I/O端口相當(dāng)于內(nèi)存的一部分, 使內(nèi)存容量減小 對I/O端口的讀/寫與對存儲器的讀/寫相同, 所有可對內(nèi)存操作的指令對I/O端口均可使用, 指令系統(tǒng)中不專設(shè)I/O指令。,可尋址220= 1M個內(nèi)存單元 內(nèi)存范圍00000 FFFFFh 內(nèi)存單元的地址有5種尋址 可尋址216= 64 K個I/O端口 I/O端口范圍0000 FFFFH I/O端口的地址由 一個8位二進(jìn)
5、制數(shù)直接尋址 或DX寄存器間接尋址,例 (1) IN AL,28H 若 (28H端口) = 1010 1111B 執(zhí)行后 (AL) = (28H端口) = 0AFH (2) IN AX,28H 若 (28H端口)= 1010 1111B (29H端口)= 0101 0000B 執(zhí)行后 (AL) = (28H端口) = 0AFH (AH) = (29H端口) = 50H (3) MOV DX, 300H IN AL,DX 若 (300H端口)= 69H 執(zhí)行后 (AL) = (300H端口) = 69H,(2)端口地址可由直接方式或間接方式給出,當(dāng)端口號在0FFH,即0255時, 可在指令中直接
6、指定端口號 例 IN AL, 21H OUT 20H, AL,當(dāng)端口號在0FFH,即0255時, 可在指令中直接指定端口號,稱長格式指令 當(dāng)端口號FFH,即255時, 需把端口號放在DX寄存器中,稱短格式指令 原因是使用直接端口方式的指令機(jī)器碼相對長 例 指令 機(jī)器碼 IN AL, 21H E421 ;兩個字節(jié) OUT 20H, AL E620 IN AL, DX EC ;一個字節(jié) OUT DX, AL EE,(3) 可進(jìn)行字節(jié)或字傳送 由指令中AL或AX的類型決定,(4) 注意端口地址與端口內(nèi)容的區(qū)別 IN AL, 21H 不等于(AL) 21H OUT DX, AL 不等于 (DX) (A
7、L),IN AL, 20H ;字節(jié)傳送 IN AX, 20H ;字傳送 IN AL, DX ;字節(jié)傳送 IN AX, DX ;字傳送,OUT 20H, AL ;字節(jié)傳送 OUT 20H, AX ;字傳送 OUT DX, AL ;字節(jié)傳送 OUT DX, AX ;字傳送,3. 輸入/輸出指令時序, 8088CPU最小模式下, I/O端口寫周期時序,IBM PC/XT 總線上I/O端口讀周期 當(dāng)CPU 執(zhí)行 IN 指令時,進(jìn)入I/O端口讀周期, 從指定的端口讀入數(shù)據(jù)到CPU中。,I/O端口讀周期時序,例 假設(shè) 端口218H的內(nèi)容為7BH MOV DX,218H IN AL, DX,IBM PC/X
8、T 總線上I/O端口寫周期 當(dāng)CPU 執(zhí)行 OUT 指令時,進(jìn)入I/O端口寫周期, 將數(shù)據(jù)寫入指定的端口。,I/O端口寫周期時序,例 假設(shè) (AL) = 92H MOV DX,319H OUT DX,AL,1、譯碼電路的作用,將CPU執(zhí)行IN/OUT指令發(fā)出的地址信號, “翻譯”成欲操作端口的選通信號,解決存儲器、I/O設(shè)備與CPU連接時地址總線失配問題。 此信號常作為接口內(nèi)三態(tài)門或鎖存器的控制信號, 接通或斷開接口數(shù)據(jù)線與系統(tǒng)的連接。,IN指令時序,OUT指令時序,該電路在CPU執(zhí)行指令 MOV DX, 200H IN AL, DX 將輸入設(shè)備的數(shù)據(jù)讀入CPU內(nèi)AL中,圖中譯碼電路的作用:
9、只當(dāng)A15A0上出現(xiàn)200H時, (即0000 0010 0000 0000B) 輸出0,其他輸出1。,例 一個輸入設(shè)備的簡 單 接 口 電 路,該電路在CPU執(zhí)行指令 MOV DX, 300H OUT DX, AL 將CPU內(nèi)AL中的數(shù)據(jù)送至輸出設(shè)備,圖中譯碼電路的作用: 只當(dāng)A15A0上出現(xiàn)300H時, (即0000 0011 0000 0000B) 輸出0,其他輸出1。,219H 21AH 21BH 21CH 21DH 21EH 21FH,218H,74LS138 3-8譯碼器,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,0 1 1 0 0 0 0
10、1 0 0,&,&,端 口 譯碼電路,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,PC 總 線,74LS138 3-8譯碼器,218H,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,0 1 1 0 0 0 0 1 0 0,&,&,端 口 譯碼電路,A2 A1 A0 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,PC 總 線,218H 21CH 21AH 21EH 219H 21DH 21BH 21FH,概述 1。無條件傳送(CPU與外設(shè)同步工作): 外部控制過程各種動作時間是固定的,而且是已知的。
11、2。查詢方式(CPU與外設(shè)不同步工作): 傳送前,先查詢外設(shè)狀態(tài),準(zhǔn)備好才傳送,否則CPU處于等待狀態(tài)。 3。中斷方式: 外設(shè)與CPU處于并行工作,一旦外設(shè)準(zhǔn)備好,外設(shè)向CPU發(fā)中斷申請,條件具備,CPU暫停原程序執(zhí)行,響應(yīng)中斷,外設(shè)與CPU串行工作。 4。DMA方式(高速I/O及成組交換數(shù)據(jù)): CPU不干予,由硬件實(shí)現(xiàn)存儲器與外設(shè)之間交換數(shù)據(jù),稱直接存取存儲器。,例2 無條件輸出 : 編程控制系統(tǒng)板上揚(yáng)聲器發(fā)聲。,查詢傳送方式,編程流程:,查詢方式輸入接口, 參看教材圖6-10,使用中斷方式時: 外設(shè)準(zhǔn)備數(shù)據(jù),CPU執(zhí)行程序, CPU與外設(shè)并行工作; 一旦外設(shè)準(zhǔn)備就緒,外設(shè)向CPU發(fā)中斷申
12、請, CPU暫停原程序執(zhí)行,響應(yīng)中斷,進(jìn)行數(shù)據(jù)傳輸。此時,CPU與外設(shè)是串行工作。,中斷方式 輸入接口:,某位未屏蔽, 中斷屏蔽觸發(fā)器 置0,Q=0,(1)當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,外設(shè)向接口電路發(fā)出選通信號: 將數(shù)據(jù)打入鎖存器;同時將中斷請求觸發(fā)器置“1”, (2)若此時,中斷請求屏蔽觸發(fā)器置“0”, =1,Q=0, 允許本接口發(fā)出中斷, 接口電路向CPU發(fā)出中斷請求信號INTR=1; (3)CPU在運(yùn)行程序時不斷訪問INTR,若查到INTR=1信號, 且CPU內(nèi)部中斷允許標(biāo)志IF=1, 則CPU在現(xiàn)行指令執(zhí)行完后, 暫停程序的執(zhí)行,向接口電路發(fā)出中斷響應(yīng)信號 。 (4)外設(shè)把中斷類型號送上數(shù)據(jù)總線
13、; (4N)=(IP),(4 (N+2)=(CS) (5)CPU轉(zhuǎn)入中斷服務(wù)程序,執(zhí)行IN指令,讀入數(shù)據(jù); 清除中斷請求標(biāo)志。當(dāng)中斷處理完后,返回原程序。,DMA傳送方式的特點(diǎn) 1. 外設(shè)和內(nèi)存之間,直接進(jìn)行數(shù)據(jù)傳送, 不通過CPU, 傳送效率高。 適用于在內(nèi)存與高速外設(shè)、 或兩個高速外設(shè)之間進(jìn)行大批量數(shù)據(jù)傳送。 2. 電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。,接收接口往DMA控制器發(fā)出DMA請求信號后, DMA控制器能向CPU發(fā)出總線請求信號HOLD(高電平)。 當(dāng)CPU向DMA發(fā)出響應(yīng)信號HLDA(高電平)以后, DMA能接管對總線的控制,進(jìn)入DMA方式。 能向地址總線發(fā)出內(nèi)存地址信息, 對其進(jìn)行尋址
14、及修改地址指針。 能向存儲器或外設(shè)發(fā) , 命令。 能決定傳送字節(jié)數(shù),并判斷DMA傳送是否結(jié)束。 DMA過程結(jié)束,能向CPU發(fā)出DMA結(jié)束信號,HOLD變低,將總線控制權(quán)還給CPU,CPU恢復(fù)正常工作。,DMA控制器功能,DMA控制器工作原理,當(dāng)外設(shè)輸入數(shù)據(jù)準(zhǔn)備好,外設(shè)向DMA發(fā)出一個選通信號, 將數(shù)據(jù)送數(shù)據(jù)端口;向DMA發(fā)出請求。 DMA控制器向CPU發(fā)出總線請求信號(HOLD)高電平。 CPU在現(xiàn)行總線周期結(jié)束后響應(yīng), 向DMA發(fā)出響應(yīng)信號(HLDA)高電平; CPU放棄對總線控制,DMA控制器接管三態(tài)總線, 接口將數(shù)據(jù)送上數(shù)據(jù)總線,并撤消DMA請求; 內(nèi)存收到數(shù)據(jù)以后,給DMA一個回答,于
15、是DMA修改地址指針, 改變傳送字節(jié)數(shù)。檢查傳送是否結(jié)束。沒有結(jié)束, 下次接口準(zhǔn)備好數(shù)據(jù), 再進(jìn)行一次新的傳輸; 當(dāng)計數(shù)值計為0,DMA傳輸過程便告結(jié)束。 DMA控制器撤消總線請求(HOLD變低),在下一個時鐘周期上升沿使總線響 應(yīng)HLDA變低,DMA釋放總線,CPU取得總線控制權(quán)。,DMA控制器工作原理(續(xù)),DMA控制器工作原理(續(xù)),用DMA方式進(jìn)行輸出過程與輸入過程類似, 只是在DMA控制器發(fā)出回答信號后 接著發(fā)出的是IO寫信號和存儲器讀信號, 數(shù)據(jù)傳送方向與輸入相反而已。,DMA控制器工作原理(續(xù)),一、接口技術(shù)的現(xiàn)狀,1用簡單的邏輯電路 2用可編程集成接口芯片 3用多功能的芯片組
16、4. ?,簡單的邏輯電路:,簡單的邏輯電路:,簡單的邏輯電路:,簡單的邏輯電路:,2. 用可編程集成接口芯片,將完成某一功能的接口電路集成在一個芯片上, 通過對接口芯片編程,設(shè)置接口芯片的工作狀態(tài)。 特點(diǎn): 1. 體積小、功能強(qiáng)、可靠性高 2. 通常是專門為配合微機(jī)系統(tǒng)中的各種適配器設(shè)計, 不必增加或增加很少的電路,就可直接與總線連接, 使用方便。 3. 應(yīng)用時,應(yīng)掌握芯片的工作原理、外部特性、編程方法。,接口芯片舉例: 并行接口芯片 8255A、8155A、Z80-PIO 串行接口芯片 8251A、8250、Z80-SIO 定時/計數(shù)器 8253、8254、Z80-CTC 中斷控制器 8259A DMA控制器 8237A、Z80-DMA 鍵盤控制器 8279 CRT控制器 8275、6845 硬盤控制器 6843 D/A轉(zhuǎn)換器 DAC0832 A/D轉(zhuǎn)換器 ADC0809,1. 了解外設(shè)工作原理,明確接口功能,選擇接口芯片,二、注意事項(xiàng),