第7章 微型計(jì)算機(jī)的輸入輸出課件_第1頁
第7章 微型計(jì)算機(jī)的輸入輸出課件_第2頁
第7章 微型計(jì)算機(jī)的輸入輸出課件_第3頁
第7章 微型計(jì)算機(jī)的輸入輸出課件_第4頁
第7章 微型計(jì)算機(jī)的輸入輸出課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微處理器CPU存儲(chǔ)器ROM存儲(chǔ)器RAMI/O接口外設(shè)外設(shè)ABDBCB微型計(jì)算機(jī)的基本組成微處存儲(chǔ)器存儲(chǔ)器I/O接口外設(shè)外設(shè)ABDBCB微型計(jì)算機(jī)的基17.1接口的基本概念7.1.1接口電路接口就是連接CPU與外設(shè)之間的部件,它在CPU與外設(shè)之間起到信息中轉(zhuǎn)作用。7.1接口的基本概念7.1.1接口電路27.1.2為什么要用接口對(duì)于外部設(shè)備來說,功能是多種多樣的,而且種類繁多,信號(hào)類型十分復(fù)雜,具有以下特點(diǎn):⑴品種繁多⑵信息處理速度差別大⑶信號(hào)類型與電平種類不同(4)信息結(jié)構(gòu)格式復(fù)雜因此,在微型計(jì)算機(jī)和外設(shè)之間必須有輸入/輸出(I/O)接口,以使CPU與外設(shè)達(dá)到最佳匹配,實(shí)現(xiàn)高效、可靠的信息交換。7.1.2為什么要用接口對(duì)于外部設(shè)備來說,功能是多種多樣的,37.1.3接口的功能⑴數(shù)據(jù)緩沖功能

⑵尋址功能。

⑶聯(lián)絡(luò)功能

⑷數(shù)據(jù)轉(zhuǎn)換功能

⑸輸入輸出功能

⑹中斷管理功能

⑺提供時(shí)序控制功能。

⑻可編程功能。

一個(gè)具體的接口電路,可以具有以上一個(gè)或多個(gè)功能。7.1.3接口的功能⑴數(shù)據(jù)緩沖功能一個(gè)具體的接口電路47.1.4CPU與外設(shè)之間的信號(hào)CPU與輸入/輸出設(shè)備之間傳送的信號(hào)1、數(shù)據(jù)信息數(shù)字量二進(jìn)制表示的字母,數(shù)據(jù)模擬量開關(guān)量2、狀態(tài)信息3、控制信息準(zhǔn)備好READYBUSY7.1.4CPU與外設(shè)之間的信號(hào)CPU與輸入/輸出設(shè)備之57.1.5接口的基本組成接口部件通常都包含一組寄存器,用來實(shí)現(xiàn)數(shù)據(jù)信息、狀態(tài)信息和控制信息的傳送。這些能與CPU交換信息的寄存器稱為I/O端口寄存器,簡稱“端口”。每一個(gè)端口都有一個(gè)端口地址(又叫做端口號(hào))。接口主要由若干個(gè)端口組成,一個(gè)接口還要有一些相應(yīng)的控制邏輯。因此一個(gè)完整的接口應(yīng)由若干個(gè)端口加相應(yīng)的控制邏輯組成。7.1.5接口的基本組成接口部件通常都包含一組寄存器,用來6接口的基本組成CPU數(shù)據(jù)端口狀態(tài)端口控制端口外設(shè)DB數(shù)據(jù)信號(hào)ABCB狀態(tài)信號(hào)控制信號(hào)I/O接口接口的基本組成CPU數(shù)據(jù)端口狀態(tài)端口控制端口外設(shè)DB數(shù)據(jù)信號(hào)71.接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部:⑴數(shù)據(jù)寄存器(數(shù)據(jù)端口)保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)⑵狀態(tài)寄存器(狀態(tài)端口)保存外設(shè)或接口電路的狀態(tài)⑶控制寄存器(控制端口)保存CPU給外設(shè)或接口電路的命令1.接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制8端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)寄存器一個(gè)接口電路可以具有多個(gè)I/O端口,每個(gè)端口用來保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息輸入、輸出端口可以是同一個(gè)I/O地址狀態(tài)端口和控制端口可以是同一個(gè)I/O地址端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)寄存器97.2I/O端口編址技術(shù)方式與譯碼7.2.1I/O端口編址方式接口電路占用的I/O端口有兩類編排形式I/O端口與存儲(chǔ)器統(tǒng)一編址它們共享一個(gè)地址空間如M6800I/O端口單獨(dú)編址I/O地址空間獨(dú)立于存儲(chǔ)地址空間如8086/80887.2I/O端口編址技術(shù)方式與譯碼7.2.1I/O端101、I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):不需要專門的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間程序不易閱讀(不易分清訪存和訪問外設(shè))內(nèi)存部分I/O部分存儲(chǔ)器空間00000FFFFF1、I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):內(nèi)存I/O存儲(chǔ)器空間00112、I/O端口單獨(dú)編址優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對(duì)簡單專門的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒有存儲(chǔ)器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF80x86采用I/O端口獨(dú)立編址2、I/O端口單獨(dú)編址優(yōu)點(diǎn):內(nèi)存I/OFFFFF0FFFF8123、8086獨(dú)立編址方式的端口訪問輸入指令I(lǐng)NAL,i8 ;字節(jié)輸入,直接尋址INAL,DX ;字節(jié)輸入,間接尋址INAX,i8 ;字輸入,直接尋址INAX,DX ;字輸入,間接尋址輸出指令OUTi8,AL ;字節(jié)輸出,直接尋址OUTDX,AL ;字節(jié)輸出,間接尋址OUTi8,AL ;字輸出,直接尋址OUTDX,AL ;字輸出,間接尋址3、8086獨(dú)立編址方式的端口訪問輸入指令138088/8086的I/O端口8088只能通過輸入輸出指令與外設(shè)進(jìn)行數(shù)據(jù)交換;呈現(xiàn)給程序員的外設(shè)是端口(Port),即I/O地址8086用于尋址外設(shè)端口的地址線為16條,端口最多為216=65536(64K)個(gè),端口號(hào)為0000H~FFFFH每個(gè)端口用于傳送一個(gè)字節(jié)的外設(shè)數(shù)據(jù)8088/8086的I/O端口8088只能通過輸入輸出指令與14I/O尋址方式8088/8086的端口有64K個(gè),無需分段,設(shè)計(jì)有兩種尋址方式直接尋址:只用于尋址00H~FFH前256個(gè)端口,操作數(shù)i8表示端口號(hào)InAL60H間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號(hào)MOVDX300HINAL,DX對(duì)大于FFH的端口只能采用間接尋址方式I/O尋址方式8088/8086的端口有64K個(gè),無需分段,15數(shù)據(jù)交換方式如果輸入輸出一個(gè)字節(jié),利用AL寄存器如果輸入輸出一個(gè)字,利用AX寄存器輸入一個(gè)字,實(shí)際上是從連續(xù)兩個(gè)端口輸入兩個(gè)字節(jié),分別送AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)輸出一個(gè)字,實(shí)際上是將AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)兩個(gè)字節(jié)的內(nèi)容輸出給連續(xù)兩個(gè)端口數(shù)據(jù)交換方式如果輸入輸出一個(gè)字節(jié),利用AL寄存器16I/O指令應(yīng)用舉例直接尋址方式的(8位端口):INAL,60HOUT61H,AL間接尋址方式的(8位端口):MOVDX,300HINAL,DXMOVDX,301HOUTDX,AL如果訪問16位端口,把AL替換成AX即可I/O指令應(yīng)用舉例直接尋址方式的(8位端口):177.3CPU與I/O設(shè)備之間數(shù)據(jù)的傳送方式CPU和外界交換信息的過程稱為輸入/輸出,又稱為通信。CPU為了與各種不同的外設(shè)進(jìn)行數(shù)據(jù)傳送,必須采用多種控制方式。通常采用無條件方式、條件方式、中斷方式和DMA方式這樣四種數(shù)據(jù)傳送方式。7.3CPU與I/O設(shè)備之間數(shù)據(jù)的傳送方式CPU和外界交18程序傳送方式程序傳送方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程序的控制下實(shí)現(xiàn)的。程序傳送方式又可分為無條件傳送和條件傳送兩種方式程序傳送方式程序傳送方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程191.無條件傳送方式

無條件傳送方式一般用在外設(shè)總是處于就緒狀態(tài)的條件下進(jìn)行的一種數(shù)據(jù)傳送方式,一般適合于數(shù)據(jù)傳送不太頻繁的情況,如對(duì)于開關(guān)、數(shù)碼顯示器等一些簡單外設(shè)的操作1.無條件傳送方式無條件傳送方式一般用在外設(shè)總是處于就緒狀20無條件傳送流程返回?zé)o條件傳送流程返回212查詢傳送方式

條件傳送方式也稱程序查詢方式,即CPU與外設(shè)間采用應(yīng)答方式來進(jìn)行數(shù)據(jù)交換。這種方式的特點(diǎn)是:在數(shù)據(jù)傳送之前,CPU要執(zhí)行一段查詢程序,不斷讀取并測試外設(shè)的狀態(tài),只有當(dāng)外設(shè)處于準(zhǔn)備就緒(指輸入設(shè)備)或空閑狀態(tài)(指輸出設(shè)備)時(shí),CPU才執(zhí)行輸入或輸出指令進(jìn)行數(shù)據(jù)傳送,否則,CPU循環(huán)等待,直到外設(shè)準(zhǔn)備就緒為止演示2查詢傳送方式條件傳送方式也稱程序查詢方式,即CPU與22查詢傳送流程返回查詢傳送流程返回23查詢輸入設(shè)數(shù)據(jù)輸入端口的地址為300H,狀態(tài)端口的地址為304H,利用查詢方式從數(shù)據(jù)輸入端口連續(xù)讀取8個(gè)字節(jié)的數(shù)據(jù),存放在當(dāng)前數(shù)據(jù)段內(nèi)存起始單元為2000H的區(qū)域中,可用下面的子程序段來實(shí)現(xiàn):查詢輸入設(shè)數(shù)據(jù)輸入端口的地址為300H,狀態(tài)端口的地址為3024

MOVBX,2000H ;初始化數(shù)據(jù)指針 MOVCX,0008H ;循環(huán)計(jì)數(shù)值RLP:MOVDX,304H ;指向狀態(tài)端口RLP1:INAL,DX ;讀取狀態(tài)字 TESTAL,01H ;檢測READY是否置“1” JZRLP1 ;未就緒,繼續(xù)查詢 MOVDX,300H ;已就緒,指向數(shù)據(jù)輸入端口 INAL,DX ;讀取數(shù)據(jù) MOV[BX],AL ;送到指定內(nèi)存 INCBX ;調(diào)整數(shù)據(jù)指針 LOOPRLP ;循環(huán),準(zhǔn)備讀取下一個(gè)字節(jié) RET ;讀取完,返回 MOVBX,2000H ;初始化數(shù)據(jù)指針25查詢輸出設(shè)數(shù)據(jù)輸出端口的地址為302H,狀態(tài)端口的地址為304H,利用查詢方式向數(shù)據(jù)輸出端口連續(xù)發(fā)送8個(gè)字節(jié)的數(shù)據(jù),這些數(shù)據(jù)存放在當(dāng)前數(shù)據(jù)段內(nèi)存起始單元為1000H的區(qū)域中,可用下面的子程序段來實(shí)現(xiàn):查詢輸出設(shè)數(shù)據(jù)輸出端口的地址為302H,狀態(tài)端口的地址為3026MOVBX,1000H ;初始化數(shù)據(jù)指針MOVCX,0008H ;循環(huán)計(jì)數(shù)值WLP: MOVDX,304H ;指向狀態(tài)端口WLP1: INAL,DX ;讀取狀態(tài)字 TESTAL,02H ;檢測BUSY是否置“1” JNZWLP1 ;設(shè)備忙,繼續(xù)查詢 MOVDX,302H ;已就緒,指向數(shù)據(jù)輸入端口 MOVAL,[BX] ;從內(nèi)存取出數(shù)據(jù) OUTDX,AL ;發(fā)送數(shù)據(jù) INCBX ;調(diào)整數(shù)據(jù)指針 LOOPWLP;循環(huán),準(zhǔn)備發(fā)送下一個(gè)字節(jié) RET ;發(fā)送完,返回MOVBX,1000H ;初始化數(shù)據(jù)277.3.2中斷傳送方式

如果外設(shè)需要CPU為其服務(wù)時(shí),則向CPU發(fā)出請(qǐng)求。CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去為請(qǐng)求中斷的外設(shè)(中斷源)服務(wù)。中斷服務(wù)完畢后,CPU又返回繼續(xù)執(zhí)行它原來的任務(wù),即從原斷點(diǎn)處繼續(xù)執(zhí)行程序。這種方法就稱為中斷傳送方式7.3.2中斷傳送方式如果外設(shè)需要CPU為其服務(wù)時(shí),則28中斷傳送流程返回中斷傳送流程返回29中斷傳送方式的特點(diǎn)①CPU與外設(shè)在大部分時(shí)間內(nèi)并行工作,有效地提高了計(jì)算機(jī)的效率。②具有實(shí)時(shí)響應(yīng)能力,可適用于實(shí)時(shí)控制場合③及時(shí)處理異常情況,提高計(jì)算機(jī)的可靠性。中斷方式同程序查詢方式相比,硬件結(jié)構(gòu)相對(duì)復(fù)雜一些,服務(wù)開銷時(shí)間也較大。但其最大的特點(diǎn)就是CPU效率較高,并且具有實(shí)時(shí)響應(yīng)能力中斷傳送方式的特點(diǎn)①CPU與外設(shè)在大部分時(shí)間內(nèi)并行工作,有效307.3.3DMA傳送方式

外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送不經(jīng)過CPU,傳送過程也不需要CPU干預(yù),在外設(shè)和內(nèi)存之間開設(shè)直接通道由一個(gè)專門的硬件控制電路來直接控制外設(shè)與內(nèi)存之間的數(shù)據(jù)交換,從而提高數(shù)據(jù)傳送速度和CPU的效率,而且CPU僅在傳送開始前和傳送結(jié)束后花費(fèi)很少的時(shí)間做一些初始化處理。這種方法就是直接存儲(chǔ)器存取方式,簡稱DMA方式,用來控制DMA傳送的硬件控制電路稱為DMA控制器,簡稱DMAC7.3.3DMA傳送方式外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送不經(jīng)過C31DMA傳送流程返回DMA傳送流程返回32DMA傳送的特點(diǎn)采用DMA傳送方式是讓存儲(chǔ)器與外設(shè),或外設(shè)與外設(shè)之間直接交換數(shù)據(jù),不需要程序控制,不需經(jīng)過累加器,減少了中間環(huán)節(jié),并且內(nèi)存地址的修改、傳送完畢的結(jié)束報(bào)告等都是由硬件來完成,因此大大提高了傳輸速度。DMA傳送的特點(diǎn)采用DMA傳送方式是讓存儲(chǔ)器與外設(shè),或外設(shè)與33INAL,21H返回INAL,21H返回34OUT43H,AL返回OUT43H,AL返回35微處理器CPU存儲(chǔ)器ROM存儲(chǔ)器RAMI/O接口外設(shè)外設(shè)ABDBCB微型計(jì)算機(jī)的基本組成微處存儲(chǔ)器存儲(chǔ)器I/O接口外設(shè)外設(shè)ABDBCB微型計(jì)算機(jī)的基367.1接口的基本概念7.1.1接口電路接口就是連接CPU與外設(shè)之間的部件,它在CPU與外設(shè)之間起到信息中轉(zhuǎn)作用。7.1接口的基本概念7.1.1接口電路377.1.2為什么要用接口對(duì)于外部設(shè)備來說,功能是多種多樣的,而且種類繁多,信號(hào)類型十分復(fù)雜,具有以下特點(diǎn):⑴品種繁多⑵信息處理速度差別大⑶信號(hào)類型與電平種類不同(4)信息結(jié)構(gòu)格式復(fù)雜因此,在微型計(jì)算機(jī)和外設(shè)之間必須有輸入/輸出(I/O)接口,以使CPU與外設(shè)達(dá)到最佳匹配,實(shí)現(xiàn)高效、可靠的信息交換。7.1.2為什么要用接口對(duì)于外部設(shè)備來說,功能是多種多樣的,387.1.3接口的功能⑴數(shù)據(jù)緩沖功能

⑵尋址功能。

⑶聯(lián)絡(luò)功能

⑷數(shù)據(jù)轉(zhuǎn)換功能

⑸輸入輸出功能

⑹中斷管理功能

⑺提供時(shí)序控制功能。

⑻可編程功能。

一個(gè)具體的接口電路,可以具有以上一個(gè)或多個(gè)功能。7.1.3接口的功能⑴數(shù)據(jù)緩沖功能一個(gè)具體的接口電路397.1.4CPU與外設(shè)之間的信號(hào)CPU與輸入/輸出設(shè)備之間傳送的信號(hào)1、數(shù)據(jù)信息數(shù)字量二進(jìn)制表示的字母,數(shù)據(jù)模擬量開關(guān)量2、狀態(tài)信息3、控制信息準(zhǔn)備好READYBUSY7.1.4CPU與外設(shè)之間的信號(hào)CPU與輸入/輸出設(shè)備之407.1.5接口的基本組成接口部件通常都包含一組寄存器,用來實(shí)現(xiàn)數(shù)據(jù)信息、狀態(tài)信息和控制信息的傳送。這些能與CPU交換信息的寄存器稱為I/O端口寄存器,簡稱“端口”。每一個(gè)端口都有一個(gè)端口地址(又叫做端口號(hào))。接口主要由若干個(gè)端口組成,一個(gè)接口還要有一些相應(yīng)的控制邏輯。因此一個(gè)完整的接口應(yīng)由若干個(gè)端口加相應(yīng)的控制邏輯組成。7.1.5接口的基本組成接口部件通常都包含一組寄存器,用來41接口的基本組成CPU數(shù)據(jù)端口狀態(tài)端口控制端口外設(shè)DB數(shù)據(jù)信號(hào)ABCB狀態(tài)信號(hào)控制信號(hào)I/O接口接口的基本組成CPU數(shù)據(jù)端口狀態(tài)端口控制端口外設(shè)DB數(shù)據(jù)信號(hào)421.接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部:⑴數(shù)據(jù)寄存器(數(shù)據(jù)端口)保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)⑵狀態(tài)寄存器(狀態(tài)端口)保存外設(shè)或接口電路的狀態(tài)⑶控制寄存器(控制端口)保存CPU給外設(shè)或接口電路的命令1.接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制43端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)寄存器一個(gè)接口電路可以具有多個(gè)I/O端口,每個(gè)端口用來保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息輸入、輸出端口可以是同一個(gè)I/O地址狀態(tài)端口和控制端口可以是同一個(gè)I/O地址端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)寄存器447.2I/O端口編址技術(shù)方式與譯碼7.2.1I/O端口編址方式接口電路占用的I/O端口有兩類編排形式I/O端口與存儲(chǔ)器統(tǒng)一編址它們共享一個(gè)地址空間如M6800I/O端口單獨(dú)編址I/O地址空間獨(dú)立于存儲(chǔ)地址空間如8086/80887.2I/O端口編址技術(shù)方式與譯碼7.2.1I/O端451、I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):不需要專門的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間程序不易閱讀(不易分清訪存和訪問外設(shè))內(nèi)存部分I/O部分存儲(chǔ)器空間00000FFFFF1、I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):內(nèi)存I/O存儲(chǔ)器空間00462、I/O端口單獨(dú)編址優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對(duì)簡單專門的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒有存儲(chǔ)器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF80x86采用I/O端口獨(dú)立編址2、I/O端口單獨(dú)編址優(yōu)點(diǎn):內(nèi)存I/OFFFFF0FFFF8473、8086獨(dú)立編址方式的端口訪問輸入指令I(lǐng)NAL,i8 ;字節(jié)輸入,直接尋址INAL,DX ;字節(jié)輸入,間接尋址INAX,i8 ;字輸入,直接尋址INAX,DX ;字輸入,間接尋址輸出指令OUTi8,AL ;字節(jié)輸出,直接尋址OUTDX,AL ;字節(jié)輸出,間接尋址OUTi8,AL ;字輸出,直接尋址OUTDX,AL ;字輸出,間接尋址3、8086獨(dú)立編址方式的端口訪問輸入指令488088/8086的I/O端口8088只能通過輸入輸出指令與外設(shè)進(jìn)行數(shù)據(jù)交換;呈現(xiàn)給程序員的外設(shè)是端口(Port),即I/O地址8086用于尋址外設(shè)端口的地址線為16條,端口最多為216=65536(64K)個(gè),端口號(hào)為0000H~FFFFH每個(gè)端口用于傳送一個(gè)字節(jié)的外設(shè)數(shù)據(jù)8088/8086的I/O端口8088只能通過輸入輸出指令與49I/O尋址方式8088/8086的端口有64K個(gè),無需分段,設(shè)計(jì)有兩種尋址方式直接尋址:只用于尋址00H~FFH前256個(gè)端口,操作數(shù)i8表示端口號(hào)InAL60H間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號(hào)MOVDX300HINAL,DX對(duì)大于FFH的端口只能采用間接尋址方式I/O尋址方式8088/8086的端口有64K個(gè),無需分段,50數(shù)據(jù)交換方式如果輸入輸出一個(gè)字節(jié),利用AL寄存器如果輸入輸出一個(gè)字,利用AX寄存器輸入一個(gè)字,實(shí)際上是從連續(xù)兩個(gè)端口輸入兩個(gè)字節(jié),分別送AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)輸出一個(gè)字,實(shí)際上是將AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)兩個(gè)字節(jié)的內(nèi)容輸出給連續(xù)兩個(gè)端口數(shù)據(jù)交換方式如果輸入輸出一個(gè)字節(jié),利用AL寄存器51I/O指令應(yīng)用舉例直接尋址方式的(8位端口):INAL,60HOUT61H,AL間接尋址方式的(8位端口):MOVDX,300HINAL,DXMOVDX,301HOUTDX,AL如果訪問16位端口,把AL替換成AX即可I/O指令應(yīng)用舉例直接尋址方式的(8位端口):527.3CPU與I/O設(shè)備之間數(shù)據(jù)的傳送方式CPU和外界交換信息的過程稱為輸入/輸出,又稱為通信。CPU為了與各種不同的外設(shè)進(jìn)行數(shù)據(jù)傳送,必須采用多種控制方式。通常采用無條件方式、條件方式、中斷方式和DMA方式這樣四種數(shù)據(jù)傳送方式。7.3CPU與I/O設(shè)備之間數(shù)據(jù)的傳送方式CPU和外界交53程序傳送方式程序傳送方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程序的控制下實(shí)現(xiàn)的。程序傳送方式又可分為無條件傳送和條件傳送兩種方式程序傳送方式程序傳送方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程541.無條件傳送方式

無條件傳送方式一般用在外設(shè)總是處于就緒狀態(tài)的條件下進(jìn)行的一種數(shù)據(jù)傳送方式,一般適合于數(shù)據(jù)傳送不太頻繁的情況,如對(duì)于開關(guān)、數(shù)碼顯示器等一些簡單外設(shè)的操作1.無條件傳送方式無條件傳送方式一般用在外設(shè)總是處于就緒狀55無條件傳送流程返回?zé)o條件傳送流程返回562查詢傳送方式

條件傳送方式也稱程序查詢方式,即CPU與外設(shè)間采用應(yīng)答方式來進(jìn)行數(shù)據(jù)交換。這種方式的特點(diǎn)是:在數(shù)據(jù)傳送之前,CPU要執(zhí)行一段查詢程序,不斷讀取并測試外設(shè)的狀態(tài),只有當(dāng)外設(shè)處于準(zhǔn)備就緒(指輸入設(shè)備)或空閑狀態(tài)(指輸出設(shè)備)時(shí),CPU才執(zhí)行輸入或輸出指令進(jìn)行數(shù)據(jù)傳送,否則,CPU循環(huán)等待,直到外設(shè)準(zhǔn)備就緒為止演示2查詢傳送方式條件傳送方式也稱程序查詢方式,即CPU與57查詢傳送流程返回查詢傳送流程返回58查詢輸入設(shè)數(shù)據(jù)輸入端口的地址為300H,狀態(tài)端口的地址為304H,利用查詢方式從數(shù)據(jù)輸入端口連續(xù)讀取8個(gè)字節(jié)的數(shù)據(jù),存放在當(dāng)前數(shù)據(jù)段內(nèi)存起始單元為2000H的區(qū)域中,可用下面的子程序段來實(shí)現(xiàn):查詢輸入設(shè)數(shù)據(jù)輸入端口的地址為300H,狀態(tài)端口的地址為3059

MOVBX,2000H ;初始化數(shù)據(jù)指針 MOVCX,0008H ;循環(huán)計(jì)數(shù)值RLP:MOVDX,304H ;指向狀態(tài)端口RLP1:INAL,DX ;讀取狀態(tài)字 TESTAL,01H ;檢測READY是否置“1” JZRLP1 ;未就緒,繼續(xù)查詢 MOVDX,300H ;已就緒,指向數(shù)據(jù)輸入端口 INAL,DX ;讀取數(shù)據(jù) MOV[BX],AL ;送到指定內(nèi)存 INCBX ;調(diào)整數(shù)據(jù)指針 LOOPRLP ;循環(huán),準(zhǔn)備讀取下一個(gè)字節(jié) RET ;讀取完,返回 MOVBX,2000H ;初始化數(shù)據(jù)指針60查詢輸出設(shè)數(shù)據(jù)輸出端口的地址為302H,狀態(tài)端口的地址為304H,利用查詢方式向數(shù)據(jù)輸出端口連續(xù)發(fā)送8個(gè)字節(jié)的數(shù)據(jù),這些數(shù)據(jù)存放在當(dāng)前數(shù)據(jù)段內(nèi)存起始單元為1000H的區(qū)域中,可用下面的子程序段來實(shí)現(xiàn):查詢輸出設(shè)數(shù)據(jù)輸出端口的地址為302H,狀態(tài)端口的地址為3061MOVBX,1000H ;初始化數(shù)據(jù)指針MOVCX,0008H ;循環(huán)計(jì)數(shù)值WLP: MOVDX,304H ;指向狀態(tài)端口WLP1: INAL,DX ;讀取狀態(tài)字 TESTAL,02H ;檢測BUSY

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論