文/張文遠(yuǎn) 宋蘇陽(yáng) 茹國(guó)寶
因CPU響應(yīng)中斷是瞬間完成的,在學(xué)習(xí)中斷響應(yīng)的課程中,同學(xué)們無(wú)法掌握CPU響應(yīng)中斷的全過(guò)程。為此,本文設(shè)計(jì)了一套中斷過(guò)程的實(shí)驗(yàn)電路。具體內(nèi)容和要求如下:
(1)利用8259A中斷控制器和8255A并行口,結(jié)合實(shí)驗(yàn)裝置,設(shè)計(jì)一個(gè)模擬中斷申請(qǐng)和響應(yīng)過(guò)程的實(shí)驗(yàn)電路;
(2)設(shè)計(jì)者應(yīng)分析如何確定中斷的觸發(fā)方式?如何模擬外圍申請(qǐng)和CPU響應(yīng)中斷的整個(gè)過(guò)程?如何模擬CPU獲取中斷類(lèi)型碼和中斷向量的?如何模擬CPU執(zhí)行中斷服務(wù)程序?為什么要這樣設(shè)計(jì)?
(3)如何完成對(duì)82設(shè)計(jì)者應(yīng)分析中斷控制器和8255A并行口的初始化操作?分析其原因;
(4)實(shí)驗(yàn)分三個(gè)層次:1)、8259A中斷控制器單片方式的工作原理與時(shí)序;2)、8259A中斷控制器級(jí)聯(lián)方式主片、從片的工作原理與時(shí)序;3)、創(chuàng)新實(shí)驗(yàn),設(shè)計(jì)一個(gè)實(shí)時(shí)時(shí)鐘。設(shè)計(jì)要求:① 采用8253A對(duì)系統(tǒng)提供的標(biāo)準(zhǔn)時(shí)鐘1MHz進(jìn)行分頻,得到10Hz時(shí)鐘信號(hào),作為中斷請(qǐng)求信號(hào),通過(guò)ISA總線的IR7插孔向主機(jī)發(fā)出中斷請(qǐng)求 ② 編寫(xiě)程序?qū)崿F(xiàn)實(shí)時(shí)時(shí)鐘顯示。
8259A在微機(jī)系統(tǒng)中用于管理外部多個(gè)中斷源。單片8259A可以管理8個(gè)中斷請(qǐng)求,級(jí)聯(lián)方式可以擴(kuò)展8片8259A,最多可以管理64個(gè)中斷源;8259A采用向量中斷方式,能夠根據(jù)不同的中斷請(qǐng)求向CPU提供相應(yīng)的中斷類(lèi)型碼;8259A具有優(yōu)先權(quán)裁決和中斷嵌套管理功能。
CPU響應(yīng)中斷是瞬間完成的,為了了解CPU響應(yīng)中斷的過(guò)程,擬采用手工模擬的方法,對(duì)8259A中斷管理器的工作過(guò)程進(jìn)行設(shè)計(jì)和模擬。下面以8259A單片方式工作模擬實(shí)驗(yàn)為例,如圖1所示,通過(guò)8255A讀取8259A的中斷向量,向8259A寫(xiě)入控制字;利用單脈沖發(fā)生器模擬外圍設(shè)備產(chǎn)生的中斷請(qǐng)求和CPU的中斷響應(yīng)。
表1:中斷過(guò)程的模擬與仿真實(shí)驗(yàn)考核方法
(1)利用單脈沖發(fā)生器1發(fā)一個(gè)單脈沖1,產(chǎn)生一個(gè)上升沿輸入IR引腳,模擬外圍設(shè)備向8259A產(chǎn)生的中斷請(qǐng)求。此時(shí),可模擬多中斷源同時(shí)引起中斷。
(2)通過(guò)8255A向8259A寫(xiě)入控制字。注意,此時(shí)須注意8255A工作方式的切換。
(4)利用8255A讀取8259A的中斷類(lèi)型碼。
(5) 通 過(guò)8255A向8259A控 制 字OCW2,模擬中斷結(jié)束ΕOI命令。
(1)實(shí)驗(yàn)步驟1中,如何模擬多中斷源同時(shí)引起中斷?如果中斷源同時(shí)引起中斷,CPU如何獲取優(yōu)先級(jí)最高的中斷類(lèi)型號(hào)?CPU如何獲取各級(jí)中斷的中斷類(lèi)型號(hào)?
(2)實(shí)驗(yàn)步驟2中,如何模擬CPU向8255A和8259A寫(xiě)入初始化參數(shù)?二者初始化參數(shù)的寫(xiě)入方法有什么不同?為什么?對(duì)8259A寫(xiě)入初始化參數(shù)和讀取中斷類(lèi)型號(hào)時(shí),為什么要對(duì)8255A工作方式的進(jìn)行切換?
(3)實(shí)驗(yàn)步驟3中,如何模擬CPU響應(yīng)中斷的?為什么要向8259AINTA引腳發(fā)兩個(gè)單脈沖?讀取8259A的中斷類(lèi)型碼時(shí),為什么要手工按住第二個(gè)INTA不動(dòng)?
(4)實(shí)驗(yàn)步驟4中,如何利用8255A模擬CPU讀取8259A的中斷類(lèi)型碼的?
(5)實(shí)驗(yàn)步驟4中,如何手工模擬CPU響應(yīng)中斷的?如果多中斷源同時(shí)引起中斷,怎么模擬中斷響應(yīng)的?此時(shí)為什么要對(duì)8255A的工作方式進(jìn)行切換?
學(xué)生以一人一組的形式進(jìn)行實(shí)驗(yàn),要求充分理解題目要求,利用所學(xué)模電、數(shù)電、譯碼技術(shù)、定時(shí)計(jì)數(shù)技術(shù)、并行接口技術(shù)、中斷技術(shù)等相關(guān)知識(shí),認(rèn)真設(shè)計(jì),用心制作,完成調(diào)試。
復(fù)習(xí)譯碼器設(shè)計(jì)及其相關(guān)應(yīng)用電路;熟悉8255A并行接口、8253A定時(shí)計(jì)數(shù)的基本原理及及其相關(guān)應(yīng)用電路的設(shè)計(jì);掌握8259A單片和級(jí)聯(lián)工作的基本原理和時(shí)序;熟悉8086的指令系統(tǒng)及其編程。
根據(jù)指標(biāo)要求,采用手工模擬的方法,對(duì)8259A中斷管理器的工作過(guò)程進(jìn)行方案論證、設(shè)計(jì)和模擬。特別要注重實(shí)驗(yàn)步驟中各個(gè)環(huán)節(jié),切實(shí)理解各個(gè)步驟模擬CPU響應(yīng)中斷的過(guò)程及其原因;強(qiáng)調(diào)通過(guò)實(shí)驗(yàn)掌握8259A單片和級(jí)聯(lián)工作的基本原理和時(shí)序;學(xué)會(huì)對(duì)并行口和中斷管理器的編程。
重點(diǎn)討論:
(1)8259A中斷管理器的工作過(guò)程;
(2)比較分析采用手工模擬的方法,對(duì)8259A中斷管理器工作過(guò)程的設(shè)計(jì)方案進(jìn)行。
(3)理解并掌握各個(gè)實(shí)驗(yàn)步驟的必要性和具體操作的緣由。
表1為本實(shí)驗(yàn)考核的節(jié)點(diǎn)、時(shí)間、標(biāo)準(zhǔn)及考核方法。
該實(shí)驗(yàn)項(xiàng)目的主導(dǎo)思想是在教師指導(dǎo)下提倡學(xué)生自主設(shè)計(jì)與自主實(shí)驗(yàn),通過(guò)該實(shí)驗(yàn)可提高學(xué)生的設(shè)計(jì)與研究興趣,使學(xué)生全面掌握中斷管理器工作原理及其應(yīng)用方面的專(zhuān)業(yè)知識(shí),解決現(xiàn)代科研開(kāi)發(fā)過(guò)程中的實(shí)際問(wèn)題,具有設(shè)計(jì)以CPU為控制核心的電子系統(tǒng)的能力,為將來(lái)走向社會(huì)打下良好的基礎(chǔ)。實(shí)驗(yàn)涉及譯碼技術(shù)、并行接口技術(shù)、定時(shí)計(jì)數(shù)技術(shù)和中斷管理技術(shù),可進(jìn)一步提高學(xué)生設(shè)計(jì)硬件、軟件的素質(zhì)和技能,進(jìn)一步提升學(xué)生的實(shí)踐動(dòng)手技能。