《《微機(jī)原理第六章》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《微機(jī)原理第六章》PPT課件.ppt(67頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、1,第六章 微機(jī)接口技術(shù)概述 第一節(jié) 接口技術(shù)的基本概念 一、 接口的概念和功能 二、 接口電路的典型結(jié)構(gòu) 第二節(jié) I/O端口的編址和譯碼 一、 I/O端口的編址方式 二、8088的輸入/輸出指令和時(shí)序 三、I/O端口的譯碼 第三節(jié) CPU與外設(shè)間的數(shù)據(jù)傳送方式 一、 無條件傳送方式 二、 條件傳送方式 三、 中斷傳送方式 四、 DMA傳送方式 第四節(jié) 接口技術(shù)的現(xiàn)狀與發(fā)展趨勢 一、接口技術(shù)的現(xiàn)狀 二、接口技術(shù)的發(fā)展趨勢 第五節(jié) 接口的設(shè)計(jì)與分析 一、基本方法 二、注意事項(xiàng),2,3,1. 假設(shè) (AL)= 73H, (DX)=21CH, (端口21CH)= 95H,執(zhí)行 MO
2、V DX, 21CH,作業(yè): 6-3, 6-6, 6-10,IN AL, DX,(1) 根據(jù)8088CPU在最小模式下的I/O、存儲(chǔ)器讀/寫時(shí)序,,描述執(zhí)行IN指令時(shí)8088CPU有關(guān)引腳的具體變化過程。,(2) 根據(jù)IBM PC/XT總線的I/O讀、寫周期時(shí)序,,描述執(zhí)行 IN指令時(shí), IBM PC/XT總線上有關(guān)引腳的具體過程,如果執(zhí)行的是 MOV DX, 21CH,OUT DX, AL,有關(guān)引腳的具體變化過程?,4,編寫程序,采用無條件傳送方式,從端口256h,讀入100h個(gè)字節(jié)數(shù)據(jù),3. 某I/O接口的狀態(tài)寄存器D0位存放外設(shè)BUSY的,狀態(tài), 其地址為2A3h,,D0=1表示外設(shè)忙
3、; 該接口的數(shù)據(jù)寄存器的地址為,2A1h。編寫程序,,用查詢方式將data為首地址的100個(gè)內(nèi)存單元內(nèi)容,從該I/O接口輸出。,5,,復(fù)習(xí):,P212P224, P236P239(第二版),預(yù)習(xí):,P223P236, P239P247 (第二版),6,7,8,1、接口和接口技術(shù),9,10,外設(shè)是用來實(shí)現(xiàn)人機(jī)交互的一些機(jī)電設(shè)備。 外設(shè)處理信息的類型、速度、通信方式與CPU不匹配, 不能直接掛在總線上,必須通過接口和系統(tǒng)相連,2、為什么要用接口電路?,11,二、接口電路的典型結(jié)構(gòu),從編程角度看,接口內(nèi)部主要包括一個(gè)或多個(gè) CPU可以進(jìn)行讀/寫操作的寄存器,又稱為I/O端口。 各I/O端口由端口地
4、址區(qū)分。,12,按存放信息的不同,I/O端口可分為三種類型 數(shù)據(jù)端口:用于存放CPU與外設(shè)間傳送的數(shù)據(jù)信息 狀態(tài)端口:用于暫存外設(shè)的狀態(tài)信息 控制端口:用于存放CPU對(duì)外設(shè)或接口的控制信息, 控制外設(shè)或接口的工作方式。,,,1001 0101 (狀態(tài)端口),,0110 1010 (數(shù)據(jù)端口),,1100 0110 (控制端口),,,地址 譯碼,,數(shù)據(jù) 緩沖,控制 電路,,外 設(shè),,,AB,,DB,,CB,C P U,13,CPU對(duì)外設(shè)輸入/輸出的控制, 是通過對(duì)接口電路中各I/O端口的讀/寫操作完成。,14,15,16,特點(diǎn): 端口與存儲(chǔ)器分別獨(dú)立編址 端口不占用內(nèi)存空間
5、設(shè)有專門的 I/O指令對(duì)端口進(jìn)行讀寫, 對(duì)內(nèi)存操作的指令不能用于I/O端口,1、端口與存儲(chǔ)器分別獨(dú)立編址 (I/O映射方式),例 MOV 10H , AL 對(duì)內(nèi)存操作 IN 10H, AL 對(duì)端口操作,17,2、端口與存儲(chǔ)器統(tǒng)一編址 (存儲(chǔ)器映射方式),特點(diǎn): I/O端口相當(dāng)于內(nèi)存的一部分, 使內(nèi)存容量減小 對(duì)I/O端口的讀/寫與對(duì)存儲(chǔ)器的讀/寫相同, 所有可對(duì)內(nèi)存操作的指令對(duì)I/O端口均可使用, 指令系統(tǒng)中不專設(shè)I/O指令。,18,19,20,可尋址220= 1M個(gè)內(nèi)存單元 內(nèi)存范圍00000 FFFFFh 內(nèi)存單元的地址有5種尋址 可尋址216= 64
6、 K個(gè)I/O端口 I/O端口范圍0000 FFFFH I/O端口的地址由 一個(gè)8位二進(jìn)制數(shù)直接尋址 或DX寄存器間接尋址,21,22,例 (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) =
7、(300H端口) = 69H,23,24,25,26,(2)端口地址可由直接方式或間接方式給出,當(dāng)端口號(hào)在0FFH,即0255時(shí), 可在指令中直接指定端口號(hào) 例 IN AL, 21H OUT 20H, AL,27,當(dāng)端口號(hào)在0FFH,即0255時(shí), 可在指令中直接指定端口號(hào),稱長格式指令 當(dāng)端口號(hào)FFH,即255時(shí), 需把端口號(hào)放在DX寄存器中,稱短格式指令 原因是使用直接端口方式的指令機(jī)器碼相對(duì)長 例 指令 機(jī)器碼 IN AL, 21H E421 ;兩個(gè)字節(jié) OUT 20H, AL E620 IN A
8、L, DX EC ;一個(gè)字節(jié) OUT DX, AL EE,28,(3) 可進(jìn)行字節(jié)或字傳送 由指令中AL或AX的類型決定,(4) 注意端口地址與端口內(nèi)容的區(qū)別 IN AL, 21H 不等于(AL) 21H OUT DX, AL 不等于 (DX) (AL),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 ;字傳送,29,3. 輸入/輸
9、出指令時(shí)序,30,31,32, 8088CPU最小模式下, I/O端口寫周期時(shí)序,33,34,IBM PC/XT 總線上I/O端口讀周期 當(dāng)CPU 執(zhí)行 IN 指令時(shí),進(jìn)入I/O端口讀周期, 從指定的端口讀入數(shù)據(jù)到CPU中。,35,I/O端口讀周期時(shí)序,36,例 假設(shè) 端口218H的內(nèi)容為7BH MOV DX,218H IN AL, DX,37,IBM PC/XT 總線上I/O端口寫周期 當(dāng)CPU 執(zhí)行 OUT 指令時(shí),進(jìn)入I/O端口寫周期, 將數(shù)據(jù)寫入指定的端口。,38,I/O端口寫周期時(shí)序,39,例 假設(shè) (AL) = 92H MOV DX,319H OUT
10、DX,AL,40,41,1、譯碼電路的作用,將CPU執(zhí)行IN/OUT指令發(fā)出的地址信號(hào)“翻譯”成欲操作端口的選通信號(hào),解決存儲(chǔ)器、I/O設(shè)備與CPU連接時(shí)地址總線失配問題。 此信號(hào)常作為接口內(nèi)三態(tài)門或鎖存器的控制信號(hào),接通或斷開接口數(shù)據(jù)線與系統(tǒng)的連接。,IN指令時(shí)序,OUT指令時(shí)序,42,該電路在CPU執(zhí)行指令 MOV DX, 200H IN AL, DX 將輸入設(shè)備的數(shù)據(jù)讀入CPU內(nèi)AL中,圖中譯碼電路的作用: 只當(dāng)A15A0上出現(xiàn)200H時(shí), (即0000 0010 0000 0000B) 輸出0,其他輸出1。,例 一個(gè)輸入設(shè)備的簡 單 接 口 電 路,,,,43,44,45
11、,該電路在CPU執(zhí)行指令 MOV DX, 300H OUT DX, AL 將CPU內(nèi)AL中的數(shù)據(jù)送至輸出設(shè)備,圖中譯碼電路的作用: 只當(dāng)A15A0上出現(xiàn)300H時(shí), (即0000 0011 0000 0000B) 輸出0,其他輸出1。,,,,46,47,48,49,據(jù)端口地址確定地址信號(hào)A15A0的取值,用門電路、譯碼器或兩者組合實(shí)現(xiàn)滿足此取值情況的電路。,3、設(shè)計(jì)譯碼電路的方法,50,,51,52,53,54,55,56,,57,219H 21AH 21BH 21CH 21DH 21EH 21FH,,,218H,,,,,,,,,,,,,,,,,,,,,74LS138 3-8譯碼器,A
12、 Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,,,,,,,,,,,,,,,,,0 1 1 0 0 0 0 1 0 0,,&,&,,,端 口 譯碼電路,,,,,,,,,,,,,,,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,PC 總 線,,,,58,59,,60,,,,,,,,,,,,,,,,,,,,,74LS138 3-8譯碼器,218H,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,,,,,,,,,,,,,,,,,0
13、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,,,61,62,63,常將低位地址線(1位或幾位)直接連在芯片上(與芯片上的對(duì)應(yīng)地址線相連),用于片內(nèi)譯碼,選擇片內(nèi)單元。 而其余的高位地址線用于片選譯碼,選擇器件。,并行接口8255A,,,CS,,外 設(shè),,數(shù) 據(jù) 線,,,,,,A0,A1,RD,WR,,,,PC 總 線,IOR,,A0,A1,,IOW,A2 A3 A4 A5 A6 A7 A8 A9 AEN,片 選 譯 碼,,,,,,,,,,片內(nèi) 譯碼,端口A,端口B,端口C,端口D,,,,,,,,,,,,,,,,,,64,,65,,,,,,,,,,66,67,