第6章并行接口io端口地址譯碼_第1頁
第6章并行接口io端口地址譯碼_第2頁
第6章并行接口io端口地址譯碼_第3頁
第6章并行接口io端口地址譯碼_第4頁
第6章并行接口io端口地址譯碼_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

6.1

I/O端口地址譯碼技術(shù)I/O端口地址譯碼的一般原則:地址分成兩部分:高位地址線與控制信號組合,經(jīng)地址譯碼電路產(chǎn)生I/O接口芯片的片選信號,實(shí)現(xiàn)片間尋址;低位地址線直接連接到I/O接口芯片,實(shí)現(xiàn)I/O接口芯片的片內(nèi)尋址,即訪問片內(nèi)的寄存器。I/O端口地址譯碼技術(shù)譯碼電路形式分為: 固定式譯碼可選式譯碼I/O端口譯碼實(shí)現(xiàn)方式:基本門電路(固定邏輯器件)、專用譯碼器、可編程邏輯器件programmable

logic

device等(FPGA--Field

Programmable

GateArray)。1

I/O端口地址譯碼技術(shù)—固定式譯碼固定式譯碼的端口地址由硬件連線決定,不能更改。1)基本門電路構(gòu)成譯碼電路。適用于端口數(shù)目少場合。74LS30(與非)74LS21(與非)74LS32(或)YA9A8A7A6A5A4A3A2IORA1A0AENI/O端口地址譯碼技術(shù)—固定式譯碼2)專用的譯碼器:如果接口電路中需要使用多個(gè)端口地址,采用專用的譯碼器進(jìn)行譯碼比較方便。常用的譯碼器:3-8譯碼器74LS138;4-16譯碼器74LS154;雙2-4譯碼器74LS139專用的譯碼器進(jìn)行譯碼ABY0Y1

1

2

15

14

13

C

Y2Y3

3

G2AG2B

4

5

6

Y4Y5Y6G1Y7

12

11

10

9

7

G2AG2BG1CBA輸出001000Y0

=0,其他為1001001Y1

=0,其他為1001010Y

2

=0,其他為1001011Y3

=0,其他為1001100Y

4

=0,其他為1001101Y5

=0,其他為1001110Y6

=0,其他為1001111Y7

=0,其他為1其他情況Y0

Y7

全為174LS1382A2B2Y02Y12Y22G

2Y315

14

13

1A1B1Y01Y11Y21G

1Y31

2

3

4

5

6

7

9

11

10

12

GBA輸出000Y0

=0,其他為1001Y1

=0,其他為1010Y2

=0,其他為1011Y3

=0,其他為11··Y0

Y3

全為174LS139專用的譯碼器進(jìn)行譯碼

23

22

21

19

18ABCDG2G1

20

1

2

3

4

56789101113141516Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Y10

Y11

Y12

Y13

Y14Y1517G2G1DCBA輸出000000Y0

=0,其他為1000001Y1

=0,其他為1000010Y2

=0,其他為1000011Y3

=0,其他為1000100Y4

=0,其他為1000101Y5

=0,其他為1000110Y6

=0,其他為1000111Y7

=0,其他為1001000Y8

=0,其他為1001001Y9

=0,其他為1001010Y10

=0,其他為1001011Y11

=0,其他為1001100Y12

=0,其他為1001101Y13

=0,其他為1001110Y14

=0,其他為1001111Y15

=0,其他為1其他情況xxxxY0

~Y15

全為174LS154專用的譯碼器進(jìn)行譯碼I/O端口地址固定式譯碼--專用譯碼器例1:已知并行接口芯片8255A內(nèi)部有4個(gè)端口,片選信號/CS

為低電平有效。試設(shè)計(jì)一個(gè)譯碼電路,使該芯片的4個(gè)端口地址為2F0H~2F3H。A9A8A7A6A5A4A3A2A1A010111100002F0H10111100012F1H10111100102F2H10111100112F3H端口地址譯碼分析8255A:(1)片內(nèi)4個(gè)端口,可以由地址線A1和A0尋址。

(2)片選信號則應(yīng)由高位地址線A9~A2產(chǎn)生。為了使8255A芯片4個(gè)端口的地址為2F0H~2F3H,高位地址線要滿足A9~A2=10

111100的要求。AY0Y1BCG2AG2BG1Y2Y3Y4Y5Y6Y774LS138A2A3A4A8M/IOA5A6A7A92F0H~2F3HCSA0A18255AA9A8A7A6A5A4A3A2A1A010111100002F0H012F1H102F2H112F3H2

I/O端口地址譯碼技術(shù)—可選式譯碼可選式地址譯碼方法:接口電路的端口地址能適應(yīng)不同的地址分配場合。實(shí)現(xiàn)方法:無需改動(dòng)硬件線路,通過DIP開關(guān)或跳線器使接口電路的I/O端口地址根據(jù)需要加以改變。I/O端口地址譯碼技術(shù)—可選式譯碼常用的可選式譯碼方案:DIP開關(guān)+比較器例如,用一個(gè)DIP開關(guān),配合一片8位數(shù)據(jù)比較器74LS688組成一個(gè)完整的端口譯碼電路。GP=Q19P0P1P2P3P4P5P6P7Q0Q1Q2Q3Q4Q5Q6Q7

2

4

6

8

11

13

15

17

3

5

7

9

12

14

16

18174LS688I/O端口地址譯碼技術(shù)—可選式譯碼例2:P=Q74LS688P0P7Q0Q7G+5VA3

A9AEN18DIP+5VIORA0A1A2ABCY0Y7G1G2AG2B74LS138A9A8A7A6A5A4A3A2A1A011111110003F8H0013F9H0103FAH0113FBH1003FCH1013FDH1103FEH1113FFH16位微機(jī)系統(tǒng)的內(nèi)存組織A19A18.

…A4A3A2A1A00偶地址體1奇地址體32位微機(jī)系統(tǒng)的內(nèi)存組織A31A30.

…A4A3A2A1A000BE001BE110BE211BE3接口部件地址引腳與地址總線的錯(cuò)位連接接口部件的數(shù)據(jù)引腳寬度普遍是8位,接口部件的數(shù)據(jù)引腳通常掛在數(shù)據(jù)總線的最低8位上接口部件的地址引腳和系統(tǒng)地址總線須錯(cuò)位連接硬件連線錯(cuò)位地址分配:為接口部件的I/O端口分配: 連續(xù)的偶地址(16位數(shù)據(jù)總線)連續(xù)的4的倍數(shù)的地址(32位數(shù)據(jù)總線)連續(xù)的8的倍數(shù)的地址(64位數(shù)據(jù)總線)resetD7~D0A9~A3A2A1IORIOW片選譯碼數(shù)據(jù)緩沖器讀寫控制片內(nèi)譯碼CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制端口端口A端口C端口B+5VGNDD7~D0外設(shè)8255A8255A地址引腳與地址總線的錯(cuò)位連接6.2

可編程并行接口芯片8255AIntel系列的8位并行接口芯片40個(gè)引腳,雙列直插式8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A芯片功能含3個(gè)獨(dú)立的8位并行輸入/輸出端口,輸出:各端口都帶有數(shù)據(jù)輸出鎖存器/緩沖器輸入:A

具有數(shù)據(jù)輸入鎖存器B

C數(shù)據(jù)輸入緩沖器可通過程序設(shè)置芯片的工作方式是一種典型的可編程并行接口芯片resetD7~D0A9~A3A2A1IORIOW片選譯碼數(shù)據(jù)緩沖器讀寫控制片內(nèi)譯碼CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制端口端口A端口C端口B+5VGNDD7~D0外設(shè)8255A6.2.1 8255A內(nèi)部編程結(jié)構(gòu)、外部引腳及與系統(tǒng)總線的連接8255A內(nèi)部編程結(jié)構(gòu)B組端口C的高4位端口B端口C的低4位A組三個(gè)端口可通過編程分別指定為輸入或輸出口。C口既可用作獨(dú)立的8位輸入/輸出口,也可拆分成2個(gè)4位端口,分別用作A、B口的控制信號(輸出)或狀態(tài)信號(輸入)。端口A8255A的內(nèi)部結(jié)構(gòu)框圖8255A內(nèi)部編程結(jié)構(gòu)8255A內(nèi)部編程結(jié)構(gòu)8位數(shù)據(jù)總線緩沖器:作為8255

與系統(tǒng)數(shù)據(jù)總線之間的緩沖器,

接收或發(fā)送數(shù)據(jù)信息、控制信息和狀態(tài)信息。8255A的芯片引腳信號引腳信號分為兩組和外設(shè)一邊相連的信號PA7~PA0PB7~PB0PC7~PC0和CPU一邊相連的信號RESETD7~D0/CS

芯片選擇信號/RD

讀出信號/WR

寫入信號A1、A0

片內(nèi)端口選擇信號。8255A外部引腳信號A1A0選擇00端口A01端口B10端口C11控制寄存器6.2.2

8255A的控制字在初始化時(shí)將控制字寫入控制寄存器按功能分類:方式選擇控制字不同的控制字決定了8255A的不同工作方式C端口按位置1/置0控制字控制C口的任意一位輸出”0”或”1”(1)8255A的方式選擇控制字8255A有三種基本工作方式:基本輸入/輸出方式(方式0)選通工作方式(方式1)雙向傳送方式(方式2)(僅A口)某端口工作于哪一種方式,可通過軟件編程來指定:向8255控制端口寫入方式選擇控制字來決定其工作方式8255A的方式選擇控制字圖6.158255A的方式選擇控制字圖6.16兩片8255A在微機(jī)系統(tǒng)中的連接要求J1

8255A端口A方式0,輸出;端口B方式0,輸入;端口C的高四位輸出;端口C的低四位輸入;圖6.17J1的方式控制字83H圖6.18J2的方式控制字要求J2

8255A端口A端口B端口C的高四位端口C的低四位方式0,輸入

方式1,輸出;輸出;配合端口B工作為J1、J2兩片8255A設(shè)置控制字MOVAL,83HMOVDX,00E6HOUT

DX,AL;對第1片8255A設(shè)置方式選擇控制字

MOVAL,94HMOVDX,00EEHOUT

DX,AL;對第2片8255A設(shè)置方式選擇控制字(2)8255A的端口C按位置1/0控制字--寫入控制口端口C置1/置0的例子MOV

AL,0FH

;對PC7置1的控制字MOV DX,00EEH;控制口地址送DXOUT

DX,AL

;對PC7進(jìn)行置1操作MOV

AL,06HOUT

DX,AL;對PC3置0的控制字;對PC3進(jìn)行置0操作6.2.3

8255A的工作方式方式0--基本輸入/輸出方式方式1--選通工作方式方式2--雙向傳送方式(僅A口)1工作方式08255提供:2個(gè)獨(dú)立的8位端口A

、B2個(gè)獨(dú)立的4位端口PC4~PC7、PC0~PC3

。各端口數(shù)據(jù)方向: 可設(shè)置為輸入口,可設(shè)置為輸出口,但不能同時(shí)實(shí)現(xiàn)輸入及輸出。除A口外,設(shè)置為輸出口時(shí)有鎖存能力,設(shè)置為輸入口時(shí)無鎖存能力。8255A的工作方式0的輸出時(shí)序方式0的應(yīng)用用于連接簡單外設(shè)。適用于:不需要應(yīng)答信號的同步傳送方式。查詢輸入輸出方式:A、B口作為8位數(shù)據(jù)口;C口作為主機(jī)和外設(shè)的應(yīng)答信號:C高4位(或低4位)設(shè)定為輸入口,讀入外設(shè)狀態(tài)C低4位(或高4位)設(shè)定為輸出口,輸出對外設(shè)的控制信號應(yīng)答信號不固定,可自由定義應(yīng)用實(shí)例:作為主機(jī)和打印機(jī)的接口2

8255A的工作方式1A口作為獨(dú)立的8位輸入或輸出口B口作為獨(dú)立的8位輸入或輸出口C口為A(B)自動(dòng)提供固定的應(yīng)答信號。1011A口方式1輸入控制字PA7~PA0PC4PC5PC3INTEAPC4與門STBAIBFAINTRARDD7~D0A口方式1,

輸入時(shí)的聯(lián)絡(luò)信號(1)8255A方式1輸入C口提供聯(lián)絡(luò)信號①/STB

選通信號輸入端(低電平有效)PC4接收外設(shè)發(fā)來的選通信號,作用是使8255A接收外設(shè)送來的數(shù)據(jù)②IBF

輸入緩沖器滿信號(高電平有效)PC5

作為輸入緩沖器滿信號輸出端,當(dāng)外設(shè)送來的數(shù)據(jù)送入輸入端口后,PC5自動(dòng)變成高電平。可供CPU查詢。③INTR

中斷申請信號(高電平有效)PC3作為中斷請求信號輸出端,用來向CPU發(fā)出中斷申請。/STB、IBF、INTE均為1時(shí),PC3自動(dòng)變成高電平。PA7~PA0PC4PC5PC3INTEAPC4與門STBIBFINTR(1)方式1輸入--聯(lián)絡(luò)信號方式1輸入--8255A內(nèi)部的控制信號PA7~PA0PC4PC5PC3INTEAPC4與門STBIBFINTRINTE

中斷允許控制信號控制是否允許8255A發(fā)出中斷申請信號INTR。通過C口按位置1/0控制字(寫入控制口),設(shè)置允許/不允許A口:對PC4置位,使INTEA=1,允許中斷

對PC4復(fù)位,使INTEA=0,不允許中斷

B口:對PC2置位,使INTEB=1,允許中斷

對PC2復(fù)位,使INTEB=0,不允許中斷方式1-主機(jī)和外設(shè)的數(shù)據(jù)傳送方式中斷方式查詢方式CPU通過讀取C端口的內(nèi)容做為狀態(tài)字PB7~PB0PA7~PA0

STBIBFINTRRD外設(shè)送來數(shù)據(jù)②③當(dāng)INTE=1時(shí)①方式1輸入--時(shí)序①當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,將數(shù)據(jù)送至端口線PA7~PA0PB7~PB0PA7~PA0

STBIBF

INTR

RD外設(shè)送來數(shù)據(jù)②③當(dāng)INTE=1時(shí)①②外設(shè)發(fā)出選通信號/STB將數(shù)據(jù)送入8255A數(shù)據(jù)輸入端口內(nèi)。使IBF變高,表示輸入端口滿,供CPU查詢。如果INTE=1,

STB的上升沿使INTR變高,發(fā)出中斷請求。③CPU

讀取數(shù)據(jù),使/RD信號有效/RD

的下降沿清除INTR/RD

的上升沿清除IBF端口內(nèi)的數(shù)據(jù)進(jìn)入CPU(2)方式1

輸出1010A口方式1輸出控制字PA7~PA0PC6PC7PC3INTEAPC6與門ACKAOBFAINTRAWRD7~D0C口提供端口的聯(lián)絡(luò)信號①/OBF

輸出緩沖器滿信號(低電平有效)當(dāng)CPU送來的數(shù)據(jù)送至8255A輸出緩沖器后,PC7自動(dòng)變成低電平。用來通知外設(shè)把數(shù)據(jù)取走。②/ACK

外設(shè)響應(yīng)信號(低電平有效)PC6

作為外設(shè)接收數(shù)據(jù)后的響應(yīng)信號輸入端當(dāng)輸出端口的數(shù)據(jù)已被外設(shè)取走后,外設(shè)應(yīng)發(fā)出低電平響應(yīng)信號③INTR

中斷申請信號(高電平有效)PC3作為中斷請求信號輸出端,用來向CPU發(fā)出中斷申請。在INTE為1的前提下,輸出緩沖器空時(shí)發(fā)出。PA7~PA0PC6PC7PC3INTEAPC6與門OBFAACKAINTRA方式1輸出--端口的聯(lián)絡(luò)信號方式1輸出--8255A內(nèi)部的控制信號PA7~PA0PC6PC7PC3INTEAPC6與門ACKAOBFAINTRAINTE

中斷允許控制信號控制是否允許中斷申請信號INTR發(fā)出。通過控制口對C口相應(yīng)位的置位/復(fù)位設(shè)置允許或不允許。A口,對PC6置位,

使INTEA=1,

允許中斷對PC6復(fù)位,

使INTEA=0,

不允許中斷B口,對PC2置位,使INTEB=1,允許中斷

對PC2復(fù)位,使INTEB=0,不允許中斷

①D7~D0送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫入端口WROBFINTRACK②③當(dāng)INTE=1時(shí)方式1輸出--時(shí)序①CPU輸出數(shù)據(jù)到8255A的數(shù)據(jù)引腳D7~D0

①數(shù)據(jù)數(shù)據(jù)寫入端口WROBFINTRACK②③當(dāng)INTE=1時(shí)②/WR有效:數(shù)據(jù)寫到8255A的端口使/OBF有效,表示輸出端口滿,可通知外設(shè)取數(shù)據(jù)。清除中斷請求信號INTR③外設(shè)取走數(shù)據(jù)后,發(fā)出/ACK信號:/ACK的下降沿使/OBF變高,當(dāng)INTE=1,/ACK的上升沿使INTR變高,發(fā)出中斷請求,請求

CPU輸出新的數(shù)據(jù)。方式1的應(yīng)用應(yīng)用實(shí)例:作打印機(jī)接口6.2.4

8255A的應(yīng)用舉例1 8255A工作于方式0的例子圖6.328255A作為打印機(jī)接口的示意圖打印機(jī)和主機(jī)的連接連接方式分為并行方式串行方式打印機(jī)采用并行方式連接主機(jī)圖13.6微型機(jī)系統(tǒng)中適配器按照Centronics標(biāo)準(zhǔn)和打印機(jī)的連接8255A工作于方式0的例子PP:MOVOUTAL,81H0D6H,ALMOVAL,0DHOUT0D6H,ALLPST:INAL,0D4HANDAL,

04HJNZLPSTMOVAL,CLOUT0D0H,ALMOVAL,0CHOUT0D6H,ALINCALOUT0D6H,AL(2)8255A工作于方式1的例子8255A工作于方式1輸出圖6.33 8255A作為中斷方式打印機(jī)接口的示意圖當(dāng)打印機(jī)接收完1個(gè)字符,會(huì)自動(dòng)發(fā)出/ACKPA7~PA0PC6PC7PC3INTEAPC6與門ACKAOBFAINTRA主程序的主要工作對8255A

初始化設(shè)置A端口工作于方式1、方向輸出;選通信號無效;為打印機(jī)分配一個(gè)中斷類型碼(中斷號) 本例中斷類型號為0BH;將打印機(jī)中斷服務(wù)子程序的入口地址填寫到中斷向量表本例中斷服務(wù)子程序固定裝配,入口地址是:1000H:2000H開放中斷允許8255A提中斷申請8259A不屏蔽8255的中斷申

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論