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

下載本文檔

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

文檔簡(jiǎn)介

第七章輸入/輸出接口

7.討既述

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

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

7.4串行通訊和串行接口

7.5并行接口

7.6DMA控制器8237

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

7.1概述

、接口電路的分類和功能

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

數(shù)

據(jù)

控制

接口電路設(shè)

態(tài)線

、接口電路的分類和功能

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

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

工作

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

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

8237、8253

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

組。

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

北橋:82439TX

南橋:82371AB

PemimProaeasor

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

、接口電路的分類和功能

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

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

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

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

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

-4-HL_C

心片o

可編程接口芯片的功能可以由指令來(lái)控制0

、接口電路的分類和功能

接口電路的功能:

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

2)地址譯碼

3)傳遞命令

4)碼制轉(zhuǎn)換

5)電平轉(zhuǎn)換

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

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

端口寄存器,簡(jiǎn)稱為I/O端口

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

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

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

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

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

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

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

?I/O端口獨(dú)立編址

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

Port0(32位)

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

端口地址是一種重要資源

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

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

H|昌|”電1

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

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

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

DMAx0040-x0043系統(tǒng)計(jì)時(shí)器

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

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

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

IRQsx0064-x0064101/102Microsoft

系統(tǒng)實(shí)時(shí)鐘

內(nèi)存xOOTO-xOOTlCMOS/

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

?殂件x0080-x0090

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

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

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

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

xOlTO-x0177Intel82371AB/EBPCIBusMasterIDEContr

xOlTO—x0177SecondaryIDEcontroller(dual£i£o)

xOlFO-xOlFTIntel82371AB/EBPCIBusMasterIDEContr

xOlFO-x01F7PrimaryIDEcontroller(dualfifo)

卜11?1

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

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

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

,?端口的尋址P.83

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

?INAL,DX

OUTDX,AL

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

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

I.INAL,42H

OUT43H,AL

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

無(wú)條件傳送

程序傳送方式

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

中斷傳送方式

DMA傳送方式

、程序傳送方式

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

??(一)無(wú)條件傳送

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

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

據(jù)輸入寄存器,CPU可以讀??;對(duì)于輸出設(shè)備,已經(jīng)準(zhǔn)備好接

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

出數(shù)據(jù)

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

、程序傳送方式

輸入緩存

輸出鎖存

無(wú)條件程序傳送的原理,P.197

、程序傳送方式

(二)程序查詢傳送

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

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

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

P.199

、中斷傳送方式

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

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

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

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

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

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

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

三、DMA傳送方式

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

傳輸速度的要求。

DMA=DirectMemoryAccess-----直接存儲(chǔ)器訪問(wèn)

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

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

過(guò)CPU。這種專門的硬件電路稱為DMA控制器,簡(jiǎn)稱DMAC

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

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

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

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

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

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

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

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

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

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

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

組成:

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

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

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

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

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

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

CPU不能訪問(wèn)

?

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

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

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

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

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

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

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

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

數(shù)

?CLK端可以輸入外部事件

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

OUT信號(hào)在計(jì)數(shù)結(jié)束時(shí)發(fā)生變化

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

?可將OUT作為向CPU申請(qǐng)中斷的信號(hào)

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

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

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

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

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

P.229

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

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

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

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

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

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

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

8253控制字的格式

P.230

三、8253的編程命令

?初始化1)寫入控制字

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

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

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

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

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

MOVAL,14H

OUT73H,AL

MOVAL,100

OUT70H,AL

三、8253的編程命令

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

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

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

MOVAL,73H

OUT73H,AL

MOVAX,1234H

OUT71H,AL

MOVAL,AH

OUT71H,AL

三、8253的編程命令

?讀出命令

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

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

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

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

MOVAL,OH

OUT73H,AL

INAL,70H

MOVBL,AL

INAL,70H

MOVBH,AL

四、8253的工作模式

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

1)門控信號(hào)的影響

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

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

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

——模式1,5

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

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

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

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

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

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

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

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

四、8253的工作模式

六種工作模式

P.230

?計(jì)數(shù)初值寫入初值寄存器后,要經(jīng)過(guò)一個(gè)CLK輸入后才開(kāi)始計(jì)數(shù)

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

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

四、8253的工作模式

方式0:

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

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

方式1:

單脈沖寬度T=nTCLK

方式2:

對(duì)輸入端n個(gè)時(shí)鐘脈沖,在輸出端僅出現(xiàn)一個(gè)時(shí)鐘脈沖

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

四、8253的工作模式

方式3:

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

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

解:TCLK=l/2MHz=500ns

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

TCLK(N+1)/2=4JIS

輸出分頻波低電平寬度

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

方式4、5:

觸發(fā)后n+1個(gè)時(shí)鐘脈沖之后輸出端產(chǎn)生選通脈沖信號(hào)

四、8253的工作模式

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

產(chǎn)生選通信號(hào)(設(shè)時(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)用

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

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

計(jì)數(shù)器1:動(dòng)態(tài)RAM刷新

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

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

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

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

五、8253的應(yīng)用

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

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

聲音停止

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

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

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

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

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

PB1為1,打開(kāi)輸出控制門

五、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,實(shí)現(xiàn)每5秒定時(shí)中斷(設(shè)8253端口地址

40H?43H)

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

65536/(2xl06)=32.769ms

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

器的輸入

五、8253的應(yīng)用

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

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

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

每5秒產(chǎn)生

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

OUTO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論