微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用:chap5-2 系統(tǒng)總線及接口_第1頁(yè)
微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用:chap5-2 系統(tǒng)總線及接口_第2頁(yè)
微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用:chap5-2 系統(tǒng)總線及接口_第3頁(yè)
微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用:chap5-2 系統(tǒng)總線及接口_第4頁(yè)
微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用:chap5-2 系統(tǒng)總線及接口_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

1、主 要 內(nèi) 容一、可編程通用接口芯片的應(yīng)用方法二、可編程并行接口芯片8255A三、可編程定時(shí)/計(jì)數(shù)接口芯片8253四、可編程中斷控制器8259A 五、可編程串行接口芯片8250六、可編程DMA控制芯片可編程接口芯片的開(kāi)發(fā)應(yīng)用了解芯片的基本性能(功能)和內(nèi)部結(jié)構(gòu);掌握芯片的外部連接特性,以進(jìn)行硬件設(shè)計(jì)。一般將引腳分為面向CPU和面向外設(shè)的兩部分。注意端口地址的確定方法(面向CPU一邊);掌握芯片各控制字的含義和設(shè)置方法,能根據(jù)系統(tǒng)設(shè)計(jì)要求確定各控制字值;CPU在初始化程序中按要求發(fā)送各控制字到相應(yīng)端口(寄存器)以確定芯片的工作方式和狀態(tài);CPU在工作過(guò)程中可以通過(guò)讀狀態(tài)端口檢查接口芯片的工作狀態(tài)

2、,并可重新設(shè)置和發(fā)送某些控制字值,以改變芯片的工作方式;01010110可編程:不改變硬件的連接,而通過(guò)程序設(shè)置數(shù)據(jù)的傳輸方向,接口線的連接和傳輸控制方向等可編程并行接口Intel8255初始化時(shí)用戶只需確定端口地址及控制字,并通過(guò)送出控制字確定8255A各端口的工作方式;數(shù)據(jù)傳送過(guò)程中,用戶通過(guò)讀/寫(xiě)端口A、B、C實(shí)現(xiàn)數(shù)據(jù)收/發(fā)。注意C口的位操作方式是通過(guò)寫(xiě)控制字來(lái)實(shí)現(xiàn)的??删幊滩⑿薪涌贗ntel8255無(wú)條件和查詢(xún)式、中斷控制式數(shù)據(jù)傳送,其具體的工作方式由用戶程序確定。 8255的內(nèi)部結(jié)構(gòu)及基本功能 8255的外接特性及端口地址 8255的三種工作方式及控制字 8255的程控技術(shù)8255的

3、內(nèi)部結(jié)構(gòu)及基本功能讀/寫(xiě)邏輯控制A組控制B組控制A8bitPA7PA0C上半部4bitC下半部4bitPC7PC4PC3PC0B8bitPB7PB0CPU接口內(nèi)部邏輯外設(shè)接口三個(gè)獨(dú)立的8位數(shù)據(jù)端口;C口的其它用法:用作兩個(gè)獨(dú)立的4位數(shù)據(jù)端口;用作狀態(tài)或控制口,按位置位或復(fù)位;為A、B口提供所需的各種聯(lián)絡(luò)信號(hào);具有三種工作方式;數(shù)據(jù)總線緩沖器D7D0RESETRDWRCSA0A18位機(jī)系統(tǒng)中,8255的A1、A0分別接系統(tǒng)地址總線A1、A0;8086等16位機(jī)中,可將8255與8086CPU的低8位數(shù)據(jù)線相連,8255的A1、A0分別接系統(tǒng)地址總線A2、A1, A0=0。8255的外部特性及端口

4、地址的確定PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7 D0D1D2D3D4D5D6D734 433 332 231 130 4029 3928 3827 37 18199 208 216 225 2336 2435 25141516171326 12 11108255A面向CPU面向外設(shè)操 作CSA0A100011011讀/寫(xiě)端口A讀/寫(xiě)端口B讀/寫(xiě)端口C寫(xiě)控制寄存器數(shù)據(jù)總線三態(tài)1XX0000A0A1/CS/RD/WRRSTVCCGND1.外設(shè)數(shù)據(jù)端口端口A:PA0 PA7A組,支持工作方式0

5、、1、2端口B:PB0 PB7B組,支持工作方式0、1端口C:PC0 PC7僅支持工作方式0A組控制高4位PC4PC7B組控制低4位PC0PC38255的外部特性及端口地址的確定8255的工作方式控制字1D7D6D5D4D3D2D1D00 輸出1 輸入PC3PC0B口0 輸出1 輸入0 方式01 方式1B口工作方式PC7PC40 輸出1 輸入A口0 輸出1 輸入特征位,D7=1表示是方式控制字A口工作方式00 方式001 方式11x 方式2A口方式0輸出,B口方式0輸入,C上輸出,C下輸入,試寫(xiě)控制字0D7D6D5D4D3D2D1D00 復(fù)位1 置位設(shè)置內(nèi)容特征位,D7=0表示是C口按位置位/

6、復(fù)位控制字無(wú)意義選擇操作位8255的C口置/復(fù)位控制字D3 D2 D1C端口位0 0 0PC00 0 1PC10 1 0PC20 1 1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC7設(shè)8255A端口地址為60h63h, PC5初始為低電平,試將從PC4輸出一個(gè)正脈沖數(shù)據(jù)傳輸特點(diǎn)1.最多可提供三個(gè)8位端口或兩個(gè)8位端口兩個(gè)4位端口2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)無(wú)條件或自定義聯(lián)絡(luò)信號(hào)(C口)的查詢(xún)傳送CPU8255打印機(jī)并行接口(29)(1)(11)(16)PA07PC7PC2地D07STBBUSY地DB工作方式0基本輸入輸出工作方式1選通輸入輸出

7、PA7PA0PC4PC5PC3INTEA與門(mén)IBFASTBAINTRARDD7D0A口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)IBFBSTBBINTRBPB7PB0PC2PC1PC0INTEB與門(mén)RDD7D0一、輸入接口信號(hào)的定義PC4PC2 PB7PB0PA7PA0STBIBFINTRRD外設(shè)送來(lái)數(shù)據(jù)當(dāng)INTE=1時(shí) 中斷服務(wù)程序中CPU從A口或B口讀取外設(shè)輸入的數(shù)據(jù)工作方式1選通輸入輸出A口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)PA7PA0PC7PC6PC3INTEA與門(mén)ACKAOBFAINTRAWRD7D0PB7PB0PC1PC2PC0INTEB與門(mén)AC

8、KBOBFBINTRBWRD7D0二、輸出接口信號(hào)的定義與時(shí)序工作方式1選通輸入輸出送往外設(shè)的數(shù)據(jù)寫(xiě)入相應(yīng)端口WROBFINTRACK當(dāng)INTE=1時(shí) PB7PB0PA7PA0中斷服務(wù)程序中CPU向A口或B口寫(xiě)入輸出給外設(shè)的數(shù)據(jù)工作方式1選通輸入輸出三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供兩個(gè)8位端口2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的查詢(xún)傳送或中斷傳送,未定義的C口信號(hào)線可自行定義使用。CPU8255PA07PC7PC6D07STBDBPC3ACKOBFINTRPC0工作方式1選通輸入輸出數(shù)據(jù)傳輸特點(diǎn):1.A為雙向端口,B為單向端口,C口組合方式2.可實(shí)現(xiàn)固定

9、聯(lián)絡(luò)信號(hào)(C口)的查詢(xún)傳送或中斷傳送,未定義的C口信號(hào)線可自行定義使用。工作方式2雙向輸入、輸出PA7PA0PC6PC7ACKAOBFAD7D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6與門(mén)PC3INTRA或門(mén)與門(mén)中斷服務(wù)程序中CPU可通過(guò)查詢(xún)IBF和OBF信號(hào)來(lái)確定此次中斷是輸入還是輸出操作8255的編程初始化編程:一個(gè)方式控制字采用控制I/O地址:A1A011工作過(guò)程:通過(guò)數(shù)據(jù)端口對(duì)外設(shè)數(shù)據(jù)進(jìn)行讀寫(xiě)數(shù)據(jù)讀寫(xiě)利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBM PC/XT機(jī)上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H

10、例:某8255A占用端口地址范圍0F00F3H。1) 確定各端口地址。 2) 編程設(shè)置8255A : A口方式 0 輸入,B口方式0 輸出,PC7PC4輸出,PC3PC0輸入結(jié)論:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址為0F3H; 控制字1001 0001B,即91H MOV AL,91H OUT 0F3H, AL解:A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1A1 A0CS地址0F0H 0F1H0F2H 0F3H0 0 0 1 1 01

11、18255舉例D7D6D5D4D3D2D1D0控制字1特征位00A口方式 01A口輸入0PC7PC4輸出0B口方式 00B口輸出1PC3PC0輸入例:設(shè)8255的A口工作于方式1輸入,B口工作于方式0輸出,若允許A口產(chǎn)生中斷,試編程初始化該8255(其端口地址為60H 63H )。MOV AL, 0B0H ;1011x00XOUT 63H, AL ; 寫(xiě)方式控制字MOV AL, 09H ;0XXX1001OUT 63H, AL ; 寫(xiě)置/復(fù)位控制字,置INTEA1b7b6b5b4b3b2b1b0 1 0 1 1x 0 0 x b7b6b5b4b3b2b1b0 0 x x x 1 00 1C口置

12、/復(fù)位控制字工作方式控制字8255舉例例:編程實(shí)現(xiàn)8255控制的A/D/A接口。8255用作A/D、D/A接口電路,占用的端口地址分別為300H303H1.初始化8255A方式1,B方式02.啟動(dòng)AD(PC7)3.查詢(xún)IBF(PC5)4.收AD數(shù)據(jù)5.發(fā)數(shù)據(jù)到DAD/A8255舉例定時(shí)/計(jì)數(shù)芯片Intel8253 8253的內(nèi)部結(jié)構(gòu)及基本功能 8253的外接特性及端口地址 8253的控制字及工作方式 8253的程控技術(shù)定時(shí)/計(jì)數(shù)器控制寄存器狀態(tài)寄存器數(shù)據(jù)緩沖讀/寫(xiě)控制邏輯計(jì)數(shù)初值寄存器當(dāng)前計(jì)數(shù)值輸出寄存器計(jì)數(shù)器計(jì)數(shù)控制數(shù)據(jù)總線RESETREADY中斷申請(qǐng)CLKGATE OUT 面向外設(shè)面向CP

13、URDWRCSA1 A08253內(nèi)部結(jié)構(gòu)8253內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器8D0D7內(nèi)部總線CLK0計(jì)數(shù)器0GATE0OUT0計(jì)數(shù)器1CLK1GATE1OUT1計(jì)數(shù)器2CLK2GATE2OUT2讀/寫(xiě)邏輯A0A1WRRDCS控制字寄存器8253的外接特性及端口地址的確定87 96 115 1043 2 15 1 14 22 1323 19 20 1821 16 24 17128253D0D1D2D3D4D5D6D7/WR/RDA0A1/CSVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2面向CPU面向外設(shè)數(shù)據(jù)總線三態(tài)1XX寫(xiě)控制寄存器011讀/寫(xiě)計(jì)數(shù)器20

14、01讀/寫(xiě)計(jì)數(shù)器1010讀/寫(xiě)計(jì)數(shù)器0000操 作A0A1CS8253寄存器選擇表內(nèi)部的各計(jì)數(shù)器的結(jié)構(gòu)&CLKGATE16位當(dāng)前計(jì)數(shù)值寄存器16位減一計(jì)數(shù)器16位計(jì)數(shù)初值寄存器OUT(減1至0時(shí))MSBLSB裝入初值LSBMSB鎖存后讀出當(dāng)前值8253基本功能具有三個(gè)相互獨(dú)立的16位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器都可設(shè)為按二進(jìn)制或BCD碼計(jì)數(shù) 具有計(jì)數(shù)和定時(shí)功能,基于減1計(jì)數(shù)工作在減1操作中,任何時(shí)刻計(jì)數(shù)器的值都可由CPU經(jīng)計(jì)數(shù)輸出寄存器讀取每個(gè)通道都可設(shè)定以6種工作方式之一進(jìn)行計(jì)數(shù)/定時(shí)定時(shí)器減為0后,可自動(dòng)裝入定時(shí)常數(shù)初值,并產(chǎn)生輸出信號(hào)二進(jìn)制計(jì)數(shù)時(shí)最小值為0001H,最大值為0十進(jìn)制(BCD碼)計(jì)

15、數(shù)時(shí)最小值為0001,最大值為0。8253的控制字及工作方式D7 D6 D5 D4 D3 D2 D1 D0D0=0,采用二進(jìn)制計(jì)數(shù);D0=1,采用二-十進(jìn)制計(jì)數(shù);D3D2D1=000,計(jì)數(shù)器工作在方式0D3D2D1=001,計(jì)數(shù)器工作在方式1 D3D2D1=*10,計(jì)數(shù)器工作在方式2 D3D2D1=*11,計(jì)數(shù)器工作在方式3 D3D2D1=100,計(jì)數(shù)器工作在方式4 D3D2D1=101,計(jì)數(shù)器工作在方式5D5D4=00,將當(dāng)前計(jì)數(shù)值鎖存至輸出寄存器中以供CPU讀;D5D4=01,只讀/寫(xiě)計(jì)數(shù)器低8位;D5D4=10,只讀/寫(xiě)計(jì)數(shù)器高8位;D5D4=11,先讀/寫(xiě)計(jì)數(shù)器低8位,再讀/寫(xiě)計(jì)數(shù)器高

16、8位;D7D6=00,計(jì)數(shù)器0D7D6=01,計(jì)數(shù)器D7D6=10,計(jì)數(shù)器D7D6=11,非法;例8253工作為計(jì)數(shù)器 1,方式 3,初值為4020H,十進(jìn)制計(jì)數(shù),設(shè)寄存器地址為40H 43H控制字 77H編程 MOV AL,77H OUT 43H,AL ;寫(xiě)計(jì)數(shù)器 1 的控制字 MOV AL,20H OUT 41H,AL ;寫(xiě)計(jì)數(shù)器 1 的低 8 位初值 MOV AL,40H OUT 41H,AL ;寫(xiě)計(jì)數(shù)器 1 的高 8 位初值8253的控制字0 10 1 1 1 11例將計(jì)數(shù)器2初始化為工作方式3,計(jì)數(shù)初值為533H,為二進(jìn)制計(jì)數(shù)方式,設(shè)寄存器地址為40H 43H控制字 1 0 1 1

17、0 1 1 0B6HMOV AL,0B6H;計(jì)數(shù)器2,先低后高字節(jié)OUT 43H,AL;寫(xiě)命令字MOV AX,533H;計(jì)數(shù)初值OUT 42H,AL;寫(xiě)計(jì)數(shù)值低位MOV AL,AHOUT 42H,AL;寫(xiě)計(jì)數(shù)值高位8253的控制字例:某8253占用端口地址為40H 43H,其中計(jì)數(shù)器2工作在方式 0,初值為4020H,二進(jìn)制計(jì)數(shù),試讀出計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值。讀計(jì)數(shù)值程序段: MOV AL,80H OUT 43H,AL ;發(fā)控制字鎖存計(jì)數(shù)器2的值 IN AL,42H ;讀計(jì)數(shù)器 1 的低 8 位 MOV BL,AL IN AL,42H ;讀計(jì)數(shù)器 1 的高 8 位 MOV BH,AL ;BX中為

18、計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值 x xx x 0 0 0 1控制字8253的程序控制初始化:8253沒(méi)有復(fù)位端,開(kāi)機(jī)后必須進(jìn)行軟件初始化。另外,在改變計(jì)數(shù)器工作方式時(shí)也需要對(duì)8253進(jìn)行初始化設(shè)置。必須先寫(xiě)入控制字,再設(shè)置計(jì)數(shù)初值。在設(shè)置計(jì)數(shù)初值時(shí),要根據(jù)控制字中內(nèi)容確定是只寫(xiě)高8位,只寫(xiě)低8位,還是先低后高寫(xiě)入16位。讀計(jì)數(shù)值:CPU應(yīng)先送計(jì)數(shù)器鎖存命令,再用輸入指令從輸出鎖存器中獲取計(jì)數(shù)值。 讀取計(jì)數(shù)值時(shí)應(yīng)根據(jù)控制字內(nèi)容確定是只讀高8位,只讀低8位,還是先低后高讀出16位。工作方式與功能 方式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷輸出(軟件啟動(dòng))方式1:可編程單脈沖(硬件啟動(dòng))方式2:速率發(fā)生器(軟、硬件啟動(dòng))方式3

19、:方波發(fā)生器(軟、硬件啟動(dòng))方式4:軟件觸發(fā)選通方式5:硬件觸發(fā)選通方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷預(yù)置初值之后,OUT保持低電平。只有當(dāng)計(jì)數(shù)器中計(jì)數(shù)值減為0時(shí),OUT才會(huì)輸出高電平并維持計(jì)數(shù)初值寄存器CR在延遲一個(gè)CLK脈沖后傳到CE中,因此N1個(gè)CLK脈沖后計(jì)數(shù)值才變?yōu)?GATE=0,計(jì)數(shù)暫停;1,繼續(xù)計(jì)數(shù)計(jì)數(shù)過(guò)程中可重寫(xiě)或改變計(jì)數(shù)值8253工作方式0的波形圖CW 寫(xiě)入后使輸出OUT變?yōu)榈碗娖絃SB之后的第一個(gè)CLK下降沿才將計(jì)數(shù)初值送入計(jì)數(shù)器計(jì)數(shù)減至0后OUT 恢復(fù)為高電平GATE信號(hào)可以使計(jì)數(shù)暫停計(jì)數(shù)過(guò)程中重新寫(xiě)入的初值將在之后的第一個(gè)CLK下降沿起作用6種工作方式的對(duì)比方式1可編程單脈沖門(mén)控信

20、號(hào)GATE正脈沖啟動(dòng)定時(shí)/計(jì)數(shù)允許當(dāng)前計(jì)數(shù)未完時(shí)的多次重觸發(fā),GATE再觸發(fā)后,OUT輸出會(huì)保持N個(gè)CLK脈寬的低電平下個(gè)GATE正脈沖觸發(fā)信號(hào)到來(lái)時(shí),會(huì)將新初值裝入CE中,使計(jì)數(shù)單元從新初值開(kāi)始計(jì)數(shù)方式2速率發(fā)生器計(jì)數(shù)器減到1時(shí),OUT僅輸出一個(gè)CLK脈寬的低電平,然后自動(dòng)裝入重新計(jì)數(shù)GATE由低變高會(huì)重新裝入初值新初值在下次計(jì)數(shù)才起作用方式3方波發(fā)生器與方式2類(lèi)似,但其輸出方波或準(zhǔn)方波計(jì)數(shù)值完成一半時(shí),使OUT變低,直到計(jì)數(shù)任務(wù)全部完成為止,OUT恢復(fù)為高初值為偶數(shù)時(shí),每次減2,直至0時(shí)OUT輸出變?yōu)榈碗娖?,然后又從初值開(kāi)始,每次減2,直至0時(shí)OUT輸出變?yōu)楦唠娖匠踔禐槠鏀?shù)時(shí),先減1,后每次減2,直至為0。即有(N+1)/2個(gè)脈寬的高電平,(N-1)/2個(gè)脈寬的低電平GATE由低變高時(shí),重新開(kāi)始計(jì)數(shù)方式4軟件觸發(fā)選通計(jì)數(shù)減到0時(shí)輸出一個(gè)脈寬的低電平GATE由低到高時(shí),計(jì)數(shù)器恢復(fù)工作,而不重置初值計(jì)數(shù)過(guò)程中,新初

溫馨提示

  • 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)論