微機(jī)原理第七章輸入輸出接口_第1頁
微機(jī)原理第七章輸入輸出接口_第2頁
微機(jī)原理第七章輸入輸出接口_第3頁
微機(jī)原理第七章輸入輸出接口_第4頁
微機(jī)原理第七章輸入輸出接口_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章輸入/輸出接口

7.討既述

7.2CPU與外設(shè)數(shù)據(jù)傳送的方式

7.3可編程計數(shù)器/定時器8253

7.4串行通訊和串行接口

7.5并行接口

7.6DMA控制器8237

7.7D/A和A/D轉(zhuǎn)換技術(shù)

7.1概述

、接口電路的分類和功能

外設(shè)必須通過接口電路與CPU相連接

數(shù)

據(jù)

控制

接口電路設(shè)

態(tài)線

、接口電路的分類和功能

接口電路按通用性分為兩類:通用接口和專用接口

通用接口:可供多種外部設(shè)備使用的標(biāo)準(zhǔn)接口,目的是使微機(jī)正常

工作

通用接口通常制造成集成電路芯片,稱為接口芯片。

最初的IBM-PC使用了6塊接口芯片:8284、8288、8255、8259

8237、8253

后來的微機(jī)將這些芯片集成為大規(guī)模集成電路芯片,稱為芯片

組。

如82430TX芯片組,由兩片芯片組成:

北橋:82439TX

南橋:82371AB

PemimProaeasor

?一、接口電路的分類和功能

、接口電路的分類和功能

專用接口:為某種用途或某類外設(shè)而專門設(shè)計的接口電路,目

在于擴(kuò)充微機(jī)系統(tǒng)的功能。

專用接口通常制造成接口卡,插在主板總線插槽上使用。

通用接口和專用接口的界限并不嚴(yán)格。

按照可編程性,接口芯片分成硬步線邏輯接口芯片和可編程接口

-4-HL_C

心片o

可編程接口芯片的功能可以由指令來控制0

、接口電路的分類和功能

接口電路的功能:

1)緩沖鎖存數(shù)據(jù)P.228

2)地址譯碼

3)傳遞命令

4)碼制轉(zhuǎn)換

5)電平轉(zhuǎn)換

二、接口電路的基本結(jié)構(gòu)P.196

接口電路通常包含一組能夠與處理器交換信息的寄存器,稱為I/O

端口寄存器,簡稱為I/O端口

1)數(shù)據(jù)端口——存放數(shù)據(jù)信息

2)狀態(tài)端口——存放狀態(tài)信息,即反映外設(shè)當(dāng)前工作狀態(tài)的信息

3)控制端口——存放控制信息

狀態(tài)信息與控制信息可以廣義地看作數(shù)據(jù)信息,因此可以通過

數(shù)據(jù)總線傳送

三、I/O端口的編址方式

?I/O端口與存儲單元統(tǒng)一編址

?I/O端口獨立編址

PC系列機(jī)采用I/O端口獨立編址方式

Port0(32位)

三、I/O端口的編址方式

端口地址是一種重要資源

^Microsoft系統(tǒng)信息*>口|x|

文件星)編輯⑥查看②工具d)幫助⑻

H|昌|”電1

系統(tǒng)信息I/O范圍設(shè)備

臼硬件資源xOOOO-xOOOF直接內(nèi)存訪問控制器

沖突/共享x0020-x0021可編程的中斷控制器

DMAx0040-x0043系統(tǒng)計時器

強(qiáng)制硬件x0060-x0060標(biāo)淮101/102建或Microsoft自然鍵盤

x0061-x0061系統(tǒng)揚(yáng)聲器

標(biāo)港健或自然犍盤

IRQsx0064-x0064101/102Microsoft

系統(tǒng)實時鐘

內(nèi)存xOOTO-xOOTlCMOS/

直接內(nèi)存訪問控制器

?殂件x0080-x0090

國軟件環(huán)境x0094-x009F直接內(nèi)存訪問控制器

xOOAO-xOOAl可編程的中斷控制器

xOOCO-xOODE直接內(nèi)存訪問控制器

xOOFO-xOOFO數(shù)值數(shù)據(jù)處理器

xOlTO-x0177Intel82371AB/EBPCIBusMasterIDEContr

xOlTO—x0177SecondaryIDEcontroller(dual£i£o)

xOlFO-xOlFTIntel82371AB/EBPCIBusMasterIDEContr

xOlFO-x01F7PrimaryIDEcontroller(dualfifo)

卜11?1

若需要幫助,請按F1|當(dāng)前的案統(tǒng)凝

,三、I/O端口的編址方式

-----------------------------------------------------------------

,?端口的尋址P.83

.?把端口地址放在DX寄存器中,對該端口進(jìn)行讀寫

?INAL,DX

OUTDX,AL

.——可尋址的端口號為0?65535(FFFFH)

L<?端口地址小于或等于FFH(255),可以用立即數(shù)表示端口地址

I.INAL,42H

OUT43H,AL

7.2CPU與外設(shè)數(shù)據(jù)傳送的方式

無條件傳送

程序傳送方式

程序查詢傳送(條件傳送)

中斷傳送方式

DMA傳送方式

、程序傳送方式

CPU與外設(shè)間的數(shù)據(jù)交換在程序控制下進(jìn)行

??(一)無條件傳送

不查詢外設(shè)狀態(tài),認(rèn)為外設(shè)已經(jīng)準(zhǔn)備就緒,直接與外設(shè)傳送數(shù)據(jù)

外設(shè)準(zhǔn)備就緒:對于輸入設(shè)備,已經(jīng)把數(shù)據(jù)放入接口電路的數(shù)

據(jù)輸入寄存器,CPU可以讀?。粚τ谳敵鲈O(shè)備,已經(jīng)準(zhǔn)備好接

收數(shù)據(jù)(接口電路的數(shù)據(jù)輸出寄存器已空),CPU可以向它輸

出數(shù)據(jù)

由于不查詢外設(shè)狀態(tài),接口電路不需要狀態(tài)寄存器

、程序傳送方式

輸入緩存

輸出鎖存

無條件程序傳送的原理,P.197

、程序傳送方式

(二)程序查詢傳送

在執(zhí)行輸入輸出前,要先查詢接口中狀態(tài)寄存器的狀態(tài)。

輸入時,狀態(tài)寄存器的狀態(tài)指示要輸入的數(shù)據(jù)是否已經(jīng)準(zhǔn)備就2

輸出時,狀態(tài)寄存器的狀態(tài)指示輸出設(shè)備是否空閑

P.199

、中斷傳送方式

使用查詢方式,CPU必須檢測接口電路的狀態(tài)寄存器,如果設(shè)備

未準(zhǔn)備好,CPU就要不斷地查詢,降低了CPU的運(yùn)行效率

中斷方式:當(dāng)外設(shè)作好傳送準(zhǔn)備后,主動向CPU請求中斷,CPU

響應(yīng)中斷后在中斷處理程序中與外設(shè)交換數(shù)據(jù)。若外設(shè)未準(zhǔn)備好,

CPU可以執(zhí)行其他程序,提高了CPU的利用率

每條指令完成后,CPU均可響應(yīng)中斷,因此當(dāng)設(shè)備準(zhǔn)備好時,可

及時與CPU交換數(shù)據(jù),提高了實時性

三、DMA傳送方式

對于高速外設(shè)(如磁盤、高速A/D),中斷方式不能滿足數(shù)據(jù)

傳輸速度的要求。

DMA=DirectMemoryAccess-----直接存儲器訪問

DMA方式是一種由專門的硬件電路執(zhí)行I/O的數(shù)據(jù)傳送方式,

它可以讓外設(shè)接口直接與內(nèi)存進(jìn)行高速的數(shù)據(jù)傳送,而不必經(jīng)

過CPU。這種專門的硬件電路稱為DMA控制器,簡稱DMAC

7.3可編程計時器/計數(shù)器8253

-、計數(shù)/定時的工作原理

計數(shù)/定時的功能

?對外部事件發(fā)生次數(shù)進(jìn)行計數(shù)

?計算機(jī)系統(tǒng)經(jīng)常用到定時信號,如DRAM刷新定時

計數(shù)和計時本質(zhì)上是相同的,它們都是對一個輸入脈沖進(jìn)行

計數(shù),如果輸入脈沖的頻率一定,那么記錄脈沖的個數(shù)與所

需的時間是一一對應(yīng)的關(guān)系。

例如輸入脈沖頻率為2MHz,那么計數(shù)2x106<—>計時1秒

因此,使用同一個芯片,既能計數(shù),又能計時計時器/計數(shù)器

、計數(shù)/定時的工作原理

組成:

控制寄存器——決定工作模式

狀態(tài)寄存器——反應(yīng)工作狀態(tài)

初值寄存器——計數(shù)的初值

計數(shù)輸出寄存器——CPU從中讀

當(dāng)前計數(shù)值

計數(shù)器——執(zhí)行計數(shù)操作,

CPU不能訪問

?

、計數(shù)/定時的工作原理

,工作原理:對CLK信號進(jìn)行減1計數(shù)

*首先,CPU把控制字寫入控制寄存器,計數(shù)初始值寫入初值寄存器

.計數(shù)從初值開始,每當(dāng)CLK信號出現(xiàn)一次,計數(shù)值減1

?當(dāng)計數(shù)值減到0,從OUT端輸出規(guī)定的信號

.CLK信號出現(xiàn)時,計數(shù)器是否減1,由門控信號GATE控制

、計數(shù)/定時的工作原理

CLK是計數(shù)輸入信號,計數(shù)器對CLK端出現(xiàn)的脈沖個數(shù)進(jìn)行計

數(shù)

?CLK端可以輸入外部事件

?CLK端可以接入固定頻率的時鐘信號,從而實現(xiàn)計時

OUT信號在計數(shù)結(jié)束時發(fā)生變化

?可將OUT作為外部設(shè)備的控制信號

?可將OUT作為向CPU申請中斷的信號

CPU可以從計數(shù)輸出寄存器讀出當(dāng)前計數(shù)值。

讀前,應(yīng)向控制寄存器發(fā)送鎖存命令

二、8253的編程結(jié)構(gòu)

1片8253內(nèi)部有三個計數(shù)器,結(jié)構(gòu)完全相同

8253的引腳、內(nèi)部結(jié)構(gòu)、尋址方式

P.229

每個計數(shù)器內(nèi)部都有一個8位控制寄存器,三個控制寄存器使

用相同的端口,在編程結(jié)構(gòu)圖中畫為一個

8253沒有狀態(tài)寄存器

二、8253的編程結(jié)構(gòu)

每個計數(shù)器的初值寄存器(CR)、輸出鎖存器(OL)都是16位

的,但它們對應(yīng)相同的一個8位端口地址,所以16位的CR、OL

作為兩個8位寄存器讀寫,由控制寄存器控制讀寫高8位/低8位

8253控制字的格式

P.230

三、8253的編程命令

?初始化1)寫入控制字

??2)按控制字要求寫入計數(shù)初值

計數(shù)器初值計算:N/LKTOUT

例:設(shè)三個計數(shù)器的CR/OL端口地址為70H、71H、72H,控制

寄存器端口地址73H。計數(shù)器0,工作模式2,CR/OL僅使用低8

位,初值為100,計數(shù)值使用二進(jìn)制

MOVAL,14H

OUT73H,AL

MOVAL,100

OUT70H,AL

三、8253的編程命令

例:設(shè)三個計數(shù)器的CR/OL端口地址為70H、71H、72H,控制

寄存器端口地址73H。計數(shù)器1,工作模式1,CR/OL使用16位,

初值為1234,計數(shù)值使用BCD

MOVAL,73H

OUT73H,AL

MOVAX,1234H

OUT71H,AL

MOVAL,AH

OUT71H,AL

三、8253的編程命令

?讀出命令

1)發(fā)出鎖存命令,使當(dāng)前計數(shù)值鎖存在OL中

2)讀OL,獲得當(dāng)前計數(shù)值

例:設(shè)三個計數(shù)器的CR/OL端口地址為70H、71H、72H,控制

寄存器端口地址73H。讀出計數(shù)器0的當(dāng)前計數(shù)值,放在BX中

MOVAL,OH

OUT73H,AL

INAL,70H

MOVBL,AL

INAL,70H

MOVBH,AL

四、8253的工作模式

工作模式?jīng)Q定以下內(nèi)容:

1)門控信號的影響

高電平允許,當(dāng)GATE=O,即使出現(xiàn)CLK,也不計數(shù)

----模式0,2,3,4

上升沿允許(上升沿觸發(fā))

——模式1,5

2)OUT信號的狀態(tài)

寫入控制字后,OUT的狀態(tài)

計數(shù)過程中,OUT的狀態(tài)

計數(shù)終了,OUT的狀態(tài)

3)計數(shù)操作可否重復(fù)

不可重復(fù)——模式0,4

自動重復(fù)——模式2,3

條件重復(fù)——模式1,5

四、8253的工作模式

六種工作模式

P.230

?計數(shù)初值寫入初值寄存器后,要經(jīng)過一個CLK輸入后才開始計數(shù)

(或,經(jīng)過一個CLK后,計數(shù)初值才到達(dá)計數(shù)執(zhí)行部件)

?計數(shù)器在CLK的下降沿使計數(shù)值減1

四、8253的工作模式

方式0:

計數(shù)初值寫入CR后,OUT由0到1跳變出現(xiàn)在n+1個時鐘脈沖之

延遲時間TD=(H+1)TCLK

方式1:

單脈沖寬度T=nTCLK

方式2:

對輸入端n個時鐘脈沖,在輸出端僅出現(xiàn)一個時鐘脈沖

——N分頻計數(shù)器

四、8253的工作模式

方式3:

例:計數(shù)器工作模式3,計數(shù)器初值15,時鐘脈沖頻率為

2MHz,確定OUT端輸出方波的特性。

解:TCLK=l/2MHz=500ns

計數(shù)器初值15為奇數(shù),輸出分頻波高電平寬度

TCLK(N+1)/2=4JIS

輸出分頻波低電平寬度

TCLK(N-1)/2=3.5|1S

方式4、5:

觸發(fā)后n+1個時鐘脈沖之后輸出端產(chǎn)生選通脈沖信號

四、8253的工作模式

例:計數(shù)器0工作模式4,初始化計數(shù)器,使裝入計數(shù)器10四后

產(chǎn)生選通信號(設(shè)時鐘頻率2MHz,8253端口地址為50H?53H)。

解:n+l=T/TCIK=10/0.5=20

n=19=13H

MOVAL,18H

OUT53H,AL

MOVAL,13H

OUT50H,AL

五、8253的應(yīng)用

1.PC機(jī)中8253的應(yīng)用

計數(shù)器0:向系統(tǒng)日歷時鐘提供定時中斷

模式3,控制字36H,計數(shù)器初始值0

計數(shù)器1:動態(tài)RAM刷新

模式2,控制字54H,計數(shù)器初始值18(12H)

計數(shù)器2:控制揚(yáng)聲器發(fā)聲

模式3,控制字B6H,計數(shù)器初始值1331(533H)

PC機(jī)中,8253的端口地址為40H?43H

五、8253的應(yīng)用

2.揚(yáng)聲器控制

設(shè)計一個程序,使揚(yáng)聲器發(fā)出600Hz頻率的聲音,按下任意鍵

聲音停止

PC機(jī)的發(fā)聲系統(tǒng)以計數(shù)器2為核心。CLK2的輸入頻率1.19MHz,

改變計數(shù)器初值可以由OUT2得到不同頻率的方波輸出

對于600Hz,計數(shù)初值LI9MHz/600Hz=1938

發(fā)聲系統(tǒng)受8255芯片B口的兩個輸出端線PBO、PB1的控制

PBO為1,使GATE2為1,計數(shù)器2能正常計數(shù)

PB1為1,打開輸出控制門

五、8253的應(yīng)用

CODESEGMENT2.揚(yáng)聲器控制

ASSUMECS:CODE

START:

INAL,61H

ORAL,03H

OUT61H,AL

MOVAX,1983

OUT42H,AL

MOVAL,AH

OUT42,AL

MOVAH,01H

INT21H

INA1,61H

ANDAL,OFCH

OUT61H,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

五、8253的應(yīng)用

3.以2MHz輸入8253,實現(xiàn)每5秒定時中斷(設(shè)8253端口地址

40H?43H)

分析:8253最大初值65536,CLK=2MHz可實現(xiàn)最大時間間隔

65536/(2xl06)=32.769ms

所以需要兩個計數(shù)器串聯(lián),一個計數(shù)器的輸出作為另一個計數(shù)

器的輸入

五、8253的應(yīng)用

計數(shù)器1:模式2,OUT1每5ms輸出一個脈沖

初值(2x106)/(1/0.005)=10000

計數(shù)器0:模式2,OUTO每5s輸出一個脈沖

每5秒產(chǎn)生

初值(1/0.005)/(1/5)=1000一個脈沖

OUTO

溫馨提示

  • 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

提交評論