微機原理IO接口_第1頁
微機原理IO接口_第2頁
微機原理IO接口_第3頁
微機原理IO接口_第4頁
微機原理IO接口_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第六章6.1 輸入/輸出(I/O)接口 6.1.1 I/O接口的功能 6.1.2 簡單的輸入輸出芯片 6.1.3 I/O端口及其編址方式 6.1.4 I/O端口地址譯碼 6.1.5 CPU與外設間的數據傳送方式6.2 總線(自學)第六章 I/O接口和總線2第六章1、兩個術語u 外設:(即I/O設備)計算機是一種信息處理工具,需要輸入設備送入信息,輸出設備送出結果,這些輸入輸出設備被稱為外設。 u 通信:計算機(CPU)與外設間的數據、狀態(tài)和控制命令的交換過程統(tǒng)稱為通信。6.1 輸入/輸出(I/O)接口6.1.1 I/O接口的功能3第六章2、CPU與外設直接通信存在的問題 速度不匹配(CPU快

2、,外設慢) 信號電平不匹配(CPU使用TTL電平,外設多為機電設備) 信號格式不匹配(CPU總線上為并行數字量,而外設有串行模擬量等) 時序不匹配解決方案: 用I/O接口:把外設連接到CPU總線上的一組邏輯電路的總稱。用于協(xié)調外設與CPU之間的信息交換。4第六章3、I/O接口的功能u設置數據的緩沖與暫存 (采用緩沖器、鎖存器緩解外設與CPU速度的差異)u設置信號電平轉換電路 (采用MC1488、MAX232等芯片)u設置格式轉換電路(采用A/D、D/A等芯片)u提供I/O地址譯碼與設備選擇u對外設進行監(jiān)測、控制與管理,中斷處理5第六章 “ 輸出要鎖存,輸入要緩沖 ”uCPU的運行速度比較快,輸

3、出數據通常要經過鎖存才能被外設讀取;u外設的數據線通過緩沖器與CPU的數據線相連接,從而保證CPU在讀取一個外設數據時不會因其它外設的存在而出錯。4、I/O接口設計的基本原則6第六章 常用的輸入輸出接口芯片u緩沖器:74LS244(單向) 74LS245(雙向)u鎖存器:74LS3736.1.2 簡單的輸入輸出芯片7第六章1、緩沖器 74LS244u單路基本組成:ABGG#AB01100 01高阻狀態(tài)真值表8第六章1234567891020191817161514131211 244/1G1A12Y41A22Y31A32Y21A42Y1GNDVcc/2G1Y12A41Y22A31Y32A21Y

4、42A11A11A21A31A42A12A22A32A41Y11Y21Y31Y42Y12Y22Y32Y41G2G圖6-1 74LS244邏輯功能和引腳圖9第六章1234567891020191817161514131211 245DIRA1A2A3A4A5A6A7A8GNDVcc/GB1B2B3B4B5B6B7B8A1A2A3A4A5A6A7A8B1B2B3B4B5B6B7B8DIRG圖6-2 74LS245邏輯功能和引腳圖10第六章u緩沖器作用實例 CPUD0電路1電路2+5VG CPUD0比較:電路1中CPU數據線始終被K狀態(tài)占用;電路2中CPU數據線的狀態(tài)可以由G端控制;實現緩沖的作用K

5、+5VK11第六章2、鎖存器 74LS373(帶緩沖的鎖存器)u單路基本組成:D觸發(fā)器DQQ C2)兩種觸發(fā)方式:電平觸發(fā):一種電平時,Q端跟隨D端變化; 另一種電平時,Q端鎖存D端狀態(tài)。邊沿觸發(fā):有效沿時,Q端立即跟隨并鎖存D端狀態(tài); 其他時間,Q端與D端狀態(tài)無關。1)D觸發(fā)器作用: 當C端滿足一定條件時,D端狀態(tài)(0或1)鎖存至Q端12第六章DQQ G3)邏輯符號邊沿觸發(fā):電平觸發(fā):DQQCKDQQ GDQQCK跟隨跟隨鎖存鎖存跟隨并鎖存跟隨并鎖存13第六章74LS37374LS374雙列式封裝連接圖14第六章74LS373 內部結構和真值表15第六章u鎖存器作用實例 CPUD0電路1電路

6、2 CPUD0比較:電路1中LED瞬間即滅;電路2中CPU數據由鎖存器暫存,LED會一直亮,直到CPU送下個數據+5VG+5V鎖存器鎖存器假設從D0送出一低電平,即“0”16第六章1、I/O端口 CPU與外設傳送信息的種類(以打印機為例) (1)數據信息(如:要打印的內容,CPU送至外設)(2)狀態(tài)信息(如:打印機是否空閑,外設送至CPU)(3)控制信息(如:設置打印方式、開始打印等,CPU送至外設)6.1.3 I/O端口及其尋址方式17第六章 I/O端口的概念 數據信息、狀態(tài)信息和控制信息均存放在寄存器中,這些用來存儲信息的寄存器以及它們的控制邏輯稱為I/O端口。 I/O端口的種類數據端口狀

7、態(tài)端口控制端口(命令端口)18第六章u接口與端口的區(qū)別 若干個端口加上相應的控制電路構成接口。CPU外設外設數據端口數據端口狀態(tài)狀態(tài)端口端口控制控制端端口口CBABDB狀態(tài)信息狀態(tài)信息控制信息控制信息I/O接口接口數據信息數據信息端口與接口圖示19第六章 端口地址 不同外設具有的端口數各不相同,計算機中為每個端口都賦予一個惟一編號,也稱為端口號。 端口的兩種編址方式(1)存儲器映像尋址(也稱:統(tǒng)一編址)(2)I/O單獨編址方式(也稱:獨立編址)2、I/O端口的編址方式20第六章 (1)存儲器映像尋址 把外設端口與內存統(tǒng)一進行編址,每個端口看成一個內存單元,占用一個地址,訪問外設端口可以看成訪問

8、存儲單元。 優(yōu)點: 指令統(tǒng)一,靈活,任何訪問存儲器的指令都可訪問I/O MOV AL,PORT ;輸入 MOV PORT,AL ;輸出 內存和外設地址分布統(tǒng)一,便于管理21第六章 缺點:外設占用存儲器空間地址,內存可用地址空間減小。無法區(qū)分當前訪問的是存儲器還是I/O端口。00000地址空間地址空間(共共1MB)內存地址內存地址(960KB)I/O地址地址(64KB)FFFFFHEFFFFHF0000H22第六章(2)I/O單獨編址方式 系統(tǒng)單獨對I/O空間進行編址,不占用存儲器的空間。用專門的IN和OUT指令來訪問這種端口。內存單元00000HFFFFFH端口0000HFFFFH內存地址(1

9、MB)A0 A19端口地址(64kB)A0 A1523第六章 優(yōu)點:u指令區(qū)分,使程序清晰,可讀性好;u而且I/O指令長度短,執(zhí)行的速度快;uI/O地址譯碼電路較簡單。 缺點:uCPU指令系統(tǒng)中必須專設IN和OUT指令;uIN和OUT指令功能較弱;uCPU要能提供區(qū)分存儲器讀/寫和I/O讀/寫的控制信號,例如:8086的M/IO#和8088的IO/M#信號。 I/O單獨編址24第六章(3)8086CPU的I/O編址方式 采用I/O獨立編址方式(但地址線與存儲器共用) 地址線上的地址信號用M/IO#來區(qū)分:M/IO# =0 時選中I/O端口,M/IO# =1 時選中存儲單元 I/O操作只使用20

10、根地址線中的16根:A15A0,可尋址的I/O端口數為64K(65536)個,地址范圍為0000HFFFFH25第六章 讀寫過程OUT指令使數據線、相應的地址線及M/IO#和WR#有效。IN指令使數據線、相應的地址線及M/IO# 和RD#有效。 參加譯碼的信號 M/IO#、RD#、WR#、A15A06.1.4 I/O端口地址譯碼以8086CPU為例26第六章 1、譯碼的一般原則u當接口只有一個端口時,16位地址線一般應全部參與譯碼,譯碼輸出直接選擇該端口;u當接口具有多個端口時,則16位地址線的高位參與譯碼(決定接口的基地址),而低位則用于確定要訪問哪一個端口。例:某外設接口有4個端口,地址為

11、2F0H2F3H,則其基地址為2F0H,由A15A2譯碼得到,而A1、A0用來確定4個端口中的某一個。27第六章2、譯碼的常用方法u線選法 利用一根地址線,產生指定的端口地址的選擇信號。當A7=1,選中PORT1,地址可為80H當A6=1,選中PORT2,地址可為40H當A5=1,選中PORT3,地址可為20H對于PORT1,地址為81H,82H,83H等仍可選中。 這種譯碼方式地址有重疊。PORT1A7PORT2A6PORT3A528第六章 采用門電路進行地址譯碼 利用基本邏輯門電路,產生端口地址選擇信號。例:如果設計一個I/O端口,該端口地址為3E7H,要求低電平有效。 如果采用門電路完成

12、譯碼,地址分配如下: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1A0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 129第六章1&A15A14A13A12A11A10A4A3A9A8A7A6A5A2A1A0CS注意:本地址的形成方法不是唯一的,可用不同的門電路組合而成,但地址輸出片選信號的結果是唯一的。譯碼電路圖30第六章 采用譯碼器與門電路組合例:譯碼電路如下:1&A13A12A7A6A15A14A5A4A3M/IO#G2A#G2B#G1CBAY0#Y1#Y2#Y3#Y4#Y5#Y6#Y7#31第六章續(xù)

13、:這種譯碼電路可用Y0#Y7#作為某個接口電路的基地址,再用A2A1A0選中接口中某個端口,這種譯碼電路中一個接口最多可設置8個端口。試分析Y0#、Y1#.Y7#輸出的地址范圍分別為多少? Y0:C000HC007H; Y1:C008HC00FH; Y7:C038HC03FH; 32第六章 在微型機系統(tǒng)中,可采用的輸入輸出方式主要有: 程序控制方式(掌握)無條件傳送方式 條件傳送(也稱查詢方式) 中斷方式(了解) DMA方式(了解)前兩種方式主要由軟件實現,DMA主要由硬件實現。6.1.5 CPU與外設間的數據傳送方式33第六章 CPU直接與外設傳送數據,認為外設已經準備就緒,不需要了解外設狀

14、態(tài)。應用場合:外設簡單,時刻處于準備好輸入輸出狀態(tài), CPU可隨時輸入/輸出數據;或者是CPU固定時間間隔進行輸入輸出。1、無條件傳送方式程序控制方式之一34第六章無條件輸入電路例子例:將幾個按鍵開關的狀態(tài)輸入CPU。硬件連接示意圖如右所示。分析電路組成、數據傳送過程,并根據要求編寫完整匯編源程序。開開關關+5V1Y11Y2 74LS2441A11A22Y42A4/1G/2GD0D1D7CSRDM/IO思考:假設該端口號為80H,每隔1S將這個端口的各個狀態(tài)讀入到BUF數組中,共讀10次,怎樣編寫程序?35第六章參考程序:DATA SEGMENT BUF DB 10 DUP(?)DATA EN

15、DSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,10L1: CALL DELAY1S IN AL,80HMOV BX,ALINC BXLOOP L1MOV AH,4CHINT 21HDELAY1S PROC NEAR RETDELAY1S ENDPCODE ENDS END START 分析:指令操作I/O接口的過程36第六章關鍵程序片斷:MOV AL,55HOUT 80H,AL無條件輸出電路例子LED1D2D 74LS2731Q2Q8D8QCKD0D1D7CSWRM/IO0

16、#. . .7#分析:指令操作I/O接口的過程例:硬件連接示意圖如右所示。分析電路組成及數據傳送過程。假設該端口地址為80H,要想讓0、2、4、6號燈亮,如何編寫程序?37第六章2、條件傳送(查詢式傳送)u在與外設進行數據傳送前,CPU先查詢外設狀態(tài),當外設準備好后,才執(zhí)行I/O指令,實現數據傳送。輸入時:狀態(tài)指示要輸入的數據是否已經準備就緒;輸出時:狀態(tài)指示輸出設備是否空閑。u特點:CPU通過不斷查詢外設狀態(tài),實現與外設的速度匹配;CPU的工作效率低;程序控制方式之二38第六章例: 查詢式輸入接口電路A15A0/RD(讀狀態(tài)讀狀態(tài))/CS1Ready12輸入輸入設備設備數數 據據鎖存器鎖存器

17、(8位位)I/O譯碼譯碼數數 據據緩沖器緩沖器(8位位)DCRQ+5V選通信號選通信號D觸發(fā)器觸發(fā)器/CS2/RD(讀數據讀數據)M/IOD7D0圖圖6-6 查詢方式輸入接口電路查詢方式輸入接口電路D0STB(1)組成(2)查詢(3)取數據39第六章查詢方式輸入動畫演示40第六章工作原理: 當輸入設備的數據準備好后,發(fā)出一個選通信號,一邊把數據鎖存在鎖存器中,一邊使D觸發(fā)器置 1,給出Ready信號(即:準備好時,Ready=1,則D0=1)。 數據、狀態(tài)必須通過不同的端口送給CPU。當CPU要由外設輸入信息時,先輸入狀態(tài)信息,檢查數據是否已經準備好。若準備好,則通過數據端口輸入數據。軟件流程

18、:讀狀態(tài)讀狀態(tài) 準備好?準備好? 讀入數據讀入數據YN41第六章程序片斷:設狀態(tài)口地址為:PORTS,數據口地址為:PORTD,則輸入一次數據的程序為: WAIT: IN AL,PORTS TEST AL,01H JZ WAIT IN AL,PORTD 思考:若Ready信號線連接在D7或者其他位上,如何編程? WAIT: IN AL,PORTS TEST AL,80H JZ WAIT IN AL,PORTD 42第六章例: 查詢式輸出接口電路圖圖6-8 查詢方式輸出接口電路查詢方式輸出接口電路/RD(讀狀態(tài)讀狀態(tài))/CS112輸出輸出設備設備數數 據據鎖存器鎖存器(8位位)CDRQ+5VD觸

19、發(fā)器觸發(fā)器/CS2/WR(寫數據寫數據)A15A0I/O譯碼譯碼M/IOD7D0/ACKD1(數據總線數據總線)選通選通信號信號BUSY(1)組成(2)查詢(3)送數據43第六章查詢方式輸出動畫演示44第六章工作原理: 當輸出設備把CPU上一個數據處理完后,發(fā)出ACK信號,使D觸發(fā)器清零,即:使Busy為0,表示外設空閑。 當CPU輸入此信息后,就向外設輸出數據,將數據鎖存在外部鎖存器中,同時一方面通過D觸發(fā)器告訴外設取數,另一方面作為“忙”信號,阻止CPU輸出新數據。45第六章問題:設狀態(tài)口地址:80H;數據口地址為:82H;利用查詢式輸出方式,將內存BUF開始的20個字節(jié)數據輸出到外設中,試編寫程序。軟件流程:讀狀態(tài)讀狀態(tài) 忙?忙? 輸出數據輸出數據NY46第六章DATA SEGMENT BUF DB 20 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,20WAIT: IN AL,80H TEST AL,02H JNZ WAIT MOV AL,BX OUT 82H,AL INC BX LOOP WAIT MOV AH,4CH INT 21HCODE ENDS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論