文/張文遠 宋蘇陽 茹國寶
因CPU響應中斷是瞬間完成的,在學習中斷響應的課程中,同學們無法掌握CPU響應中斷的全過程。為此,本文設計了一套中斷過程的實驗電路。具體內容和要求如下:
(1)利用8259A中斷控制器和8255A并行口,結合實驗裝置,設計一個模擬中斷申請和響應過程的實驗電路;
(2)設計者應分析如何確定中斷的觸發方式?如何模擬外圍申請和CPU響應中斷的整個過程?如何模擬CPU獲取中斷類型碼和中斷向量的?如何模擬CPU執行中斷服務程序?為什么要這樣設計?
(3)如何完成對82設計者應分析中斷控制器和8255A并行口的初始化操作?分析其原因;
(4)實驗分三個層次:1)、8259A中斷控制器單片方式的工作原理與時序;2)、8259A中斷控制器級聯方式主片、從片的工作原理與時序;3)、創新實驗,設計一個實時時鐘。設計要求:① 采用8253A對系統提供的標準時鐘1MHz進行分頻,得到10Hz時鐘信號,作為中斷請求信號,通過ISA總線的IR7插孔向主機發出中斷請求 ② 編寫程序實現實時時鐘顯示。
8259A在微機系統中用于管理外部多個中斷源。單片8259A可以管理8個中斷請求,級聯方式可以擴展8片8259A,最多可以管理64個中斷源;8259A采用向量中斷方式,能夠根據不同的中斷請求向CPU提供相應的中斷類型碼;8259A具有優先權裁決和中斷嵌套管理功能。
CPU響應中斷是瞬間完成的,為了了解CPU響應中斷的過程,擬采用手工模擬的方法,對8259A中斷管理器的工作過程進行設計和模擬。下面以8259A單片方式工作模擬實驗為例,如圖1所示,通過8255A讀取8259A的中斷向量,向8259A寫入控制字;利用單脈沖發生器模擬外圍設備產生的中斷請求和CPU的中斷響應。

表1:中斷過程的模擬與仿真實驗考核方法
(1)利用單脈沖發生器1發一個單脈沖1,產生一個上升沿輸入IR引腳,模擬外圍設備向8259A產生的中斷請求。此時,可模擬多中斷源同時引起中斷。
(2)通過8255A向8259A寫入控制字。注意,此時須注意8255A工作方式的切換。
(4)利用8255A讀取8259A的中斷類型碼。
(5) 通 過8255A向8259A控 制 字OCW2,模擬中斷結束ΕOI命令。
(1)實驗步驟1中,如何模擬多中斷源同時引起中斷?如果中斷源同時引起中斷,CPU如何獲取優先級最高的中斷類型號?CPU如何獲取各級中斷的中斷類型號?
(2)實驗步驟2中,如何模擬CPU向8255A和8259A寫入初始化參數?二者初始化參數的寫入方法有什么不同?為什么?對8259A寫入初始化參數和讀取中斷類型號時,為什么要對8255A工作方式的進行切換?
(3)實驗步驟3中,如何模擬CPU響應中斷的?為什么要向8259AINTA引腳發兩個單脈沖?讀取8259A的中斷類型碼時,為什么要手工按住第二個INTA不動?
(4)實驗步驟4中,如何利用8255A模擬CPU讀取8259A的中斷類型碼的?
(5)實驗步驟4中,如何手工模擬CPU響應中斷的?如果多中斷源同時引起中斷,怎么模擬中斷響應的?此時為什么要對8255A的工作方式進行切換?
學生以一人一組的形式進行實驗,要求充分理解題目要求,利用所學模電、數電、譯碼技術、定時計數技術、并行接口技術、中斷技術等相關知識,認真設計,用心制作,完成調試。
復習譯碼器設計及其相關應用電路;熟悉8255A并行接口、8253A定時計數的基本原理及及其相關應用電路的設計;掌握8259A單片和級聯工作的基本原理和時序;熟悉8086的指令系統及其編程。
根據指標要求,采用手工模擬的方法,對8259A中斷管理器的工作過程進行方案論證、設計和模擬。特別要注重實驗步驟中各個環節,切實理解各個步驟模擬CPU響應中斷的過程及其原因;強調通過實驗掌握8259A單片和級聯工作的基本原理和時序;學會對并行口和中斷管理器的編程。
重點討論:
(1)8259A中斷管理器的工作過程;
(2)比較分析采用手工模擬的方法,對8259A中斷管理器工作過程的設計方案進行。
(3)理解并掌握各個實驗步驟的必要性和具體操作的緣由。
表1為本實驗考核的節點、時間、標準及考核方法。
該實驗項目的主導思想是在教師指導下提倡學生自主設計與自主實驗,通過該實驗可提高學生的設計與研究興趣,使學生全面掌握中斷管理器工作原理及其應用方面的專業知識,解決現代科研開發過程中的實際問題,具有設計以CPU為控制核心的電子系統的能力,為將來走向社會打下良好的基礎。實驗涉及譯碼技術、并行接口技術、定時計數技術和中斷管理技術,可進一步提高學生設計硬件、軟件的素質和技能,進一步提升學生的實踐動手技能。