第七章典型可編程接口芯片及應用_第1頁
第七章典型可編程接口芯片及應用_第2頁
第七章典型可編程接口芯片及應用_第3頁
第七章典型可編程接口芯片及應用_第4頁
第七章典型可編程接口芯片及應用_第5頁
已閱讀5頁,還剩175頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7-1第七章典型可編程接口芯片及應用7.1可編程中斷控制器芯片82597.2可編程定時器/計數(shù)器芯片82547.3可編程并行接口芯片82557.4可編程串行接口芯片INS82507.5可編程DMA控制器芯片82377-27.1可編程中斷控制器芯片82597.1.1基本功能7.1.2內(nèi)部結構與外部引腳7.1.3

中斷工作過程

7.1.4端口尋址與讀/寫控制7.1.5命令字格式與編程7.1.68259在PC系列機中斷系統(tǒng)中的應用7-37.1.1基本功能中斷請求鎖存中斷源優(yōu)先級排隊中斷源識別中斷源屏蔽中斷向量提供

……8259是Intel公司專為控制優(yōu)先級中斷而設計的NMOS芯片。內(nèi)部集成了與中斷控制有關的幾乎所有基本功能,包括:而且各種功能都可通過編程設定或變更。7-47.1.1基本功能芯片的外部接口特性內(nèi)部工作原理應用編程的方法

對可編程芯片的掌握,關鍵要從如下幾個方面來掌握:7-5

具體掌握如下內(nèi)容:※

掌握芯片的外部引線及其功能,以便將它連接到微機系統(tǒng)中?!?/p>

掌握芯片的工作方式及工作特點,以便選擇適合于用戶要求的工作方式?!?/p>

熟悉芯片內(nèi)部的控制字和狀態(tài)字,它將決定芯片的工作方式及工作特點?!?/p>

掌握芯片的尋址和內(nèi)部各端口寄存器的讀寫控制方法?!?/p>

掌握芯片的初始化編程。7.1.1基本功能7-6D7~D0RDWRA0CSCAS0CAS1CAS2SP/ENICW1ICW2ICW3ICW4初始化命令寄存器組內(nèi)部總線INTAIR0IR1IR2IR7數(shù)據(jù)總線緩沖器中斷服務寄存器(ISR)優(yōu)先級分析器(PR)中斷屏蔽寄存器(IMR)操作命令寄存器組OCW1OCW2OCW3中斷請求寄存器

(IRR)???讀/寫電路級聯(lián)緩沖器/比較器INT控制邏輯7.1.2內(nèi)部結構與外部引腳IRR用于寄存所有要求服務的中斷請求PR用于確定中斷請求寄存器IRR中各位的優(yōu)先等級ISR用于寄存所有正在被服務的中斷級

用于控制多片8259的級聯(lián),以實現(xiàn)將優(yōu)先中斷等級最多擴展到64級。7-77.1.3中斷工作過程

8259在8086模式下,對外部中斷請求的響應和處理過程如下:①當中斷請求輸入線IR0~IR7中有一條或多條變高時,則中斷請求寄存器IRR的相應位置"1"。②若中斷請求線中至少有一條是中斷允許的,則8259由INT引腳向CPU發(fā)出中斷請求信號。④8259在接收到CPU的INTA信號后,使最高優(yōu)先級的ISR位置“1”,而相應的IRR位清“0”,但在該中斷響應周期中,8259并不向系統(tǒng)總線送任何內(nèi)容。③如CPU是處于開中斷狀態(tài),則在當前指令執(zhí)行完后,用INTA信號作為響應。7-8

7.1.4端口尋址與讀/寫控制A0、RD、WR、CS對8259讀寫操作的控制作用禁止

×

×

×

×

1

×禁止

×

×

1

1

×

×IMR→數(shù)據(jù)總線

1

0

0

1IRR、ISR、中斷級BCD碼→數(shù)據(jù)總線②

1

0

0

0數(shù)據(jù)總線→ICW2、ICW3、ICW4、OCW1①

×

×

0

1

0

1數(shù)據(jù)總線→ICW1

×

1

0

1

0

0數(shù)據(jù)總線→OCW3

1

0

0

1

0

0數(shù)據(jù)總線→OCW2

0

0

0

1

0

0

D3

CSA0RDWRD4讀寫操作①這些命令的輸入順序由8259內(nèi)部的時序邏輯通過適當?shù)臅r序控制加以保證。②對IRR、ISR或中斷級BCD碼的選擇,決定于在讀出操作之前,CPU寫入的操作命令字OCW3的內(nèi)容。7-97.1.5命令字格式與應用編程8259的編程是指用戶通過寫操作送一些命令字(也叫控制字)到8259內(nèi)部的控制寄存器(命令字寄存器),用于設定或動態(tài)改變它的工作方式和控制模式。

初始化命令字與初始化編程

操作命令字與操作方式編程

可編程設置的工作方式7-10對初始化編程要注意兩點:寫ICW的流程必須按規(guī)定順序?qū)?,不能顛倒。各ICW的格式/功能。1.初始化命令字與初始化編程

初始化編程是通過寫初始化命令字ICW1~ICW4來實現(xiàn)的,寫入流程如圖所示。寫ICW1寫ICW2初始化完寫ICW3級聯(lián)?Y寫ICW4要ICW4?NYN7.1.5命令字格式與編程7-11格式:A0D7D6D7D4D3D2D1D00A7A6A71LTIMASIC4設置中斷請求觸發(fā)方式。清除中斷屏蔽寄存器,設置中斷優(yōu)先級排隊,IRQ0~IRQ7依次降低。指明系統(tǒng)使用的8259是單片還是多片級聯(lián)。0--不需ICW41--需要ICW40--多片82591--單片8259地址間距0--間距81--間距40--邊沿觸發(fā)1--電位觸發(fā)中斷向量地址,僅在8080/8087模式下用初始化命令字ICW1ICW2ICW3ICW4ICW1的功能:7.1.5命令字格式與編程7-12ICW2的格式:A0D7D6D7D4D3D2D1D01A17/T7A14/T6A13/T7A12/T4A11/T3A10A9A88080/8087模式下A17~A8中斷向量地址8086/8088模式下T7~T3中斷向量號

在8080/8087模式系統(tǒng)中,用于設定中斷向量地址的高8位:A17~A8;而在8086/8088模式系統(tǒng)中,則用于設定中斷向量號的高7位:T7~T3。初始化命令字ICW1ICW2ICW3ICW4ICW2的功能:7.1.5命令字格式與編程7-13ICW3是級聯(lián)命令字。用于定義82598根中斷請求線上有無級聯(lián)8259從片。

若系統(tǒng)只有一片8259,則不用ICW3,若有多片8259級聯(lián),則每一片8259都必須使用ICW3,且主、從片的ICW3格式不同。主片ICW31—IRQi線上有從片0—IRQi線上無從片A0D7D6D7D4D3D2D1D0S7S6S7S4S3S2S1S01A0D7D6D7D4D3D2D1D0100000ID2ID1ID000000000000001111111111111234767IRQi從片ICW3初始化命令字ICW1ICW2ICW3ICW4ICW3的功能:7.1.5命令字格式與編程7-14

用于定義8259的工作模式,以及中斷服務程序是否要送出EOI命令,以清除中斷服務寄存器ISR,允許其他中斷。A0D7D6D7D4D3D2D1D01000SFNMBUFM/SAEOIPMICW4格式:初始化命令字ICW1ICW2ICW3ICW41--特殊全嵌套方式0--一般全嵌套方式0×非緩沖方式10緩沖方式/從控制器11緩沖方式/主控制器1--8086/8088

模式0--8080/8087

模式1--自動EOI0--正常EOIICW4的功能:7.1.5命令字格式與編程7-15再編寫初始化程序段ICW2A0D7D6D7D4D3D2D1D01A17/T7A14/T6A13/T7A12/T4A11/T3A10A9A88080/8087模式下A17~A8中斷向量地址8086/8088模式下T7~T3中斷向量號A0D7D6D7D4D3D2D1D00A7A6A71LTIMASIC40--不需ICW41--需要ICW40--多片82591--單片8259地址間距0--間距81--間距40--邊沿觸發(fā)1--電位觸發(fā)中斷向量地址,僅在8080/8087模式下用

例7.1

某80X86微機的中斷系統(tǒng)有7個外部中斷源,接在8259的IR3~IR7端,中斷類型碼分別為7BH、7CH、7DH、7EH和7FH,8259的端口地址為B0H、B1H。允許它們以全嵌套工作方式工作,中斷請求采用電平觸發(fā)方式。試編寫8259的初始化程序。解:

先確定初始化命令字ICWICW1:00011011ICW2:01011000ICW3:不寫ICW4:00000001MOVDX,0B0H;指向端口0MOVAL,1BH;ICW1OUTDX,AL;寫ICW1INCDX ;指向端口1MOVAL,78H;ICW2OUTDX,AL;寫ICW2MOVAL,01H;ICW4OUTDX,AL;寫ICW47.1.5命令字格式與編程1--8086/8088

模式0--8080/8087

模式1--特殊全嵌套方式0--一般全嵌套方式1--自動EOI0--正常EOI非緩沖方式緩沖方式/從控制器緩沖方式/主控制器00111×A0D7D6D7D4D3D2D1D01000SFNMBUFM/SAEOIPMICW47-16例7.2某80X86系統(tǒng)的中斷系統(tǒng)由二片8259級聯(lián)而成,主、從8259的IR7上各接有一個外部中斷源,其中斷向量號分別為0DH,87H。假設它們的中斷入口地址均在同一段中,段基址為4310H,偏移地址分別為1230H、2340H;所有中斷都采用邊沿觸發(fā)方式、全嵌套方式、正常EOI結束方式。

⑴寫出主、從8259中斷向量號范圍;⑵假定主、從片端口地址分別為20H~21H、26H~27H,試畫出電路連線圖;⑶試編寫全部初始化程序。7.1.5命令字格式與編程7-17

——有選擇地寫操作命令字OCW1~OCW3到操作命令寄存器組。

這項工作可在8259已經(jīng)初始化后的任何時候進行,目的是對中斷處理過程實現(xiàn)動態(tài)控制。

如果不寫操作命令字,8259就按初始化編程所設置好的方式和模式工作,工作于IR0優(yōu)先級最高,從IR0~IR7優(yōu)先級依次降低的固定優(yōu)先級的全嵌套工作方式。

如需改變初始化時設置的中斷控制方式,或屏蔽某些中斷級,讀出一些狀態(tài)信息,就必須在8259進入工作之前或工作過程中酌情寫入操作命令字OCW。2.操作命令字與操作方式編程7.1.5命令字格式與編程7-18用來設置/清除對中斷源的屏蔽格式:A0D7D6D7D4D3D2D1D01M7M6M7M4M3M2M1M00--中斷請求被開放1--中斷請求被屏蔽操作命令字OCW1OCW2OCW3OCW1的功能:7.1.5命令字格式與編程7-19

用于設置中斷優(yōu)先級是否循環(huán),循環(huán)的方式及中斷結束的方式。A0D7D6D7D4D3D2D1D00RSLEOI00L2L1L0標志位非特殊EOI特殊EOI中斷結束自動循環(huán)優(yōu)先級清除自動循環(huán)EOI自動循環(huán)優(yōu)先級設置自動循環(huán)特殊循環(huán)EOI特殊循環(huán)優(yōu)先級設置停止操作特殊循環(huán)操作命令字OCW1OCW2OCW3最低優(yōu)先級編碼00001001201030114100710161107111001011101100000111110010OCW2的功能:7.1.5命令字格式與編程7-20

用于設置查詢方式、特殊屏蔽方式、以及用來讀8259的IRR、ISR、IMR的當前狀態(tài)格式:A0D7D6D7D4D3D2D1D0000S1S21PPRRIS標志位操作命令字OCW1OCW2OCW300001111無作用特殊屏蔽方式清除特殊屏蔽方式設置00001111無作用下一個RD讀IRR下一個RD讀ISR1--查詢命令0--不查詢OCW3的功能:7.1.5命令字格式與編程7-21

把正在執(zhí)行的高級中斷屏蔽掉,而開放較低級中斷的屏蔽方式。

先利用OCW1命令將正在執(zhí)行的高級中斷屏蔽掉;然后用OCW3命令(D6D7=11)設置特殊屏蔽方式,這樣可使ISR相應位的功能中止,直到清除特殊屏蔽方式。

利用該功能,可使中斷不受優(yōu)先級限制,而人為地為某一較低優(yōu)先級中斷服務,這就為用戶提供了很大的靈活性。實現(xiàn)方法:操作命令字OCW1OCW2OCW3①特殊屏蔽方式7.1.5命令字格式與編程7-22

例如系統(tǒng)正在為IRQ4中斷服務,服務過程中為了允許比它低的中斷得到響應,可用特殊屏蔽命令字將IRQ4中斷暫時屏蔽,當為較低級中斷服務完后,再解除對IRQ4中斷的屏蔽,以最后完成對它的中斷服務。.;為IRQ4中斷服務的程序

.;屏蔽除準備允許響應的低級中斷

.;外的所有其它低級中斷。CLI;為在IRQ4服務程序中開放低級中;斷設置特殊命令字而關中斷。MOVAL,10H;送屏蔽IRQ4的OCW1命令MOVDX,PORT1;送OCW1口地址→DXOUTDX,AL;OCW1→8259,A0=1MOVAL,68H;送特殊屏蔽方式字:;OCW3→AL,S1S2=11。操作命令字OCW1OCW2OCW3特殊屏蔽舉例:7.1.5命令字格式與編程7-23MOVDX,PORT2;送OCW3口地址→DXOUTDX,AL;OCW3→8259,A0=0STI;開中斷...CLI;為復位特殊屏蔽方式而關中斷MOVAL,48H;OCW3→AL,S1S2=10MOVDX,PORT2;送OCW3口地址→DXOUTDX,AL;OCW3→8259,A0=0MOVAL,0;解除對IRQ4的屏蔽MOVDX,PORT1;OCW1口地址→DXOUTDX,AL;OCW1→8259,A0=1STI;開中斷... ;包含EOI的中斷結束命令IRET

;中斷結束返回操作命令字OCW1OCW2OCW37.1.5命令字格式與編程7-24CPU根據(jù)需要隨時查詢中斷源,當查詢到有中斷請求時,就轉入為相應中斷源服務的程序中去。系統(tǒng)關中斷,寫入查詢命令字OCW3至0端口

查詢命令字為:00001100實現(xiàn)方法:讀0口,可讀到下列查詢字:

I

XXXX

W2W1W0I=1表示有中斷請求,W2W1W0為中斷請求源中優(yōu)先級最高者的編碼,程序執(zhí)行轉到W2W1W0所對應的中斷源服務程序去。I=0表示無中斷請求,CPU繼續(xù)執(zhí)行原程序。操作命令字OCW1OCW2OCW3②查詢方式7.1.5命令字格式與編程7-25讀命令字格式為:000010R1R0R1R0=10,讀出的是中斷請求寄存器IRR;R1R0=11,讀出的是中斷服務寄存器ISR。操作命令字OCW1OCW2OCW3■讀IRR、ISR的方法:

先發(fā)讀命令字OCW3到0端口,再讀0端口?!鲎xIMR的方法:直接對1端口進行讀操作,即可讀出IMR的內(nèi)容。③讀8259狀態(tài)7.1.5命令字格式與編程7-263.可編程設置的工作方式8259具有十分靈活的中斷管理方式:中斷優(yōu)先級管理——中斷管理的核心

1)中斷嵌套方式

2)中斷優(yōu)先級循環(huán)方式

3)中斷屏蔽方式

4)程序查詢方式

5)中斷結束方式

6)中斷請求觸發(fā)方式

7)讀狀態(tài)方式

8)數(shù)據(jù)緩沖方式

9)多片級聯(lián)方式7.1.5命令字格式與編程7-271)中斷嵌套方式8259支持兩種中斷嵌套方式:全嵌套方式和特殊全嵌套方式。①全嵌套方式一種最普通的工作方式,芯片寫完初始化命令字ICW后,如不再寫入操作命令字OCW,則自動進入并保持此方式。此時中斷優(yōu)先級固定為IRQ0最高,IRQ7最低,且高級中斷源可中斷低級中斷源。7.1.5命令字格式與編程7-28全嵌套方式工作的條件:主程序必須開中斷。每進入一個中斷服務程序,系統(tǒng)都會自動關中斷,故必須在中斷服務程序中再次開中斷,才有可能嵌套更高級的中斷。每次中斷服務程序結束時,必須執(zhí)行中斷結束命令,清除ISR中對應的位,才能返回斷點并響應再次到來的中斷請求。7.1.5命令字格式與編程7-29全嵌套中斷方式流程開中斷主程序IRQ3中斷服務程序IRQ1中斷請求開中斷中斷結束(EOI)關中斷返回IRQ1中斷服務程序IRQ3中斷請求開中斷開中斷關中斷中斷結束(EOI)返回開中斷7.1.5命令字格式與編程7-30②特殊全嵌套方式

適用于多片8259級聯(lián)且響應的中斷優(yōu)先級保存在各從片中的大系統(tǒng)。與普通全嵌套方式相比,特殊全嵌套方式的特殊性表現(xiàn)在:當從片的中斷請求被響應后,主片并不封鎖從片的INT輸入端,以便從片中優(yōu)先級更高的請求可得到響應。在從片中斷服務程序快結束時要檢查其ISR內(nèi)容,檢測剛服務完的中斷是否為該從片唯一的中斷請求源,如是,則連發(fā)兩個非特殊EOI命令,使從片、主片相繼結束中斷;否則,只發(fā)一個EOI命令,使主片仍不結束中斷。7.1.5命令字格式與編程7-318259提供了兩種中斷優(yōu)先級循環(huán)方式:①自動循環(huán)優(yōu)先級方式—

適合于各中斷源的優(yōu)先級相同的應用場合,一個中斷源被服務后,其優(yōu)先級自動排到最低。

此方式又分非自動結束方式下循環(huán)和自動結束方式下循環(huán)兩種,具體通過寫OCW2最高三位設置。②特殊循環(huán)優(yōu)先級方式—

適合于中斷源的優(yōu)先級需隨意改變的應用場合,由OCW2的最高三位再輔之以最低三位設定,通過設定最低三位編碼指定最低優(yōu)先級從而改變各中斷源優(yōu)先級。2)中斷優(yōu)先級循環(huán)方式7.1.5命令字格式與編程7-32具體屏蔽方式有兩種:①普通屏蔽方式:用OCW1設置IMR中某一位或某幾位為1,即可將相應中斷請求屏蔽掉。②特殊屏蔽方式:允許開放低級中斷。

用OCW3設置該方式,OCW1建立普通屏蔽信息,當響應一個中斷請求時,開放所有未被OCW1屏蔽的其它優(yōu)先級中斷。3)中斷屏蔽方式7.1.5命令字格式與編程7-33

這種方式下CPU可獲得當前請求中斷服務的優(yōu)先級。

實現(xiàn)方法是將OCW3的D2位設置為1,再緊跟一個讀命令。4)程序查詢方式7.1.5命令字格式與編程7-348259提供了兩種中斷結束方式:自動中斷結束--只能用于不要求中斷嵌套的場合非自動中斷結束--中斷服務程序要借助于OCW2發(fā)出中斷結束命令EOIEOI命令又有兩種形式:工作在全嵌套方式下的非特殊EOI命令--由OCW2最高的三位為001規(guī)定;工作在非嵌套方式下的特殊EOI命令--由OCW2最高的三位為011規(guī)定,同時必須由其最低三位指定需復位的ISR中的中斷級編碼。5)中斷結束方式7.1.5命令字格式與編程7-35

通過設置初始化命令字ICW1的D3位為0或為1,可使8259工作于邊沿(上升沿)觸發(fā)方式或電平(高電平)觸發(fā)方式。

在電平觸發(fā)方式下,CPU在發(fā)出EOI命令前或再次開放中斷前,必須確保已響應的中斷請求IRi為低電平,以防出現(xiàn)第二次中斷。說明:6)中斷請求觸發(fā)方式

無論哪種觸發(fā)方式,必須確保在接收到第1個INTA脈沖負跳變之前,IRi輸入保持高電平,若IRi輸入提前變低,則CPU響應中斷時就自動設定IR7。這樣可防止由IRi輸入端上嚴重的噪聲干擾產(chǎn)生的中斷。7.1.5命令字格式與編程7-368259內(nèi)部的IRR、ISR和IMR三個寄存器狀態(tài),可通過適當?shù)妮斎朊钭x至CPU中。7)讀狀態(tài)方式7.1.5命令字格式與編程7-37---常用于多片級聯(lián)的大系統(tǒng)中設置方式:將ICW4的D7位(BUF位)置“1”。8)數(shù)據(jù)緩沖方式

各片8259的中斷向量號均要在接收第二個INTA脈沖之后向數(shù)據(jù)總線發(fā)送,故芯片需要通過總線緩沖器掛接在數(shù)據(jù)總線上。采用數(shù)據(jù)緩沖方式后,將在SP/EN端輸出一個有效低電平,開啟緩沖器工作。7.1.5命令字格式與編程7-38

一個系統(tǒng)中,可將多片8259級聯(lián),級聯(lián)后一片8259為主片,若干片8259為從片,最多可有8個從片,將中斷源擴展到64個。

主片和每個從片都必須通過寫入ICW3分別初始化和設置必要的工作狀態(tài)。每片8259都必須分配兩個互不相同的端口地址:偶地址、奇地址各一個。9)多片級聯(lián)方式7.1.5命令字格式與編程7-397.1.68259在PC系列機中斷系統(tǒng)中的應用1.8259在PC/XT機中的應用NMI屏蔽寄存器屏蔽位8087中斷請求RAM奇偶錯I/O通道檢測錯≥1&8253定時器鍵盤未用異步通信卡(輔)異步通信卡(主)硬盤軟盤并行打印機IRQ2IRQ78259AINTACSXIORXIOWXA0CAS0CAS1CAS2IR0IR1IR2...IR7CSRDA0WRSP/ENINTAD7D0...INTAINTLS245LS245XD0XD7...D0D7...AD0AD7...NMIINTRAD0AD7...8088CPU8288總線控制器擴充插槽未用7-40

用戶在此基礎上附加8259芯片,擴充中斷請求線的方法和原理。擴充方法:AEN82598088INTRINTAINTINTA擴充插座IRQ2IRQ6IRQ7A0A1A91譯碼器●●●●附加的8259A0INTIR0IR7SPCAS0CAS1CAS2INTAIRQ0XIRQ7X8.2kΩ+5V●D0D7G74LS245D7D0IORIOWCSRDWR..................7.1.68259在PC系列機中斷系統(tǒng)中的應用7-41中斷原理

——采用向量式和查詢式相結合的中斷源識別和判優(yōu)機理當附加8259的IRQi中有中斷請求時:附加8259INT信號系統(tǒng)板8259INT信號CPU8088系統(tǒng)板8259INTA①②IR2的中斷向量號0AH程序轉入IR2的中斷服務程序:向附加8259“0"口發(fā)查詢命令字OCW3從而轉入W2W1W0所指向的中斷處理程序。結束后返回系統(tǒng)板8259的IR2服務程序返回被中斷的主程序7.1.68259在PC系列機中斷系統(tǒng)中的應用7-42說明PC/XT的I/O擴展槽上未引出級聯(lián)線CAS2-CAS0,故不可能采用主、從片級聯(lián)方法。所以,用本法擴充后的中斷系統(tǒng)工作機理與通過級聯(lián)線擴充的主-從式兩級8259系統(tǒng)的工作原理有根本區(qū)別,這也就決定了它在硬件連接上和初始化編程上的不同點:①SP/EN、CAS2~CAS0和INTA都不必使用。②對附加8259的中斷響應,通過在系統(tǒng)板上8259的IRQ2中斷服務程序中查詢附加8259的狀態(tài)來進行,故附加8259無需向CPU送中斷向量號。7.1.68259在PC系列機中斷系統(tǒng)中的應用7-43③對附加8259初始化編程時,ICW2、ICW3不必寫。④為了對附加8259的中斷請求級進行開放/禁止控制,可對其寫中斷屏蔽字OCW1。⑤如附加8259中ICW4定義的是非自動EOI方式,則在其中斷處理程序的最后要通過寫OCW2來發(fā)中斷結束命令;否則,不必寫OCW2。注意:

為對附加8259編程(寫命令字、讀狀態(tài)),同樣需給它分配2個在系統(tǒng)中具有唯一性的0、1端口地址。7.1.68259在PC系列機中斷系統(tǒng)中的應用7-442.8259在PC/AT機中的應用7.1.68259在PC系列機中斷系統(tǒng)中的應用NMI屏蔽寄存器屏蔽位RAM奇偶錯I/O通道檢查錯串行或并行通信并行口2INTA1CSIR0IR1IR2IR3IR4IR5IR6IR7INTCAS2~CAS08259主片IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15實時鐘指向INT0AH保留保留保留協(xié)處理器硬盤保留地址A0INTA2CS(片選2)(片選1)IR0IR1IR2IR3IR4IR5IR6IR7A0CSCAS2~CAS0SP/ENINT≥1&數(shù)據(jù)D7~D0編程/中斷號NMIINTRS2S1S080286CPUINTAIORIOWS2S1S0總線控制器SP/ENINTARDWRWRRDINTA+5V日時鐘鍵盤IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7串行口軟盤并行口1地址A0CS...A08259從片7-45

這種將兩片8259級聯(lián)在一起的方法與前述附加8259的方法是不一樣的,故中斷工作機理也不一樣:

從片管理的8級中斷排隊判優(yōu)后,再參與到主片的8級判優(yōu)。

此時主片工作在特殊全嵌套方式,從片工作在普通全嵌套方式。7.1.68259在PC系列機中斷系統(tǒng)中的應用7-463.8259在80386及以上機型中的應用7.1.68259在PC系列機中斷系統(tǒng)中的應用80386/80486微機的中斷控制邏輯,在原理上也是由幾個8259電路組成的,不過它們不是一個個獨立的8259芯片,而是和其它功能電路一起集成在一個VLSI的外圍接口芯片中。7-477.2可編程定時器/計數(shù)器芯片82547.2.2內(nèi)部結構與外部引腳7.2.4六種工作方式7.2.5應用編程7.2.3端口尋址與讀/寫控制7.2.1基本功能7.2.68254在PC系列機定時系統(tǒng)中的應用7-487.2.1基本功能8254具有以下基本功能:有3個獨立的16位計數(shù)器通道每個計數(shù)器可按二進制或十進制(BCD)計數(shù)每個計數(shù)器可工作于6種不同工作方式每個計數(shù)器允許的最高計數(shù)頻率為10MHz(8253為2MHz)有讀回命令(8253沒有),可以讀出當前計數(shù)單元的內(nèi)容和狀態(tài)寄存器內(nèi)容每個計數(shù)器通道的邏輯功能完全相同,既可作定時器用,又可作計數(shù)器用7-497.2.2內(nèi)部結構與外部引腳與外部相連的引腳,取決于工作方式GATE0GATE2D7~D0RDWRA1A0CS數(shù)據(jù)總線緩沖器讀寫控制邏輯控制字寄存器CLK0OUT0CLK1GATE1OUT1CLK2OUT2內(nèi)部結構圖內(nèi)部總線計數(shù)器通道0計數(shù)器通道1計數(shù)器通道2

每個計數(shù)器既可用作計數(shù)器,又可用作定時器,差別在于:計數(shù)脈沖間隔不一定相同,而定時脈沖要求周期一定。

與微機相連的引腳,接口特性與8259和各類存儲器芯片類似每個計數(shù)器內(nèi)含:計數(shù)工作單元CE初值寄存器CR狀態(tài)寄存器SR輸出鎖存器OL狀態(tài)鎖存器SL7-507.2.3內(nèi)部端口尋址與讀寫控制CSRDWRA1A0讀/寫操作說明00000000011110000011100110010101010010011111××××××寫計數(shù)通道0的CR寫計數(shù)通道1的CR寫計數(shù)通道2的CR寫控制寄存器讀通道0的OL或狀態(tài)鎖存器讀通道1的OL或狀態(tài)鎖存器讀通道2的OL或狀態(tài)鎖存器無操作禁止使用無操作7-517.2.4六種工作方式8254中各計數(shù)器通道均有6種工作方式可供選擇:方式0—

計數(shù)結束中斷方式方式1—

硬件可重觸發(fā)單穩(wěn)方式方式2—

速率波發(fā)生器方式方式3—

方波方式方式4—

軟件觸發(fā)選通方式方式5—

硬件觸發(fā)選通方式門控信號GATE的功能輸出信號OUT的波形啟動計數(shù)的條件和改變初值的影響7-52計數(shù)結束中斷方式,OUT輸出波形如下:GATE=1OUT寫入計數(shù)值計數(shù)開始計數(shù)結束

方式0的工作特點

方式0的基本功能7.2.4六種工作方式計數(shù)由軟件啟動,每次寫入計數(shù)初值,只啟動一次計數(shù)。CPU寫計數(shù)初值到CR后,CR內(nèi)容并不立即裝入CE,而是在其后的下一個CLK脈沖下降沿才將CR內(nèi)容裝入CE,對該CLK脈沖不計數(shù)。(方式1~5相同)計數(shù)過程中,如果GATE=0則暫停計數(shù),直到GATE=1后再接著計數(shù)。計數(shù)過程中寫入新的計數(shù)初值,從寫入后下一個時鐘脈沖開始,以新的初值計數(shù)。1.方式0

2.方式13.方式24.方式35.方式46.方式57-53正常計數(shù)過程門控信號的作用改變計數(shù)初值

方式0的定時波形1.方式0

2.方式13.方式24.方式35.方式46.方式5OUTWRGATECLK①③②INTR4123303212450n=5n=4n=3INTR停止計數(shù)接著計數(shù)值下一脈沖影響計數(shù)7.2.4六種工作方式7-54

方式0的應用外部事件計數(shù)頻率計測脈沖寬度1.方式0

2.方式13.方式24.方式35.方式46.方式57.2.4六種工作方式7-55

方式1是硬件可重觸發(fā)單穩(wěn)方式。計數(shù)器相當于一個可編程的單穩(wěn)態(tài)觸發(fā)電路。

方式1的工作特點

方式1的基本功能GATE上升沿啟動計數(shù)可重觸發(fā)1.方式0

2.方式13.方式24.方式35.方式46.方式5OUT寫入計數(shù)值計數(shù)開始計數(shù)結束GATE7.2.4六種工作方式7-56

方式1的應用:實時監(jiān)控器(看門狗電路)正常計數(shù)過程計數(shù)過程可重觸發(fā)改變計數(shù)初值的影響

方式1的定時波形1.方式0

2.方式13.方式24.方式35.方式46.方式5CLK12333432200n=3n=3n=41單脈沖寬度單脈沖寬度單脈沖OUTGATEWR①②③啟動計數(shù)重裝計數(shù)值影響計數(shù)7.2.4六種工作方式7-57

方式2的工作特點:

方式2是速率波發(fā)生器方式。OUT端輸出一周期性負脈沖序列:

方式2的基本功能:自動重復計數(shù)??捎绍浖ㄟ^寫計數(shù)初值啟動,也可由GATE上升沿啟動。GATE變低電平時停止計數(shù);而當GATE由低重新變高時,重新由初值開始計數(shù)。1.方式0

2.方式13.方式24.方式35.方式46.方式5OUTGATE=1寫入計數(shù)值nTCLK7.2.4六種工作方式7-58

方式2的應用:正常計數(shù)過程門控信號的作用改變計數(shù)初值的影響1.方式0

2.方式13.方式24.方式35.方式46.方式5

方式2的定時波形:產(chǎn)生矩形波分頻CLK1230n=4n=5WR443410454321043210GATE①重復周期②③OUT重裝計數(shù)值下一周期影響計數(shù)停止計數(shù)7.2.4六種工作方式7-59

方式3是方波方式。OUT輸出的是方波或近似方波信號:

方式3的工作特點:1.方式0

2.方式13.方式24.方式35.方式46.方式5

方式3的基本功能:若計數(shù)初值n為偶數(shù),OUT輸出周期為n個CLK周期的標準方波。若n為奇數(shù),OUT端得到的是近似方波。GATE變低電平時停止計數(shù);而當GATE由低重新變高時,重新由初值開始計數(shù)。OUTGATE=1寫入計數(shù)值nTCLK7.2.4六種工作方式7-601.方式0

2.方式13.方式24.方式35.方式46.方式5

方式3的應用:產(chǎn)生方波分頻初值為偶數(shù)的計數(shù)初值為奇數(shù)的計數(shù)GATE的影響

方式3的定時波形CLKWR0220n=4n=5442400424204222420①②③OUTGATE標準方波近似方波重裝計數(shù)值停止計數(shù)7.2.4六種工作方式7-61

方式4的工作特點:1.方式0

2.方式13.方式24.方式35.方式46.方式5

方式4是軟件觸發(fā)選通方式。它與方式0的功能很相似,主要差別是計數(shù)結束時,在OUT端產(chǎn)生的是一個寬度為1個CLK周期的負選通脈沖。

方式4的基本功能:軟件裝入的計數(shù)初值只一次有效。計數(shù)過程中若GATE變低,則停止計數(shù),直到GATE恢復到高時,重新從初值開始減1計數(shù)。計數(shù)過程中若改變(重寫)計數(shù)初值,將從改變之后的下個CLK脈沖起,按新初值重新開始計數(shù)。7.2.4六種工作方式7-621.方式0

2.方式13.方式24.方式35.方式46.方式5正常計數(shù)GATE的影響改變初值的影響

方式4的定時波形CLK1233323200n=4n=4n=31GATEWR4441軟件啟動(第一次)軟件啟動(第二次)改變初值OUT②①③計數(shù)結束,輸出負脈沖停止計數(shù)下一時鐘影響計數(shù)重新計數(shù)7.2.4六種工作方式7-63

方式5的工作特點:1.方式0

2.方式13.方式24.方式35.方式46.方式5

方式5是硬件觸發(fā)選通方式。它與方式1很類似,也是由硬件觸發(fā)啟動計數(shù),差別在于OUT端產(chǎn)生的是一個寬度為1個CLK周期的負選通脈沖。

方式5的基本功能:硬件觸發(fā)啟動計數(shù)。當計數(shù)值計到0后,自動重新裝入初值n,但并不開始計數(shù),而是待GATE端出現(xiàn)新的上升沿后才重新作減1計數(shù)。7.2.4六種工作方式7-641.方式0

2.方式13.方式24.方式35.方式46.方式5

方式5的定時波形正常計數(shù)改變初值的影響CLKGATEWROUT1253323200n=4n=5144410硬件觸發(fā)啟動計數(shù)計數(shù)過程改變初值不影響計數(shù)硬件觸發(fā),以新初值計數(shù)輸出負脈沖7.2.4六種工作方式7-657.2.5應用編程

與其他可編程芯片一樣,為了使用8254,必須通過讀/寫操作對它編程。包括:工作之前寫入控制字,以確定每個計數(shù)器通道的工作方式。工作之前寫入每個計數(shù)器通道的計數(shù)初值。工作過程中改變某通道的計數(shù)初值。寫入命令字,以讀出某一時刻某一通道的CE內(nèi)容或狀態(tài)寄存器內(nèi)容。前兩項稱為初始化編程,后兩項為工作編程7-661.各種控制字、命令字和狀態(tài)字7.2.5應用編程

用于確定每個計數(shù)器通道的工作方式、鎖存CE和SR值,以及了解8254現(xiàn)行狀態(tài)。包括:方式控制字鎖存命令字讀回命令字狀態(tài)字寫入控制寄存器端口7-671.各種控制字、命令字和狀態(tài)字格式(1)方式控制字(2)鎖存命令字(3)讀回命令字(4)狀態(tài)字

——用以確定每個計數(shù)器通道的工作方式。格式如下:(1)8254的控制字7.2.5應用編程D7D6D5D4D3D2D1D0SC1SC0RW1RW0M2M1M0BCD選計數(shù)通道00011011選通道0無意義選通道1選通道200011011選讀/寫格式鎖存CE數(shù)據(jù)只讀寫低字節(jié)只讀寫高字節(jié)先讀寫低字節(jié)再讀寫高字節(jié)選計數(shù)碼制01二進制數(shù)BCD碼數(shù)000×10001×11100101方式0方式1方式2方式3方式4方式5

選工作方式7-68(2)8254的鎖存命令字(8253和8254均有)

——用來將當前的CE內(nèi)容鎖存到輸出鎖存器OL,以供CPU讀出。格式如下:1.各種控制字、命令字和狀態(tài)字格式(1)方式控制字(2)鎖存命令字(3)讀回命令字(4)狀態(tài)字7.2.5應用編程D7D6D5D4D3D2D1D0SC1SC000××××選計數(shù)通道00011011選通道0無意義選通道1選通道27-69(3)讀回命令字(8254特有)1.各種控制字、命令字和狀態(tài)字格式

用于將計數(shù)器通道的CE當前內(nèi)容鎖存入OL或?qū)顟B(tài)寄存器內(nèi)容鎖存入狀態(tài)鎖存器。格式如下:(1)方式控制字(2)鎖存命令字(3)讀回命令字(4)狀態(tài)字7.2.5應用編程D7D6D5D4D3D2D1D011COUNT

STATUSCNT2CNT1CNT001:選中通道20:鎖存狀態(tài)寄存器內(nèi)容1:選中通道01:選中通道1

0:鎖存當前計數(shù)器內(nèi)容7-708254每個計數(shù)器通道對應有一個狀態(tài)寄存器和一個狀態(tài)鎖存器。(4)8254的狀態(tài)字1.各種控制字、命令字和狀態(tài)字格式(1)方式控制字(2)鎖存命令字(3)讀回命令字(4)狀態(tài)字7.2.5應用編程OUT引腳現(xiàn)行狀態(tài)D7D6D5D4D3D2D1D0OUT

NULLCOUNTRW1RW0M2M1M0BCD1:無效計數(shù)0:可讀計數(shù)讀/寫格式1:BCD碼計數(shù)0:二進制計數(shù)工作方式7-71

讀當前計數(shù)值/狀態(tài)字的方法和原則①要讀當前計數(shù)值或當前狀態(tài),必須先寫讀回命令,再讀OL或SL。②對同一通道的計數(shù)器或狀態(tài)寄存器發(fā)多次讀回命令,但每次未立即讀取CE或SR,則只有第一次讀回命令引起的鎖存操作是有效的,以后讀出的值或狀態(tài)僅是第一次讀回命令鎖存的結果。③若讀回命令同時或先后鎖存了同一通道的計數(shù)值和狀態(tài),則對該通道第一次讀出的結果一定是狀態(tài)字(8位),隨后的一次或兩次讀出的才是計數(shù)值(一次還是兩次,取決于初始化時控制字確定的計數(shù)值字節(jié)數(shù))。7.2.5應用編程7-72

讀回命令舉例7.2.5應用編程命令命令作用執(zhí)行結果次序D7D6D5D4D3D2D1D0123456110000101110010011101100110110001100010011100010讀回通道0的計數(shù)值和狀態(tài)讀回通道1的狀態(tài)讀回通道2、1的狀態(tài)讀回通道2的計數(shù)值讀回通道1的計數(shù)值和狀態(tài)讀回通道0的狀態(tài)鎖存通道0的計數(shù)值和狀態(tài)鎖存通道1的狀態(tài)鎖存通道2的狀態(tài),但對通道1無效鎖存通道2的計數(shù)值鎖存通道1的計數(shù)值,但對狀態(tài)無效命令無效,通道0的狀態(tài)早已鎖存7-73(1)編程說明2.8254的編程方法及舉例初始化編程必須在8254/8253工作之前進行。對每個用到的通道都要初始化:先向控制寄存器(端口3)寫入方式控制字,再以通道地址(端口0,1或2)向CR寫入計數(shù)初值。如在工作過程中需要讀取某通道的當前狀態(tài)或當前CE值,應先向控制寄存器地址(端口3)寫讀回命令,再從該通道地址(端口0,1或2)讀出相應鎖存器內(nèi)容。7.2.5應用編程7-74

例7.3在8086系統(tǒng)中,用8254構成定時、計數(shù)與脈沖發(fā)生器。

系統(tǒng)功能(2)編程舉例利用通道0完成對外部事件計數(shù)功能,計滿100次向CPU發(fā)中斷請求。利用通道1產(chǎn)生頻率為1kHz的方波。利用通道2作1s標準時鐘。7.2.5應用編程7-75

系統(tǒng)的硬件連接:7.2.5應用編程CLK12.5MHz8086cpuD7~D0D7~D0RDRDWRWRM/IOA15A3A0=0A2A1INTRCS地址譯碼A1A08254通道1通道2通道0GATE1OUT11kHZCLK2GATE2OUT2CLK0GATE0OUT0示波器或其它波形接收器外部事件產(chǎn)生源IR0IR1IR2IR78259A??+5V+5V+5V7-76STT:MOVDX,port3;定義通道0工作于方式0MOVAL,10HOUTDX,ALMOVDX,port0;給通道0送計數(shù)初值

MOVAL,64HOUTDX,AL

初始化編程8254的初始化編程8259A的初始化編程填寫中斷向量表7.2.5應用編程7-77MOVDX,port3;定義通道1為方式3MOVAL,76HOUTDX,ALMOVDX,port1;給通道1送計數(shù)初值MOVAX,09C4HOUTDX,AL;先送低字節(jié)(C4H)MOVAL,AHOUTDX,AL;再送高字節(jié)(09H)MOVDX,port3;定義通道2為方式2MOVAL,0B5HOUTDX,ALMOVDX,port2;給通道2送計數(shù)初值MOVAX,1000HOUTDX,AL;先送低字節(jié)(00H)MOVAL,AHOUTDX,AL;再送高字節(jié)(10H)

初始化程序:(續(xù))7.2.5應用編程7-78例7.4用8254設計一個智能化頻率計。

設計思想

設計數(shù)初值為0。當定時時間到時,讀出通道1計數(shù)值N,則脈沖頻率為:脈沖頻率=

定時時間

65536-N

利用通道0產(chǎn)生定時(檢測)信號利用通道1對外部脈沖計數(shù)測量原理7.2.5應用編程7-79

硬件電路

驅(qū)動程序通道1方式0計數(shù)通道0方式2定時中斷請求1MHz外部脈沖+5V+5VCLK0GATE0OUT0CLK1GATE18254D0-D7D0-D7IORIOWRDWRCS80HA1A0A1A0MOVAL,34HOUT83H,ALMOVAX,1000OUT80H,ALMOVAL,AHOUT80H,ALMOVAL,70HOUT83H,ALMOVAL,0OUT80H,ALOUT80H,AL8254初始化程序中斷采集程序7.2.5應用編程7-807.2.68254在PC系列機定時系統(tǒng)中的應用PC系列機定時系統(tǒng)包括兩部分:CPU內(nèi)部控制時序產(chǎn)生電路:主要用于內(nèi)部

指令執(zhí)行過程。I/O接口芯片的定時產(chǎn)生電路:由8254負責。

以PC/AT機為例則:日歷時鐘由通道0完成DRAM刷新由通道1完成音頻信號產(chǎn)生(驅(qū)動揚聲器)由通道2完成7-818254各通道在AT定時系統(tǒng)中的作用及信號規(guī)定計數(shù)器通道0計數(shù)器通道1計數(shù)器通道2功能GATECLKOUT時鐘信號發(fā)生器刷新請求發(fā)生器音頻信號發(fā)生器+5V程控+5V1.1931816MHz1.1931816MHz1.1931816MHz8259IRQ08237DREQ0揚聲器7.2.68254在PC系列機定時系統(tǒng)中的應用7-82PC/AT機定時系統(tǒng)結構框圖PCLKDQCLRQRESET+5VDACK0(來自8257)????????來自8255PB0(端口0061H)IORIOWT/CCSA1A0D7~D0來自8255PB1(端口0061H)GATE0CLK0GATE1CLK1CLK2GATE2RDWRCSA1A0D7~D0OUT0OUT1OUT28254DSQCLR+5VIRQ0(到8259)DRAM刷新請求&SPK(去揚聲器)功放與低通濾波....7.2.68254在PC系列機定時系統(tǒng)中的應用7-837.2.68254在PC系列機定時系統(tǒng)中的應用8254三個通道在PC/AT機中的使用原理通道0:工作于方式3,計數(shù)初值(即65536)。

用作實時時鐘信號發(fā)生器,每輸出一

個方波,產(chǎn)生一次0級中斷,調(diào)用

INT8H一次。INT8H中斷服務程序的功能:完成日時鐘計時;實現(xiàn)軟驅(qū)馬達開啟時間管理,使其開啟一段

時間完成數(shù)據(jù)存取操作后,自動延時關停;進行INT1CH軟中斷調(diào)用,為用戶提供

可用的定時操作服務程序入口。7-847.2.68254在PC系列機定時系統(tǒng)中的應用通道1:工作于方式2,計數(shù)初值為18(即

0012H)。每隔15.08μs產(chǎn)生一負脈

沖,用作DRAM刷新時的定時控制。通道2:工作于方式3,計數(shù)初值為0533H輸出頻率約為900HZ的方波,為揚聲器發(fā)聲提供音頻信號。7-857.2.68254在PC系列機定時系統(tǒng)中的應用

利用通道2的配置,可實現(xiàn)軟件控制發(fā)聲,也可實現(xiàn)硬件控制發(fā)聲。軟件控制發(fā)聲:CPU控制8255A的PB1(即端口61H的D1位)的電平變化使揚聲器發(fā)聲。這時需要將8254的OUT2置于高電平,以允許來自PB1的音頻信號通過與門。硬件控制發(fā)聲:利用8254通道2工作于方式3輸出音頻信號來使揚聲器發(fā)聲。這是AT機定時系統(tǒng)提供的一項基本功能。改變其計數(shù)初值,可改變發(fā)音聲調(diào)。7-867.2.68254在PC系列機定時系統(tǒng)中的應用INAL,61HANDAL,0FCH;使PB1、PB0為0,關閉揚聲器

OUT61H,ALMOVAL,0B6H;設置通道2方式控制字,使之工作于方式3OUT43H,ALMOVAX,1352;按A調(diào)設置計數(shù)初值

OUT42H,AL;寫初值低字節(jié)

MOVAL,AH;寫初值高字節(jié)

OUT42H,ALINAL,61H;使PB1、PB0為1,啟動揚聲器工作

ORAL,03HOUT61H,AL實現(xiàn)硬件控制發(fā)聲例程:7-87BIOS對8254的初始化編程

MOVAL,36H;設置通道0方式控制字,選擇雙字節(jié)寫,方式3OUT43H,AL;二進制計數(shù)

MOVAL,0;計數(shù)初值設定位65536OUT40H,AL;寫入低字節(jié)

OUT40H,AL;寫入高字節(jié)

MOVAL,01010100B;設置通道1方式控制字,定義只寫低位字節(jié)

OUT43H,AL;方式2,二進制計數(shù)

MOVAL,18;預置計數(shù)初值

OUT41H,AL

7.2.68254在PC系列機定時系統(tǒng)中的應用7-887.2.68254在PC系列機定時系統(tǒng)中的應用MOVAL,10110110B;設置通道2方式控制字,定義雙字節(jié)寫

OUT43H,AL;方式3,二進制計數(shù)

MOVAX,533H;寫計數(shù)初值

OUT42H,AL;先寫低字節(jié)

MOVAL,AH;再寫高字節(jié)

OUTDX,ALINAL,61H;以下使8255的PB0、PB1為1,控制 揚聲器發(fā)聲

MOVAH,AL;將8255B口的內(nèi)容保存于AHORAL,03HOUT61H,ALBIOS對8254的初始化編程(續(xù))7-897.3可編程并行接口芯片82557.3.1基本功能7.3.2內(nèi)部結構與外部引腳7.3.3端口尋址與讀/寫控制7.3.4控制字格式與編程7.3.5

三種工作方式7-907.3.1基本功能8255具有以下基本功能:可提供兩個8位(A口、B口)和兩個4位(C口上半部、C口下半部)共24位的并行I/O數(shù)據(jù)端口線。8255可支持三種并行工作方式:基本輸入輸出(方式0)、應答式輸入輸出(方式1)和應答式雙向數(shù)據(jù)傳送(方式2)??梢酝ㄟ^編程設定A口工作于方式0、方式1和方式2,B口工作于方式0和方式1。無論8255工作在哪種方式,,A口、B口都是作為8位數(shù)據(jù)I/O端口用。C口各位的功能因工作方式的不同而有很大差別。7-917-927-93

這是所有可編程接口芯片都具有的,主要用于保證微處理器對芯片的編程、監(jiān)視和提供數(shù)據(jù)通道。這部分包括如下外部引腳:RESET(復位)A0、A1(端口選擇)CS(片選)RD、WR(讀/寫控制)D7~D0CPU數(shù)據(jù)線CPU復位線直連/經(jīng)反向器相連直連CPU低位地址線(A0、A1)高位地址線(A2以上)CPU控制線產(chǎn)生的讀寫信號直連譯碼相連直連2.與微處理器接口部分7.3.2內(nèi)部結構與引腳功能7-94A組控制端口A和C口上半部B組控制端口B和C口下半部實際上它們是同一個8位控制寄存器:

A組為高5位

B組為低3位

——A組和B組控制部件,它們根據(jù)CPU送來的控制字控制8255的工作方式和輸入/輸出狀態(tài),也可以根據(jù)CPU寫入的控制字對C口的每一位實現(xiàn)按位置“1”或置“0”控制。其中:3.內(nèi)部控制部分7.3.2內(nèi)部結構與引腳功能7-957.3.3端口尋址與讀/寫控制

00100

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

A口

01100

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

B口

10100

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

C口

11100

數(shù)據(jù)總線控制寄存器

00010

A口數(shù)據(jù)總線

01010

B口數(shù)據(jù)總線

10010

C口數(shù)據(jù)總線

××××1端口輸出為”高阻”

11010非法

××110端口輸出為”高阻”

A1A0RD

WR

CS

操作輸入輸出禁止8255內(nèi)部共有A口、B口、C口和控制口4個端口寄存器,對他們的尋址和讀/寫操作是由CS、A1、A0和RD、WR幾個信號來控制的。

7-967-97D7D6D5D4D3D2D1D07.3.4控制字格式和編程1.工作方式控制字7-98D7D6D5D4D3D2D1D00C口的位選擇位D3D2D1置位復位置位復位10說明:

(1)C口的按位置位/復位操作一次只能使C口的1位置“1”或置“0”。

(2)如果要在某位上輸出一個開關量信號,對該位的置“1”置“0”操作必須成對使用。(3)C口按位置位/復位控制字不是送到C口地址,而是送到控制寄存器地址。2.C口按位置位/復位控制字7.3.4控制字格式和編程7-997-1001.方式0:基本I/O方式7.3.5三種工作方式方式0的無條件傳送方式0的C口位操作方式0的應答式工作A、B、C三個端口均為數(shù)據(jù)I/O口,其中A口、B口、C口高4位、C口低4位可通過編程選擇分別工作于輸入或輸出狀態(tài)。沒有固定的應答線,不使用中斷。

7-101

例7.5

用8255實現(xiàn)的開關輸入和顯示輸出接口。1.方式0

無條件傳送C口位操作應答式工作

只要RD或WR信號一變低,就進行數(shù)據(jù)傳送,不管此時數(shù)據(jù)是否穩(wěn)定。方式0的無條件傳送7.3.5三種工作方式7-1027-103

可用C口的按位置位/復位功能來產(chǎn)生脈沖,用作門控、選通、復位等。

例7.6

以微處理器和8255為核心組成的數(shù)字頻率計1.方式0

無條件傳送C口位操作應答式工作方式0的C口位操作7.3.5三種工作方式7-1048255組成的脈沖頻率計數(shù)器將8255設置為方式0:A口輸出,B口輸入,C口輸出從PC0輸出一復位脈沖(),使計數(shù)器清0從PC7輸出一寬度為1s的正脈沖(),控制采樣從A口輸出顯示結果從B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論