第7章輸入輸出接口_第1頁(yè)
第7章輸入輸出接口_第2頁(yè)
第7章輸入輸出接口_第3頁(yè)
第7章輸入輸出接口_第4頁(yè)
第7章輸入輸出接口_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章輸入輸出接口【本章重點(diǎn)】本章重點(diǎn)介紹輸入輸出接口的基本概念和輸入輸出接口的功能;著重討論不同外設(shè)數(shù)據(jù)傳送的不同方法及簡(jiǎn)單接口的應(yīng)用。

【本章難點(diǎn)】掌握無(wú)條件傳送和查詢傳送的工作原理,難點(diǎn)是接口芯片的應(yīng)用。7.1.1輸入/輸出接口

1.I/O接口的功能一個(gè)接口的基本功能是在系統(tǒng)總線和I/O設(shè)備之間傳輸信號(hào),提供緩沖作用,以滿足接口兩邊的時(shí)序要求。尋址功能輸入輸出功能聯(lián)絡(luò)功能速度匹配功能數(shù)據(jù)格式轉(zhuǎn)換功能中斷管理功能可編程功能7.1微型計(jì)算機(jī)的輸入/輸出接口

2.外設(shè)接口的編址方式每個(gè)接口部件都含有一組寄存器,CPU與外設(shè)進(jìn)行數(shù)據(jù)傳送時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口,每個(gè)端口都有一個(gè)端口地址。系統(tǒng)對(duì)各種寄存器的操作,實(shí)際上是通過尋址,對(duì)個(gè)端口地址的選擇和操作,因此外設(shè)接口(I/O端口)有兩種編址方式。(1)外設(shè)地址與內(nèi)存地址統(tǒng)一編址這種編址方式又稱為存儲(chǔ)器映射編址方式。在這種編址方式中,將外設(shè)接口地址和內(nèi)部存儲(chǔ)器地址統(tǒng)一安排在內(nèi)存的地址空間中。即把內(nèi)存地址分配給外設(shè),由外設(shè)來占用這些地址。用于外設(shè)的這些地址,存儲(chǔ)器不能再使用。(2)外設(shè)與內(nèi)存獨(dú)立編址在這種編址方式中,內(nèi)存地址空間和外設(shè)地址空間是相互獨(dú)立的。例如,在8086CPU中,內(nèi)存地址是連續(xù)的1M字節(jié),從00000H~FFFFFH,而外設(shè)的地址范圍從0000H~FFFFH。它們相互獨(dú)立,互不影響。7.1.2輸入/輸出的控制方式

概括起來,在微型計(jì)算機(jī)系統(tǒng)中,主要有如下4種傳送方式解決上述問題: ①無(wú)條件傳送 ②查詢傳送 ③中斷傳送 ④直接存貯器存取(DMA)方式

1.無(wú)條件傳送 在微機(jī)系統(tǒng)中,有一些簡(jiǎn)單外設(shè).當(dāng)它們工作時(shí),隨時(shí)都準(zhǔn)備好接收CPU的輸出數(shù)據(jù)或它們的數(shù)據(jù)隨時(shí)都是準(zhǔn)備好的,CPU什么時(shí)候讀均可以正確地讀到它們的數(shù)據(jù)。也就是說外設(shè)無(wú)條件準(zhǔn)備好向CPU提供數(shù)據(jù)或接收CPU送來的數(shù)據(jù)。在CPU與這樣的外設(shè)交換數(shù)據(jù)的過程中,數(shù)據(jù)交換與指令的執(zhí)行是同步的。因此也有人稱其為同步傳送。 無(wú)條件傳送方式是一種簡(jiǎn)單的輸入輸出方式,一般用于控制CPU與低速接口之間的信息交換.例如,開關(guān)、溫度、壓力流量等(A/D)轉(zhuǎn)換器。由于這些信號(hào)變換緩慢,當(dāng)需要采集這些數(shù)據(jù)時(shí),外設(shè)已經(jīng)將數(shù)據(jù)準(zhǔn)備就緒了,因此無(wú)需檢查端口的狀態(tài),就可以立即采集數(shù)據(jù)。由于數(shù)據(jù)保持時(shí)間相對(duì)于CPU的處理時(shí)間長(zhǎng)得多,故輸入端可直接用輸入緩沖器與CPU的數(shù)據(jù)總線相連。若外設(shè)是輸出設(shè)備,一般要求接口有鎖存能力,也就是CPU送給外設(shè)的數(shù)據(jù)應(yīng)該在接口中保持一段時(shí)間,其原因是外設(shè)的速度較慢,所以要求CPU送到接口的數(shù)據(jù)能保持到外設(shè)動(dòng)作相適應(yīng)的時(shí)間。

開關(guān)K看作一個(gè)簡(jiǎn)單的外設(shè)。K的狀態(tài)是確定的,要么閉合,要么打開。當(dāng)計(jì)算機(jī)通過外設(shè)接口讀K的狀態(tài)時(shí),一定會(huì)讀到指令執(zhí)行時(shí)刻K的狀態(tài).

當(dāng)CPU讀接口地址FFF7H時(shí),或門輸出為低電平。該電平使輸入接口三態(tài)門導(dǎo)通,則開關(guān)K的狀態(tài)就由數(shù)據(jù)線D0讀到CPU。判斷讀入數(shù)據(jù)D0=0時(shí),K閉合;D0=1時(shí),K打開。

【例7-1】圖中外設(shè)是簡(jiǎn)單的發(fā)光二極管.此外設(shè)的接口是用鎖存器來實(shí)現(xiàn)的.鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端。編寫點(diǎn)亮二極管的程序。

MOVAL,81H

MOVDX,0000H;送端口地址OUTDX,AL;點(diǎn)亮發(fā)光二極管 【例7-2】類似于例1中,讓接在Q0~Q7上的二極管自上而下輪流點(diǎn)亮3s,編寫程序?qū)崿F(xiàn)。

程序如下:

MOVAL,01H;使Q0為1,LED0先亮LOP:OUT0000H,AL;將信息送0000H端口

CALLDELAY3s;調(diào)用3S子程序

ROLAL,1;小循環(huán)左移1位

JMPLOP;循環(huán)點(diǎn)亮LED2.查詢方式 無(wú)條件傳送對(duì)于那些慢速的或總是準(zhǔn)備好的外設(shè)是適應(yīng)的。但是,許多外設(shè)并不總是準(zhǔn)備好的。CPU與這類外設(shè)交換數(shù)據(jù)可以采用程序查詢方式。 所謂查詢方式就是微型計(jì)算機(jī)利用程序不斷地詢問外部設(shè)備的狀態(tài),根據(jù)它們所處的狀態(tài)來實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。 為了實(shí)現(xiàn)這種工作方式,要求外部設(shè)備向微型計(jì)算機(jī)提供一個(gè)狀態(tài)信息。微型計(jì)算機(jī)校驗(yàn)外部設(shè)備所提供的狀態(tài)信息,即查詢外部設(shè)備,以便確定它的下一步操作。 圖7-3給出了查詢工作的示意圖。

CPU接口外設(shè)狀態(tài)數(shù)據(jù)控制圖7-3查詢工作方式示意圖(1)單一外設(shè)的查詢工作 最簡(jiǎn)單的情況是單一外設(shè)的情況。其采用查詢方式傳送數(shù)據(jù)的過程如下所述。如果CPU要從外設(shè)接收一個(gè)數(shù)據(jù),則CPU首先查詢外設(shè)的狀態(tài),看外設(shè)數(shù)據(jù)是否準(zhǔn)備好,若沒有準(zhǔn)備好,則等待;若外設(shè)已將數(shù)據(jù)準(zhǔn)備好,則CPU從外設(shè)讀取數(shù)據(jù),接收數(shù)據(jù)后,CPU向外設(shè)發(fā)響應(yīng)信號(hào),表示數(shù)據(jù)已被接收。外設(shè)收到響應(yīng)信號(hào)后,即開始下一個(gè)數(shù)據(jù)的準(zhǔn)備工作。 若CPU需要向外設(shè)輸出一個(gè)數(shù)據(jù),同樣,CPU首先查詢外設(shè)的狀態(tài),看其是否空閑,若正忙,則等待;若外設(shè)準(zhǔn)備就緒,處于空閑狀態(tài),則CPU向外設(shè)送出數(shù)據(jù)和輸出就緒信號(hào)。就緒信號(hào)用來通知外設(shè);CPU送來有效數(shù)據(jù)。外設(shè)接收數(shù)據(jù)后,向CPU發(fā)出數(shù)據(jù)已收到的狀態(tài)信息。這樣,一個(gè)數(shù)據(jù)的輸出過程就告結(jié)束。

取外設(shè)狀態(tài)外設(shè)準(zhǔn)備就緒傳送數(shù)據(jù)傳送完否開始NYNY結(jié)束 【例7-3】如圖7-5所示,現(xiàn)欲將48000H為首地址的順序100個(gè)單元的數(shù)據(jù),利用查詢方式輸出到外設(shè)。外設(shè)經(jīng)輸入輸出接口與8086的系統(tǒng)總線連接。CPU通過三態(tài)接口(74LS244)可以查詢外設(shè)的狀態(tài),而且當(dāng)外設(shè)狀態(tài)信號(hào)=1時(shí),可以接收CPU由鎖存器(74LS273)輸出的數(shù)據(jù)。=0時(shí),表示外設(shè)處于忙狀態(tài),不能接收數(shù)據(jù)。 程序如下:

START:MOVAX,4000H

MOVDS,AX

MOVSI,8000H

MOVCX,100GOON:MOVDX,00FFHWAIT:INAL,DX

ANDAL,01H

JZWAIT

MOVAL,[SI]

OUTDX,AL

INCSI

LOOPGOON

RET

圖7-5查詢工作方式的I/O接口(2)多個(gè)外設(shè)查詢工作方式 上面我們介紹了單個(gè)外設(shè)利用查詢方式的工作情況。當(dāng)系統(tǒng)中有多個(gè)外設(shè)時(shí),查詢方式工作的流程成圖如圖7-6所示。 從圖可以看出,CPU逐個(gè)外設(shè)進(jìn)行查詢。若發(fā)現(xiàn)那個(gè)外設(shè)準(zhǔn)備就緒,就對(duì)該外設(shè)實(shí)施數(shù)據(jù)傳送。然后再對(duì)下一外設(shè)查詢,依次循環(huán)。從而可以實(shí)現(xiàn),在查詢過程中,CPU不能做別的事情,這就大大降低了CPU的效率。而且,假如某一外設(shè)剛好在查詢過后處于就緒狀態(tài),那么它必須等到CPU查詢完所有外設(shè),再次查詢此外設(shè)時(shí)才能發(fā)現(xiàn)它處于就緒狀態(tài),而后對(duì)此外設(shè)服務(wù)。這樣就不能對(duì)外設(shè)進(jìn)行實(shí)時(shí)數(shù)據(jù)交換,這對(duì)許多實(shí)時(shí)性要求較高的外設(shè)來說,就有可能丟失數(shù)據(jù)。1號(hào)外設(shè)準(zhǔn)備就緒?2號(hào)外設(shè)準(zhǔn)備就緒?3號(hào)外設(shè)準(zhǔn)備就緒?n號(hào)外設(shè)準(zhǔn)備就緒?對(duì)1號(hào)外設(shè)服務(wù)對(duì)2號(hào)外設(shè)服務(wù)對(duì)3號(hào)外設(shè)服務(wù)對(duì)n號(hào)外設(shè)服務(wù)NNNNYYYY§7.2簡(jiǎn)單接口

三態(tài)門接口芯片 根據(jù)前面內(nèi)容的介紹,大家已經(jīng)了解到主機(jī)與外設(shè)之間的連接必須通過接口芯片來完成信息的傳送,如:信息的放大、隔離以及鎖存。接口芯片的類型非常繁多,在此我們介紹幾種常用的簡(jiǎn)單的接口芯片。 一個(gè)典型的三態(tài)門接口芯片(74LS244)如圖7-7所示。其中,DO0~DO7為8個(gè)輸入端,IO0~I(xiàn)O7為8個(gè)輸出端,,是兩個(gè)控制端,低電平有效,當(dāng)控制端有效時(shí),三態(tài)門導(dǎo)通;當(dāng)它們?yōu)楦唠娖綍r(shí),相應(yīng)的三態(tài)門口呈現(xiàn)高阻狀態(tài)。三態(tài)門只能作為輸入信號(hào)接口而不能作為輸出接口,這是因?yàn)?4LS244三態(tài)門本身沒有對(duì)信號(hào)的保持或鎖存能力。圖7-774LS244簡(jiǎn)單示意圖圖7-874LS374簡(jiǎn)單示意圖鎖存器接口芯片 前面提到的三態(tài)門器件,可以用作固定狀態(tài)的輸入接口。但是,由于它沒有保持(或稱鎖存)數(shù)據(jù)的能力,無(wú)法直接用它實(shí)現(xiàn)數(shù)據(jù)的輸出接口。最簡(jiǎn)單的輸出接口芯片74LS374,它是一種帶有三態(tài)輸出的鎖存器,其引線圖如圖7.8所示。其中D0~D7為8個(gè)輸入端,Q0~Q7為8個(gè)輸出端,為允許輸出信號(hào),低電平有效,CP脈沖上升沿鎖存,與8086CPU連接時(shí),一般接ALE引腳。只有當(dāng)=0時(shí),74LS374的輸出三態(tài)門才導(dǎo)通。=1時(shí),74LS374的輸出呈現(xiàn)高阻狀態(tài)。由于74LS374是8位的帶有三態(tài)輸出的鎖存器,具有更大的使用靈活性,故它既可以作為輸入接口,又可以用作輸出接口。 以下我們舉例說明各接口的使用。

簡(jiǎn)單接口舉例1.已知8D鎖存器74LS374用作輸出接口,與CPU總線連接圖如圖7-9所示。試編制一個(gè)接口程序,使其在Q0輸出端產(chǎn)生一個(gè)周期和幅度均任意的方波,如圖所示。D0~D7D0~D7Q0CP74LS374AEN270H圖7-9方波輸出接口電路

MOVDX,270H;DX指向輸出端口MM:MOVAL,01H

OUTDX,AL;輸出方波的上升沿

CALLDELAY;延時(shí)

MOVAL,00H

OUTDX,AL;輸出方波的上升沿

CALLDELAY;延時(shí)

JMPMM;循環(huán)(2)接口電路 這段七段LED數(shù)碼管與微機(jī)系統(tǒng)總線有多種接口方式。此處介紹用74LS138作為譯碼器進(jìn)行選片,用74LS273作為輸出接口,用三態(tài)門作為按鈕K的輸出接口,其連接圖如圖7-11所示。 在圖7-11中,要使數(shù)碼管顯示某數(shù)字或符號(hào),必須用軟件來產(chǎn)生相應(yīng)的數(shù)據(jù)。這是因?yàn)榻涌陔娐分袥]有硬件譯碼器。例如,要顯示數(shù)字3,則LED的a、b、c、d、g各段應(yīng)亮而e、f應(yīng)不亮。結(jié)合圖,則應(yīng)向74LS273寫數(shù)據(jù)4FH。為了方便,可在內(nèi)存中建立有關(guān)顯示的數(shù)字(或符號(hào))與相對(duì)應(yīng)輸出數(shù)據(jù)的對(duì)應(yīng)表。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論