實驗四8259A的單級中斷控制實驗

2022-11-18 05:42:02 字數 2999 閱讀 4159

一、實驗目的

1.掌握中斷控制器8259a與微機介面的原理和方法。

2.掌握中斷控制器8259a的應用程式設計。

二、實驗內容

編制程式,利用開關作為8259晶元ir7的中斷源,人工控制產生單一中斷。中斷的功能是驅動發光二極體,使其亮滅,不停地閃動。

三、實驗提示

8259中斷控制器是專為控制優先順序中斷設計的晶元。它將中斷源優先順序排隊,辯別中斷源以及提供中斷向量的電路集於一片中。因此無需附加任何電路,只需對8259進行程式設計,就可以管理8級中斷,並選擇優行模式和中斷請求方式,即中斷結構可以由使用者程式設計來設定。

同時,在不需要增加其它電路的情況下,通過多片8259的級聯,能構成多達64級的向量中斷系統。

實驗箱中採用一片8259a中斷控制晶元,工作於主片方式,8個中斷請求輸入端ir0~ir7對應的中斷型號為8~f,其和中斷向量關於如下表所示。

表1 8259中斷向量對應關係

本實驗中使用7號中斷源ir7,中斷方式為邊沿觸發方式,按動開關按鈕產生一次中斷。編寫中斷服務程式程式,使系統每次響應外部中斷ir7時發光二極體閃爍。

四、實驗電路

五、實驗軟體清單

port0 equ 0ffe0h

port1 equ 0ffe1h

code segment

assume cs:code,ds:code,es:code

org 3400h

p8259: cli

mov ax,offset int8259

mov bx,003ch

mov [bx],ax

mov bx,003eh

mov ax,0000h

mov [bx],ax

call for8259

mov al,0feh

mov dx,0ffe4h

stijmp $

for8259:mov al,13h

mov dx,port0

out dx,al

mov al,08h

mov dx,port1

out dx,al

mov al,09h

out dx,al

mov al,7fh ;irq7

out dx,al

retint8259:cli

push dx

push ax

mov al,20h

mov dx,port0

out dx,al

pop ax

pop dx

out dx,al

mov cx,0

loop $

rol al,1

stiiret

code ends

end p8259

六、實驗軟體框圖

七、實驗步驟

(1)按實驗電路圖連線線路:

①開關ki和8259 7號中斷ir7插孔相連。

②按照實驗一中3.3的實驗步驟②要求連線138解碼電路,8259的cs端連138解碼器的y0孔。輸出單元74ls273的g端連74ls32的6腿,4腿連138解碼器的y1孔,5腿連iowr。

③將8259的單元匯流排介面d0~d7,用8芯排線或8芯扁平線與資料匯流排單元d0~d7任一介面相連。輸出單元74ls273的8芯排線或8芯扁平線與資料匯流排單元d0~d7任一介面相連,輸出連led。

(2)執行實驗程式

按動開關按鈕,觀察led輸出。

八、實驗思考

1.詳細注釋。

2.解釋如何實現中斷。

預備知識

1.8259a的內部結構

8259a是專為控制優先順序中斷而設計的晶元。它將中斷源按優先順序排隊、辨認中斷源、提供中斷向量的電路整合於一體,只要用軟體對它進行程式設計,就可以管理8 級中斷。

如圖5-19所示,它由中斷請求暫存器(irr)、優先順序分析器、 中斷服務暫存器(isr)、中斷遮蔽暫存器(imr)、資料匯流排緩衝器、讀寫控制電路和級聯緩衝器、比較器組成。

圖1 8259a的內部結構

中斷請求暫存器:寄存所有要求服務的請求ir0~ir7。

中斷服務暫存器:寄存正在被服務的中斷請求

中斷遮蔽暫存器:存放被遮蔽的中斷請求,該暫存器的每一位表示乙個中斷號, 該位為1,遮蔽該號中斷,否則開放該號中斷。

資料匯流排緩衝器:是雙向三態的,用以連線系統匯流排和8259a內部匯流排, 通過它可以由cpu對8259a寫入狀態字和控制字。

讀寫控制電路:用來接受i/o命令,對初始化命令和操作命令字暫存器進行寫入,以確定8259a的工作方式和控制方式。

級聯緩衝器/比較器:用於多片8259a的連線,能構成多達64級的向量中斷系統。

2.8259a程式設計及初始化

(1) 寫初始化命令字

* 寫初始化命令字icw1(a0=0),以確定中斷請求訊號型別,清除中斷遮蔽暫存器,中斷優先順序排隊和確定系統用單片還是多片。

* 寫初始化命令字icw2,以定義中斷向量的高五位型別碼。

* 寫初始化命令字icw3,以定義主片8259a中斷請求線上ir0~ir7有無級聯的8259a從片

第i位=0,表明iri引腳上無從片

第i位=1,表明iri引腳上有從片

* 寫初始化命令icw4,用來定義8259a工作時用8085模式,還是8088模式,以及中斷服務暫存器復位方式等。

8259a初始化的流程圖如下:

(2) 寫控制命令字

* 寫操作命令字0cw1,用來設定或清除對中斷源的遮蔽。

第i位=0,對應的中斷請求iri開放

第i位=1,對應的中斷請求iri遮蔽

注: ocw1如不寫,則在初始化命令寫入後,ocw1為全開放狀態。

* 操作命令字ocw2,設定優先順序是否進行迴圈、迴圈方式及中斷結束方式。

注: 8259a復位時自動設定ir0優先權最高,ir7優先權最低。

* 操作命令字ocw3,設定查詢方式、特殊遮蔽方式以及讀取8259中斷暫存器的當前狀態。

(3) 8259a查詢字

通過ocw3命令字的設定,可使cpu處於查詢方式,隨時查詢8259a有否中斷請求, 有則轉入相應的中斷服務程式。

四年級科學下冊實驗報告單實驗

春雨的色彩 說課稿 一 教材內容分析 春天裡萬物復甦,百花爭艷 綠草如蔭 一派迷人的景色。春雨的色彩 意境優美,散文詩中綿綿的春雨,屋簷下嘰嘰喳喳的小鳥,萬紫千紅的大地,給人以美的陶冶和享受,與此同時啟發幼兒通過簡潔優美的語言以及相應的情景對話練習感受春天的勃勃生機。激發幼兒熱愛大自然的情感,啟發幼...

生的食物和熟的食物》實驗單 第四稿

觀察比較生 熟馬鈴薯的學習單 5 月12日第 小組姓名 記錄 用關鍵字表述 2 討論 從觀察到的生 熟馬鈴薯特點中,你能說說馬鈴薯熟吃的理由嗎?觀察豬肉由生到熟變化過程的學習單 5月12日第 小組姓名 觀察記錄 生豬肉煮1分鐘撈出的豬肉煮3分鐘撈出的豬肉煮5分鐘撈出的豬肉2 交流研討 豬肉由生到熟發...

四年級科學實驗報告單

分組實驗35個 1.實驗名稱 室內外溫度的測量與比較 實驗目的 測量室內外溫度 實驗器材 溫度計 線 筆 實驗步驟 1 取一支溫度計用線拴好。2 將溫度計懸掛3 讀數。4 比較。觀察現象 1 的氣溫高 的氣溫低 2 測量氣溫時應該選擇的地點。實驗結果 室內外溫度存在差距,通過對大氣溫度的測量,可以了...