微機系統原理及接口技術課件_第1頁
微機系統原理及接口技術課件_第2頁
微機系統原理及接口技術課件_第3頁
微機系統原理及接口技術課件_第4頁
微機系統原理及接口技術課件_第5頁
已閱讀5頁,還剩72頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第六章 輸入/輸出接口7學時6.1 輸入/輸出接口概述6.2 I/O端口的編址方式 6.3 I/O接口的訪問控制 6.4 I/O接口的數據傳輸控制方式6.5 基本輸入輸出接口6.1 輸入/輸出接口概述接口解決微處理器與外設之間的差異 外設種類多信號類型有機械的、物理的、電信號等信號形式有脈沖、模擬量或數字量數據傳輸率不同數據格式不同數據傳輸方式不同,有并行、串行之分CPU與外設都是面向接口而非直接聯絡接口電路中的信息數據信息、狀態信息及控制信息 主機外設 接口電路DBABCB數據信息控制信息狀態信息數據信息數據信息:要交換的數據本身。數字量:通常以8位或16位的二進制數以及ASCII碼的形式傳

2、輸,主要指由鍵盤、磁帶機、磁盤等輸入的信息或主機送給打印機、顯示器、繪圖儀等的信息開關量:用“0”和“1”來表示兩種狀態,如開關的通/斷模擬量:模擬的電壓、電流或者非電量。對模擬量輸入而言,需先經過傳感器轉換成電信號,再經A/D轉換器變成數字量;如果需要輸出模擬控制量的話,就要進行上述過程的逆轉換數據傳輸方向:CPU I/O接口外設控制信息控制信息:控制外設工作的命令,CPU通過接口發出,如A/D轉換器的啟/停信號數據傳輸方向:CPUI/O接口處設狀態信息狀態信息:表征外設工作狀態的信息對輸入接口, CPU是否準備好接收數據,READY” 準備好嗎?對輸出接口, 外設是否準備好接收數據,“BU

3、SY” 外設忙嗎?數據傳輸方向:CPUI/O接口外設I/O端口傳送這三種信息的接口電路中的寄存器稱為數據、狀態和控制端口不同的寄存器有不同的端口地址,即用地址訪問端口由一個或多個寄存器組成接口由若干個端口加上相應的控制邏輯組成 接口的基本功能數據緩沖功能設備選擇功能信號轉換功能接收、解釋并執行CPU命令的功能中斷管理功能可編程功能接口電路的結構 數據緩沖器狀態寄存器控制寄存器接外設一側 主機外設 總線驅動地址譯碼控制邏輯接CPU一側DBABCB數據信息控制信息狀態信息端口接口實現對CPU數據總線速度和驅動能力的匹配實現各寄存器端口尋址操作 實現接口電路中的各寄存器端口的讀/寫操作和時序控制接口

4、電路的分類數據傳送方式:并行接口串行接口功能選擇的靈活性:可編程接口不可編程接口數據傳送操作的同步方式:同步接口異步接口通用性:通用接口專用接口6.2 I/O端口的編址方式為了區分接口電路的各個寄存器,系統為它們各自分配了一個地址,稱為I/O端口地址,以便對它們進行尋址并與存儲器地址相區別I/O端口有兩種編址方式:存儲器映像方式、I/O獨立編址方式 1、存儲器映像編址指I/O端口與存儲器共享一個尋址空間,又稱為統一編址。在這種系統中,CPU可以用同樣的指令對I/O端口和存儲器單元的進行訪問。優點:對I/O口的訪問靈活方便,有利于提高端口數據的處理能力。缺點:I/O端口占用了主存地址,相對減少了

5、主存的可用范圍。2、I/O獨立編址(一)指主存地址空間和I/O端口地址空間相互獨立,分別編址。CPU通過指令來區分是訪問I/O口還是存儲單元優點:主存和I/O端口的地址可用范圍都比較大;缺點:I/O指令的功能一般比較弱,在I/O操作中必須借助CPU的寄存器進行中轉2、I/O獨立編址(二)80X86系列微處理器采用獨立的I/O編址方式CPU使用地址總線中的A0A15來尋址I/O口,故最大I/O空間是64K個字節端口(或32K個字端口)兩種編址方式比較(一)I/O空間內存空間I/O空間內存空間分別是分離編址?還統一編址?兩種編址方式比較(二)存儲器CPUABDBCB接口外設接口外設CPUABDBC

6、B存儲器存儲器讀寫I/O讀寫6.3 I/O接口的訪問控制微機系統的每個端口都有惟一的端口地址端口地址:經譯碼電路譯碼后產生端口選通信號,控制端口的讀/寫操作 I/O端口的地址分配 80X86系列微處理器提供16條地址線訪問I/O端口,編址可達64K個字節端口或者32K個字端口。IBM系列采用非完全譯碼方式,即只考慮了低10位地址線A0-A9,I/O端口地址范圍是0000H-03FFH,總共只有1024個字節端口 80386微處理器或此后的微處理器構成的微機系統,采用全譯碼的方法,端口為64K個字節端口或32K個字端口 I/O端口地址選用的原則自行設計接口電路或給微機系統添加接口卡時,必須避免端

7、口地址發生沖突 申明保留的地址,不要使用用戶可使用300H-31FH地址I/O端口的地址譯碼將來自地址總線上的地址代碼翻譯成為所需要訪問端口的選通信號I/O端口地址譯碼電路結構 譯碼電路的輸入信號地址信號:由地址范圍決定 控制信號:數據流向(讀/寫)、數據寬度(8位/16位)、是否采用奇/偶地址和DMA傳送方式 譯碼電路的輸出信號:接口芯片的片選信號 端口的讀寫控制:輸入需要緩沖, 輸出需要鎖存 輸入緩沖電路 當讀有效時,才將緩沖器中的三態門打開,使外設的數據進入系統的數據總線其它時間,三態門處于高阻狀態,不影響總線上的其它操作 微處理器系統外部輸入設備A0 B0A1 B1A2 B2A3 B3

8、A4 B4A5 B5A6 B6A7 B7EDIR234567891817161514131211119譯碼片選IORDIR=1,ABDIR=0,BA74LS245輸出鎖存 選中鎖存器時,總線上的數據才能進入鎖存器此后不管總線上的數據(鎖存器輸入端)如何變化,只要沒有再次使鎖存器的信號有效,鎖存器的輸出端就一直保持原來鎖存的信息不變。 微處理器系統外部輸出設備D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7CLKCLR34781314171825691215161974LS27311譯碼片選IOW74LS32+5V1I/O地址譯碼方法 地址譯碼的方法靈活多樣 高位

9、地址線與CPU的控制信號進行組合,經譯碼電路產生I/O接口芯片的片選信號CS,實現系統中的接口芯片尋址 低位地址線直接接到I/O接口芯片的地址引腳,進行I/O接口芯片的片內端口尋址 I/O端口地址譯碼電路設計 譯碼電路的形式固定式譯碼:接口中用到的端口地址不能更改 可選式譯碼:譯碼電路采用的元器件來分門電路譯碼譯碼器譯碼可編程邏輯器件譯碼讀077AH端口地址譯碼電路端口地址的二進制形式A15 A14 A1 A00000 0111 0111 1010端口讀:IOR,AEN譯碼輸出:/R77AH執行MOV DX,77AHINAL,DX 74LS32&A10A9A874LS30A6A5A4AENA1

10、A3A14A13&A15A12A7A2&A11A0174LS2074LS04111R77AHIOR讀/寫操作77AH端口地址的譯碼電路 IOWW77AH&A10A9A874LS30A6A5A4AENA1A3A14A13&A15A12A7A2&A11A0174LS2074LS04IOR74LS32111R77AH1譯碼器譯碼A15A8為譯碼器使能A7A5決定芯片端口范圍A4A0選擇芯片片內端口2AGGDMACSAA5BA6CA71AEN0YINTRCS1YT/CCS2YPPICS3Y4Y5Y6Y7Y2BGA10A9&A11A8A14A13&A15A1274LS2074LS13874LS06可選式

11、端口地址譯碼器 通過開關使接口卡的I/O端口地址根據需要加以改變而無需改動硬件電路,能適應不同的地址分配場合 其電路可由地址開關、譯碼器、比較器和基本門電路等組成 用比較器組成的可選式譯碼電路 A9A6=開關狀態時,比較器才輸出高電平,譯碼器才能工作通過設置不同的開關狀態,就可以選擇不同的地址范圍2AGGBC11Y2Y3Y4Y5Y6Y7Y2BGA12A31A0Y74LS13874LS08&AENA4A5A15A14A13A11A1011174LS32CCA6A7A8A9VA0A1A2IA=B74LS85A3B0B1B2B3IABIABOABOA=BDIPS0S1S2S3VCC可編程邏輯器件作譯

12、碼電路 可編程邏輯器件包括GAL、CPLD和FPGA通常一片GAL器件的電路規模可達幾百門,而FPGA可達幾百萬門這些器件可以被多次修改和反復使用只需要修改軟件,就可以改變譯碼電路 6.4 I/O接口的數據傳輸控制方式 外設的速度與CPU相比要慢好幾個數量級,且不同外設之間的速度也相差很大,為了保證數據傳輸的可靠性,CPU一定要等外設準備就緒之后才能執行輸入/輸出操作,而外設就緒的時刻對CPU而言是隨機的,因此需要同步。三種I/O同步控制方式:程序控制方式:無條件程序控制和程序查詢中斷控制方式直接存儲器存取方式,DMA方式無條件程序控制方式(一)最簡單的I/O控制方式,CPU可以隨時根據需要無

13、條件地讀寫I/O端口外設要求:簡單,數據變化緩慢,操作時間固定,如一組開關或LED顯示管。外設被認為始終處于就緒狀態接口特點CPU的DBI/O接口(輸出鎖存器)外設CPU的DBI/O接口(輸入緩沖器)外設無條件程序控制方式(二)數據輸入緩沖器端口數據輸出鎖存器端口輸入數據輸出數據端口譯碼器RDABDBWRM/IO無條件程序控制方式(三)例6.5 START:MOV DX,INPORTIN AL,DX;讀入按鍵狀態TEST AL,01H;判斷最低位按鍵 JNZ K1;最低位按鍵沒閉合,轉MOVAL,01H;最低位發光JMPDISPK1:TEST AL,02H;JNZ K2;次低位按鍵沒閉合,轉M

14、OVAL,03H;最低2位發光JMPDISP.DISP:MOV DX,OUTPORTOUT DX,AL;JMP START程序查詢輸入方式(條件傳送方式 )接口特點:避免了對端口的“盲讀”、“盲寫” ,數據傳送的可靠性高,并且硬件接口相對簡單。缺點是CPU工作效率低,I/O響應速度慢;外設要求:狀態口和數據口 在有多個外設的系統中,CPU的查詢順序由外設的優先級確定一種CPU主動、外設被動的I/O操作方式,很好地解決了CPU與外設之間的同步問題查詢控制的程序流程 READY? 讀取狀態端口 讀/寫數據端口YN狀態端口復位程序查詢方式的輸入接口電路數據緩沖器(輸入端口)狀態緩沖器(輸入端口)輸入

15、設備數據端口讀選通狀態端口讀選通DB(數據、狀態)鎖存器輸入數據輸入選通RQD5VREADYD0數據端口(8位)狀態端口(1位)READYREADY? 輸入狀態信息 輸入數據信息YN狀態信息占用數據線的D0位,查詢程序如下:QUERY:IN AL,S_PORT;狀態口地址SAR AL,1JNCQUERYINAL,D_PORT;D_PORT是數據口地址查詢輸入程序查詢方式的A/D采樣(例6.6) WAIT:IN AL,51H;讀狀態端口的值TESTAL,10H;判斷D4是否為1?JZ WAIT;不是1,等待IN AL,50H;讀數據端口的值MOVBUF,AL;將數據送到數據緩沖單元數據端口狀態端

16、口A/D轉換器定時器模擬信號譯碼電路啟動信號狀態信號D4數據總線地址總線控制信號50H51H程序查詢輸出方式輸出選通數據鎖存器(輸出端口)狀態緩沖器(輸入端口)輸出設備RQD5VDB(數據、狀態)BUSY(1bit)ACK狀態端口讀選通數據端口寫選通數據端口(8位)狀態端口(1位)BUSY輸入狀態信息 BUSY? 輸出數據信息NYQUERY:INAL,S_PORT;狀態口地址 SARAL,1 JCQUERYOUT D_PORT,AL;D_PORT數據口地址查詢輸出程序查詢方式的打印機接口(例6.7) WAIT:IN 7AH,AL;讀狀態端口 TEST AL,04H;判斷D2是否為0? JNZ

17、WAIT;不是0,等待 MOV AL,BUF;取數據 OUT 78H,AL;將數據送到打印機接口 數據端口狀態端口數據緩沖器狀態檢測打印機譯碼電路觸發信號狀態信號D2數據總線地址總線控制總線信號78H7AH接口電路多個外設的查詢CPU周期性地依次查詢每個外設的狀態優先權決定了查詢次序不具有實時性例:查詢式8路模擬數據采集系統D0 D1 D2324A/D轉換器DB多路開關數據端口讀選通1路模擬量狀態端口讀選通控制端口讀選通READYSTARTD0CPU8路模擬量輸入I0I7D3D7 D0D3 D0DATA中斷控制方式接口特點:避免了CPU 反復低效率的查詢,適用于CPU任務繁忙、而數據傳送不太頻

18、繁的系統中。缺點是硬件電路和處理過程都比較復雜;(中斷控制芯片)CPU被動而外設主動的I/O操作方式,較大地提高了CPU的工作效率,并使系統具有了實時處理功能中斷控制方式中斷請求觸發器QRD數據緩沖端口譯碼端口譯碼控制端口中斷屏蔽觸發器QD+5VWR外設READYDBABDBINTRINTA中斷可被響應的條件:中斷請求觸發器置位;中斷屏蔽觸發器清零;CPU內部開放中斷;CPU未處理更高級中斷;CPU現行指令執行完中斷工作過程外設需要CPU服務時外設I/O接口向CPU發中斷請求,INTR=H(中斷請求有效)CPU執行完當前指令后, (注: 若IF = 1)CPU I/O接口 外設發中斷響應,/I

19、NTA = LCPU執行中斷服務程序, CPUI/O接口外設讀寫數據DMA控制方式(存儲器直接存取)內存與外設間有大量數據交換時,采用中斷方式,每傳送一次數據,就必須經歷中斷處理的全部步驟,而且一般需要借助CPU內部的寄存器作為中介DMA方式:不用CPU的寄存器作傳數中介, 完成存儲器和外設間的直接傳數,CPU必須將系統總線的控制權讓給DMAC DMA方式原理方框圖 DB HOLD CPU HLDA AB DMAC MEM I/O請求響應DMA的工作流程 DMAC發存儲器地址在總線上傳送數據傳送結束?修改地址指針DMA結束,交還總線權CPU允許釋放總線,向DMAC發出總線應答信號HLDADMA

20、C向CPU發總線申請HOLDYN6.5 基本輸入輸出接口 鍵盤/鼠標接口 數碼管顯示接口 并行打印機接口 鍵盤接口 線性鍵盤:按鍵并聯方式與I/0端口連接每一個按鍵需要占用I/O端口的一根口線 由程序處理按鍵的操作情況矩陣鍵盤:按鍵按照行、列方式排列 比線性鍵盤節約I/0口線 非編碼鍵盤:CPU處理按鍵的操作,減低了CPU的效率 編碼鍵盤 :專用的單片機處理按鍵操作,緩減了CPU的負擔 矩陣鍵盤結構 8位并行輸入端口8位并行輸出端口+5V10k10k10k10k第0行第1行第2行第7行第0列第1列第2列第3列第7列行掃描法(一) 第一步:判斷是否有鍵按下 輸出端口的各位都為低電平,即各列都為0

21、 讀取輸入端口數據,如果輸入不等于FFH,則有鍵被按下 MOVAL,00H;MOVDX,OUTPORT;OUTDX,ALMOVDX,INPORT;IN AL,DX;CMPAL,0FFH行掃描法(二)第二步:確定按鍵號確定按鍵的列數:輸出掃描值,使某一列為低電平,其它列為高電平;讀取行值,看是否有行線處于低電平 確定按鍵的行數:循環右移行值,直到為0 行掃描法程序流程 是否有一行接地?鍵盤命令處理是進位位為0?否掃描值循環左移一位,使下一列為低電平鍵號+8,計數值-1否讀進行值行值循環右移一位是結束是全部掃描完?否設鍵號=0,計數器=列數行掃描初值=11111110B輸出掃描值,使某一行為低電平

22、MOVBL,0MOVDL,8MOVCL,0FEHMOV AL,CLOUT OUTPORT,AL IN AL,INPORTCMPAL,0FFH ROLAL,1MOVCL,AL RCR AL,1JNC PROCINC BL鍵值+1微機鍵盤接口 最早的鍵盤接口是用8255實現的,而鼠標則通過RS-232串口實現目前微機系統的鍵盤/鼠標是PS/2接口。微機鍵盤單片機自動地識別鍵的按下與釋放,自動生成相應的掃描碼并以串行方式發送掃描碼到主機主機根據掃描碼轉換為反映鍵功能的ASCII碼鍵盤/鼠標接口引腳定義 通過數據線DATA和時鐘線CLK兩根線,就可以實現主機和PS/2設備之間的通信PS/2鍵盤接口時序

23、 (a)是鍵盤向主機發送數據時的PS/2接口時序圖 (b)是主機向PS/2鍵盤發送數據的時序圖CLKDATAD0D1D2D3D4D5D6D7PSE起始校驗停止(a)(b)SDATAD0D1D2D3D4D5D6D7P起始校驗停止主機CLK鍵盤鍵盤的BIOS調用 DOS的1H、6H、7H、8H、0AH、0BH、0CH功能接收單個字符或字符串,比INT 16H更方便 但INT 16H一次可讀取一個字符的擴充ASCII碼,而DOS功能調用需要兩次才能讀取1個字符的擴充ASCII碼INT 16H功能調用 MOV AH,0H INT16HCMPAL,0H;AL如果為0,AH為鍵盤擴充ASCII碼JE EX

24、CDJMPERREXCD:CMP AH,3BH JEOPT1 CMPAH,3CH JEOPT2 CMPAH,3DH JE OPT3ERR:OPT1:OPT2:OPT3:數碼管顯示接口 共陰結構 陰極控制端為低電平時,LED工作 輸入控制端為高電平時,對應的發光管亮 共陽結構 陽極控制端為高電平時,LED工作 輸入控制端為低電平時,對應的發光管亮 段選碼 顯示譯碼器七段顯示數碼管是由發光二極管按照一定的規則排列而成的bcfegad8421 BCD碼-七段顯示碼表98765432101101111100111111110001000011111101111101011011011011010110

25、0110001010011111100101101101000000110100001111110000gfedcbaDCBA七段數碼輸出(共陰極)BCD碼輸入靜態顯示 段(發光二極管)恒定地導通或截止,直到顯示另一個字符為止 各個數碼管的輸入控制端相互獨立,并與接口電路的輸出端口相連 占用I/O端口資源多:數碼管的個數為M時,需要的接口口線數目為8M。所以顯示位數較多時,需要采用動態顯示方式 動態顯示 所有數碼管共享輸入控制端需要的口線數8+數碼管的個數M工作原理:動態地輪流點亮各個LED位選碼:選擇被點亮的LED段選碼:顯示什么字符通常通過查找表的方式實現動態顯示例子DISDAT17141

26、81802TABLE3FH06H76H38H73H71H“H”“E”79H“L”“0”5BH“2”02171418DIMOV DI,OFFSET DISDATMOV AL,DI; AL=17LEA BX,TABLEBXXLAT ; AL=76H “H”并行輸出端口(帶鎖存功能)并行輸出端口(帶鎖存功能)D0D7D7D6D5D4D3D2D1D0D5D4D3D2D1D0位0位1位2位3位4位5D0D7段選位選圖6.30 6個數碼管的顯示接口電路OUT SEGPORT,AL ; AL=76H “H”MOV AL,0DFH ; CL=1101,111176HOUT BITPORT,AL ; AL=CL=1101,11110 1 1 1 1 1INC DIMOV AL,DI ; AL=79HH79H1 0 1 1 1 1EOUT SEGPORT,AL ; AL=79H “E”ROR CL ; CL=1110,1111OUT BITPORT,AL ; AL=CL=1110,1111并行打印機接口 打印機提供了與微機系統相連的36芯Centronics連接器 微機上的并口采用的是DB25 最主要的信號:8根數據線,2根握手聯絡信號線/STROB和/ACK、1根狀態信號線BUSY Centronics標準時序圖 BUSY數據有效DATA數據有效ACK5sSTROB5s并行打印機接口框圖 D0

溫馨提示

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

評論

0/150

提交評論