微型計算機(jī)原理(第6章)_第1頁
微型計算機(jī)原理(第6章)_第2頁
微型計算機(jī)原理(第6章)_第3頁
微型計算機(jī)原理(第6章)_第4頁
微型計算機(jī)原理(第6章)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第6章輸入/輸出系統(tǒng)2本章內(nèi)容講授學(xué)時4第6章輸入/輸出系統(tǒng)

6.1概述

6.2數(shù)據(jù)傳送方式

6.3I/O端口地址譯碼與讀寫控制

本章重點端口分類I/O端口的地址譯碼微型機(jī)與I/O設(shè)備的信息交換方式456.1.1輸入/輸出接口功能不同類型的外設(shè),需要配置不同功能的接口。接口功能根據(jù)需要有多種,復(fù)雜程度各不相同。通常需要提供數(shù)據(jù)緩沖信息格式的相容性變換管理數(shù)據(jù)傳送進(jìn)行地址譯碼選擇設(shè)備電氣特性適配中斷管理時序控制等6.1概述

66.1.2輸入輸出接口信號類型及基本結(jié)構(gòu)數(shù)據(jù)狀態(tài)控制命令從含義和功能上來看,數(shù)據(jù)信息、控制信息和狀態(tài)信息是各不相同的,必須分別傳送,各有通路,我們稱這些通路為端口(PORT),三種端口的集合就是接口。6.1概述

CPU數(shù)據(jù)端口控制端口狀態(tài)端口外部設(shè)備接口電路地址數(shù)據(jù)數(shù)據(jù)狀態(tài)控制76.1.3I/O端口類型三類信息分別有寄存器(緩沖器)。數(shù)據(jù)端口:雙向傳輸狀態(tài)端口:單向輸入控制端口:單向輸出各端口可獨立工作,可分別尋址。6.1概述

CPU數(shù)據(jù)端口控制端口狀態(tài)端口外部設(shè)備接口電路地址數(shù)據(jù)數(shù)據(jù)狀態(tài)控制8(1)I/O端口和存儲器統(tǒng)一編址(2)I/O端口獨立編址統(tǒng)一編址把外設(shè)接口與內(nèi)存統(tǒng)一進(jìn)行編址。各占據(jù)統(tǒng)一地址空間的不同部分。優(yōu)點指令統(tǒng)一,靈活;訪問控制信號統(tǒng)一,使用同一組的地址/控制信號。

缺點內(nèi)存可用地址空間減小0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H6.1.4I/O端口編址方式6.1概述

9獨立編址外設(shè)地址空間和內(nèi)存地址空間相互獨立。優(yōu)點:內(nèi)存地址空間不受I/O編址的影響缺點:I/O指令功能較弱,使用不同的讀寫控制信號00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/O地址空間0000H106.2.0輸入輸出指令直接的輸入/輸出指令間接的輸入/輸出指令直接的輸入輸出指令提供端口號。如:IN AL,50H ;將50H端口的字節(jié)讀入ALIN AX,70H ;分別將70H、71H端口的內(nèi)容讀入AL、AHOUT44H,AL ;將AL中的內(nèi)容輸出到44H端口OUT80H,AX ;將AL、AH中的內(nèi)容分別輸出到80H、81H兩端口

6.2數(shù)據(jù)傳送方式11

間接的輸入輸出指令,地址由DX指出,如:

IN AL,DX ;從DX所指的端口中讀取

IN AX,DX ;從DX和DX+1所指出的兩個端口中讀取

OUTDX,AL ;將AL中的字節(jié)輸出到DX所指的端口中

OUTDX,AX ;將AL中的字節(jié)輸出到DX所指的端口中,同時將AH中的字節(jié)輸出到DX+1所指的端口中6.2數(shù)據(jù)傳送方式12輸入輸出指令注意點:①只能用累加器作為執(zhí)行輸入輸出的機(jī)構(gòu)②尋址范圍: 直接輸入輸出指令為0~255

間接輸入輸出指令為0~65535。6.2數(shù)據(jù)傳送方式6.2數(shù)據(jù)傳送方式CPU和輸入輸出設(shè)備之間有以下幾類信號:(1)數(shù)據(jù)信息,又分為:

數(shù)字量

模擬量開關(guān)量(2)狀態(tài)信息

(3)控制信息

146.2.1無條件傳送方式這是一種簡單的數(shù)據(jù)傳送方式,適用于任何時候均處于“準(zhǔn)備就緒”狀態(tài)的外部設(shè)備,CPU可以隨時執(zhí)行I/O指令來完成數(shù)據(jù)傳送操作。適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)優(yōu)點:軟件及接口硬件簡單缺點:只適用于簡單外設(shè),適應(yīng)范圍較窄156.2.2條件傳送方式(程序查詢方式)查詢方式的三個環(huán)節(jié):CPU從接口中讀取狀態(tài)字CPU檢測狀態(tài)字傳送數(shù)據(jù)16RD接D7查詢方式輸入17SCAN: MOV DX,S_ADDR IN AL,DX TEST AL,80H JZ SCAN MOV DX,D_ADDR IN AL,DXD_PORTS_PORT接口18接D0“0”為空閑READY查詢方式輸出19將數(shù)據(jù)端口和狀態(tài)端口共用一個,用SD_ADDR表示SCAN:MOV DX,SD_ADDR; 狀態(tài)、數(shù)據(jù)共用端口 IN AL,DX TEST AL,1 JNZ SCAN MOV AL,DATA OUT DX,AL接口D_PORTS_PORT20適用于外設(shè)并不總是準(zhǔn)備好,而且對傳送速率、傳送效率要求不高的場合。CPU在與外設(shè)交換數(shù)據(jù)前必須詢問外設(shè)狀態(tài)——“你準(zhǔn)備好沒有?”對外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對接口的要求:需要提供狀態(tài)端口優(yōu)點:軟件比較簡單缺點:CPU效率低,數(shù)據(jù)傳送的實時性差,速度較慢21CPU無需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在需要進(jìn)行數(shù)據(jù)傳送時才中斷CPU正在進(jìn)行的工作,讓CPU來為其服務(wù)。即CPU在沒有外設(shè)請求時可以去做更重要的事情,有請求時才去傳輸數(shù)據(jù),從而大大提高了CPU的利用率。優(yōu)點:CPU效率高,實時性好,速度快。缺點:程序編制較為復(fù)雜。6.2.3中斷方式數(shù)據(jù)傳送6.2.4DMA數(shù)據(jù)傳送方式(DirectMemoryAccess) DMA控制方式是一種完全由硬件(DMA控制器)完成輸入/輸出操作的工作方式,稱為直接存儲器存取控制方式。 DMA從CPU處接管系統(tǒng)總線的控制權(quán),使存儲器與高速外設(shè)之間直接進(jìn)行數(shù)據(jù)交換,即外設(shè)數(shù)據(jù)可以直接寫入存儲器,存儲器中的數(shù)據(jù)可直接讀出送給外設(shè),大大加快了數(shù)據(jù)傳送的速度。23例題 1、設(shè)狀態(tài)端口地址為60H,數(shù)據(jù)端口地址為61H,外部輸入信息準(zhǔn)備好狀態(tài)標(biāo)志位D0=1,請用查詢方式寫出讀入外部數(shù)據(jù)的程序段。程序段:WT1:INAL,60H ;從狀態(tài)端口讀入狀態(tài)信息

ANDAL,01H

;判斷D0=1? JZWT1 ;D0=0,返回再讀狀態(tài)信息

INAL,,61H ;D0=1,從數(shù)據(jù)端口讀入解:分析:這是查詢輸入。流程圖:242、設(shè)狀態(tài)端口地址為086H,數(shù)據(jù)端口地址為085H,外設(shè)忙碌狀態(tài)D7=1,請用查詢方式寫出CPU從存儲器緩沖區(qū)Buffer送出1000B的數(shù)據(jù)給外設(shè)的程序段。解:分析,這是查詢輸出。要求輸出1000字節(jié),流程圖:25LEASI,Buffer ;取Buffer的有效地址送SIMOVCX,1000 ;循環(huán)次數(shù)W1:MOVDX,086H ;狀態(tài)端口地址送DXINAL,DX

;從狀態(tài)端口讀入狀態(tài)信息ANDAL,80H ;BUSY=0?JNZW1 ;BUSY=1,返回等待MOVAL,[SI] ;BUSY=0,取數(shù)據(jù)

MOVDX,085H ;數(shù)據(jù)端口送DXOUTDX,AL ;數(shù)據(jù)從數(shù)據(jù)端口輸出 INCSI ;SI指向下一個字節(jié)數(shù)據(jù)LOOPW1 ;CX-1送CX≠0,循環(huán) HLT ;CX=0,傳送結(jié)束26

、、A15

~A0OUT指令將使總線的信號有效IN指令將使總線的信號有效AEN為“地址允許”信號,ISA總線控制信號,和地址總線一起參加譯碼。

例如:某外設(shè)接口有4個端口,地址為2F0H~2F3H,則其基地址為2F0H,由A15~A2譯碼得到,而A1、A0用來確定4個端口中的某一個。6.3I/O端口地址譯碼與讀寫控制27用門電路設(shè)計口地址譯碼電路28對1#端口的讀操作指令MOV DX,34EHIN AL,DX對2#端口的寫操作指令MOV DX,34EHOUT DX,AL29用譯碼器設(shè)計口地址譯碼電路30簡單的輸入接口舉例83FCH~83FFH譯碼器

K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&

A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系統(tǒng)總線信號≥1K5K4K3K2K1K0I1I2I4I5I6I731鎖存器:由D觸發(fā)器構(gòu)成通常一個器件包含8個D觸發(fā)器常用芯片:74LS273、74LS374應(yīng)用例子:發(fā)光二極管接口簡單的輸出接口舉例譯碼器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW74LS273R32輸入/輸出接口綜合應(yīng)用例子根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號共陽極7段數(shù)碼管結(jié)構(gòu)用74LS244作為輸入口,讀入開關(guān)K0~K3的狀態(tài)74LS244的地址假設(shè)為F1H用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管74LS273的地址假設(shè)為F0H當(dāng)開關(guān)的狀態(tài)分別為0000~1111時,在7段數(shù)碼管上對應(yīng)顯示’0’~’F’(7段碼表見下頁)33

符號形狀7段碼.gfedcba符號形狀7段碼.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’0111000134F0H=0000000011110000F1H=0000000011110001O1I1O2I2O3I3O4I4E1

K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7

abcdefgDP74068個反相器74LS273Rx8≥174LS138D0~D7IOWIORY0Y1&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3譯碼電路35相應(yīng)程序段如下: ……Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX,Seg7 ;取7段碼表基地址 MOV AH,0GO:

MOV DX,0F1H ;開關(guān)接口的地址為F1H IN AL,DX ;讀入開關(guān)狀態(tài)

AND AL,0FH ;保留低4位

MOV SI,AX ;作為7段碼表的表內(nèi)位移量

MOV AL,[BX+SI] ;取7段碼

MOV DX,0F0H ;7段數(shù)碼管接口的地址為F0H OUT DX,AL JMP GO36例:用查詢方式進(jìn)行輸出 外設(shè)狀態(tài)端口地址為3FBH,第5位(bit5)為狀態(tài)標(biāo)志(=1忙,=0準(zhǔn)備

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論