初始化程序(共12頁)_第1頁
初始化程序(共12頁)_第2頁
初始化程序(共12頁)_第3頁
初始化程序(共12頁)_第4頁
初始化程序(共12頁)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上8253的初始化程序1.確定端口地址:0310H、0312H、0314H、0316H2.確定工作方式(假設工作方式為): 通道0,方式3通道1,方式1通道2,方式53.確定計數(shù)值: 通道0:N0=1MHz/2KHz=500通道1:N1480us/(1/1mhz)=480通道2:N2=264確定控制字:通道0:B通道1:B通道2:B對3個通道的初始化程序如下:;通道0初始化程序MOV DX, 316HMOV AL,BOUT DX,ALMOV DX,310HMOV AL,00HOUT DX, ALMOV AL,05HOUT DX,AL;通道1的初始化程序MOV DX, 3

2、16HMOV AL, BOUT DX, ALMOV DX, 312HMOV AL, 80HOUT DX, ALMOV AL, 04HOUT DX, AL;通道2初始化程序MOV DX, 316HMOV AL, BOUT DX, ALMOV DX, 314HMOV AL,26HOUT DX,AL; MOV AL,00H; OUT DX,AL8255A初始化程序對8255A進行初始化,要求端口A工作于方式1,輸入;端口B工作于方式0,輸出;端口C的高4位配合端口A工作,低4位為輸入。1. 確定控制字端口地址:006CH。2. 確定工作方式:端口A,工作方式1,輸入端口B,工作方式0,輸出端口C,C

3、0為輸入,C4為配合工作3. 確定方式選擇控制字:1 011 1 00 1H(B9H)對3個端口的初始化程序如下MOV AL,B9HMOV DX,006CHOUT DX,AL另一個8255A初始化程序已知某8255A在系統(tǒng)中占用888BH號端口地址,現(xiàn)欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復位,試編寫出相應的初始化程序:1. 確定端口地址控制字以及PC口置位復位端口,8BH2. 確定工作方式3. 確定方式選擇控制字MOV AL, 80H OUT 8BH,ALMOV AL,ODH OUT 8BH,ALMOV AL,06HOUT 8BH,AL

4、在8259A內(nèi)部有兩組寄存器:一組為命令寄存器,用于存放CPU寫入的初始化命令字ICW1ICW4(initialization command words);另一組為操作命令寄存器,用于存放CPU寫入的操作命令字OCW1OCW3(operation command words)。1初始化命令字ICW的格式當?shù)刂肪€A0為1時,8259A提供了4個(ICW1ICW4)初始化命令字,并規(guī)定了嚴格的初始化步驟。8259A是中斷系統(tǒng)的核心器件,對它的初始化編程要涉及中斷系統(tǒng)的軟、硬件的許多問題,而且一旦完成初始化,所有硬件中斷源和中斷處理程序都必須受其制約。(1)ICW1的格式ICW1的格式如圖6.12

5、所示。  IC4 (ICW4 needed /no ICW4 needed):指示在初始化時是否需要寫入命令字ICW4。在80x86 CPU系統(tǒng)中需要定義ICW4,設IC41。SNGL(single/cascade mode):指示8259A在系統(tǒng)中使用單片還是多片級聯(lián)。SNGL1為單片,SNGL0為多片級聯(lián)。ADI(call address interval):設置調(diào)用時間間隔,在80486 CPU中無效。LTIM(level/edge triggered mode):定義IRi的中斷請求觸發(fā)方式。LTIM1為電平觸發(fā),LTIM0為邊沿觸發(fā)。D4:ICW1的標志位,恒為1

6、。D5D7:未用,通常設置為0。(2)ICW2的格式ICW2用于設置中斷類型號,格式如圖6.13所示。 ICW2中的低3位ID2ID0由中斷請求輸入端IRi(i07)的編碼自動引入,高5位T7T3由用戶編程寫入。若ICW2寫入40H時,則IR0IR7對應的中斷類型號為40H47H。(3)ICW3的格式ICW3是級聯(lián)命令字,在級聯(lián)方式下才需要寫入。主片和從片所對應的ICW3的格式不同,主片ICW3的格式如圖6.14所示,從片ICW3的格式如圖6.15所示。圖6.14主片ICW3的格式圖6.15從片ICW3的格式  S7S0與IR7IR0相對應,若主片IRi(i07)引腳上連接

7、從片,則Si1,否則Si0。ID2ID0是從片接到主片IRi上的標識碼。例如,當從片的中斷請求信號INT與主片的IR2連接時,ID2ID0應設置為010,D7D3未用,通常設置為0。在中斷響應時,主片通過級聯(lián)信號線CAS2CAS0送出被允許中斷的從片的標識碼,各從片用自己的ICW3和CAS2CAS0進行比較,二者一致的從片被確定為當前中斷源,可以發(fā)送該從片的中斷類型碼。(4)ICW4的格式ICW4用于設定8259A的工作方式,其格式如圖6.16所示.mP(microprocessor):設置CPU模式。mP1為80x86模式,mP0為8080/8085模式。AEOI(auto end of i

8、nterrupt):設置8259A的中斷結束方式。AEOI1為自動結束方式,AEOI0為非自動結束方式。(master/slave):選擇緩沖級聯(lián)方式下的主片與從片。1為主片,0為從片。BUF(buffer):設置緩沖方式。BUF1為緩沖方式,BUF0為非緩沖方式。SFNM(special fully nested mode):設置特殊完全嵌套方式。SFNM1為特殊完全嵌套方式,SFNM0為非特殊完全嵌套方式D7D5:未定義,通常設置為0。需要注意:當多片8259A級聯(lián)時,若在8259A的數(shù)據(jù)線與系統(tǒng)總線之間加入總線驅動器,引腳作為總線驅動器的控制信號,D3位BUF應設置為1,此時主片和從片的

9、區(qū)分不能依靠引腳,而是由來選擇,當0時為從片;當1時為主片。如果BUF0,則定義無意義。2操作命令字OCW的格式操作命令字有OCW1, OCW2和OCW3。(1)OCW1的格式OWC1為中斷屏蔽字,寫入中斷屏蔽寄存器(IMR)中,對外部中斷請求信號IRi實行屏蔽,格式如圖6.17所示。圖6.17OCW1的格式當某位Mi(interrupt mask)為1時,則對應的IRi請求被禁止;當Mi為0時,則對應的IRi請求被允許。在工作期間可根據(jù)需要隨時寫入或讀出。(2)OCW2的格式 OWC2用于設置中斷優(yōu)先級方式和中斷結束方式,其格式如圖6.18所示。L2L0(IR level to be act

10、ed upon):8個中斷請求輸入端IR7IR0的標志位,用來指定中斷級別。L2L0指定的中斷級別是否有效,由SL(specific level)位控制。當SL1時,L2L0定義有效;當SL0時,L2L0定義無效。EOI(end of interrupt):中斷結束命令。若EOI1時,在中斷服務子程序結束時向8259A回送中斷結束命令EOI,以便使中斷服務寄存器(ISR)中當 前最高優(yōu)先權位復位(普通EOI方式),或由L2L0表示的優(yōu)先權位復位(特殊EOI方式)。R(rotation):設置優(yōu)先權循環(huán)方式位。R1為優(yōu)先權自動循環(huán)方式;R0為優(yōu)先權固定方式。D4, D3為OCW2標志位。(3)O

11、CW3的格式OCW3用于設置或清除特殊屏蔽方式和讀取寄存器的狀態(tài),格式如圖6.19所示。RR(read register command):讀ISR和IRR命令位,RIS(read interrupt register select)讀寄存器選擇位。當RR1,RIS0時,讀取IRR命令;當RR1,RIS1時,讀取ISR命令。在進行讀ISR或IRR操作時, 先寫入讀命令OCW3,然后緊接著執(zhí)行讀ISR或IRR的指令。例如,設8259A的兩個端口地址為20H和21H,OCW3, ISR和IRR共用一個地址20H。 讀取ISR內(nèi)容的程序段為MOVAL, BOUT20H, AL ; 讀ISR

12、命令寫入OCW3INAL, 20H    ; 讀ISR內(nèi)容至AL中讀取IRR內(nèi)容的程序段為MOVAL, BOUT20H, AL       ; 讀IRR命令寫入OCW3IN AL, 20H       ; 讀IRR內(nèi)容至AL中    P(poll command):為中斷狀態(tài)查詢位。當P1時,可通過讀入狀態(tài)寄存器的內(nèi)容,查詢是否有中斷請求正在被處理,如有則給出當前處理中斷的最高優(yōu)先級。中斷狀態(tài)寄存器如圖6.20所示。

13、    在讀取中斷狀態(tài)字時,先寫入中斷查詢命令,然后讀取中斷狀態(tài)字,程序如下:MOVAL, BOUT20H, AL ; 讀中斷狀態(tài)字命令寫入OCW3IN AL, 20H ; 讀中斷狀態(tài)字ESMM(enable special mask mode)與SMM(special mask mode)組合可用來設置或取消特殊屏蔽方式。當ESMM1,SMM1時,設置特殊屏蔽;當ESMM1,SMM0時,取消特殊屏蔽。38259A的初始化編程8259A的初始化編程需要寫入初始化命令字ICW1ICW4,對它的連接方式、中斷觸發(fā)方 式和中斷結束方式進行設置。但由于ICW1ICW4使用

14、兩個端口地址,即ICW1用A00的端口,ICW2ICW4使用A01的端口,因此初始化 程序應嚴格按照系統(tǒng)規(guī)定的順序寫入,即先寫入ICW1,接著寫ICW2, ICW3, ICW4。8259A的初始化流程如圖6.21所示。操作命令字OCW1OCW3的寫入比較靈活,沒有固定的格式,可以在主程序中寫入,也可以在中斷服務子程序中寫入,視需要而定。下面通過例子來說明如何編寫8259A的初始化程序?!纠?.1】 某微機系統(tǒng)使用主、從兩片8259A管理中斷,從片中斷請求INT與主片的IR2連接。設主片工作于特殊完全嵌套、非緩沖和非自動結束方式,中斷類型號為 40H,端口地址為20H和21H。從片工作于完全嵌套、非緩沖和非自動結束方式,中斷類型號為70H,端口地址為80H和81H。試編寫主片和從片的初 始化程序。根據(jù)題意,寫出ICW1, ICW2, ICW3和ICW4的格式,按圖6.21的順序寫入。編寫初始化程序如下:主片8259A的初始化程序如下:MOVAL, B; 級聯(lián), 邊沿觸發(fā), 需要寫ICW4OUT20H, AL; 寫ICW1MOVAL, B; 中斷類型號40HOUT21H, AL; 寫ICW2MOVAL, B; 主片的IR2引腳接從片OUT21H,

溫馨提示

  • 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

提交評論