微機(jī)原理與接口課程設(shè)計(jì).doc_第1頁
微機(jī)原理與接口課程設(shè)計(jì).doc_第2頁
微機(jī)原理與接口課程設(shè)計(jì).doc_第3頁
微機(jī)原理與接口課程設(shè)計(jì).doc_第4頁
微機(jī)原理與接口課程設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

合肥學(xué)院電子信息與電氣工程系微型計(jì)算機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告20122013學(xué)年第一學(xué)期課程 微型計(jì)算機(jī)原理與接口技術(shù) 課程設(shè)計(jì)名稱流水線的工件計(jì)數(shù)報(bào)警學(xué)生姓名張利學(xué)號(hào)1005071023專業(yè)班級(jí)通信(1)班指導(dǎo)教師1、題義分析及解決方案1.1、課程設(shè)計(jì)名稱及內(nèi)容:用STAR ES598PCI單板開發(fā)機(jī),設(shè)計(jì)一款流水線的工件計(jì)數(shù)報(bào)警設(shè)計(jì)要求:8086系統(tǒng)中應(yīng)用8253的通道0來對(duì)流水線的工件計(jì)數(shù),當(dāng)計(jì)滿500個(gè)從OUT0端產(chǎn)生一個(gè)高電平中斷請(qǐng)求信號(hào)。CPU響應(yīng)中斷就使通道1的OUT1端產(chǎn)生頻率為1000Hz的方波推動(dòng)揚(yáng)聲器發(fā)聲,時(shí)間為5s,GATE1通過I/O端口接到DB總線D0位地址為88H,8253各端口的地址為80-86H,CLK1接2MHz信號(hào),Delay為延時(shí)程序,中斷類型碼為N 1.2、題意需求分析根據(jù)本設(shè)計(jì)給定的內(nèi)容和要求,分析得出初步的設(shè)計(jì)思路:本設(shè)計(jì)中需要用到的主要有兩種芯片(8253和8259A),一種用來計(jì)數(shù)并產(chǎn)生中斷,另一種則用來對(duì)中斷信號(hào)做出響應(yīng),并驅(qū)動(dòng)揚(yáng)聲器。其中最核心的是實(shí)現(xiàn)計(jì)數(shù)和響應(yīng)中斷。這里我們考慮到要用到可編程計(jì)數(shù)器8253的方式0和方式1,8253中方式0時(shí)一次中斷計(jì)數(shù),方式1是可編程觸發(fā)器,我們用方式的OUT0的輸出高電平來觸發(fā)中斷。中斷服務(wù)程序用方式3產(chǎn)生1000Hz的方波。由于8253的方式0只是實(shí)現(xiàn)一次計(jì)數(shù),如果不重新裝入初值就不會(huì)再次觸發(fā),所以要實(shí)現(xiàn)循環(huán)只需要每次都循環(huán)裝入初值就可以了。1.3、解決問題的思路及方法1.3.1、硬件部分:2.1.2 8253A的功能分析8253A是一種可編程的定時(shí)器/計(jì)數(shù)器芯片,它可用于計(jì)數(shù)、分頻、定時(shí)器等的方面。8253的主要性能為:內(nèi)有三個(gè)獨(dú)立的16位計(jì)數(shù)器,最大計(jì)數(shù)范圍為065535;工作方式可編程控制,可編程6種不同的工作方式;所有輸入和輸出都與TTL兼容。計(jì)數(shù)脈沖頻率為0MHZ-2.6MHZ,可以按二進(jìn)制或BCD碼計(jì)數(shù),使用單一+5V電源2.1.3 8253的內(nèi)部結(jié)構(gòu)8253的內(nèi)部結(jié)構(gòu)如圖一所示,由數(shù)據(jù)總線緩沖器、控制寄存器、讀/寫控制邏輯和計(jì)數(shù)器等部分組成。 圖一(1)、數(shù)據(jù)總線緩沖器:三態(tài),雙向的8位緩沖器,用于將8253與系統(tǒng)數(shù)據(jù)總線連接。CPU執(zhí)行I/O指令時(shí),緩沖器發(fā)送或者接收數(shù)據(jù),用于寫入8253控制字,裝入計(jì)數(shù)初值或讀出當(dāng)前計(jì)數(shù)值。(2)、讀/寫邏輯:決定三個(gè)計(jì)數(shù)器和控制字寄存器中哪一個(gè)能進(jìn)行工作,并控制內(nèi)部總線上數(shù)據(jù)傳送的方向。 CS片選信號(hào):低電平有效(此時(shí)CPU才能對(duì) 8253進(jìn)行讀寫操作),由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。 RD讀信號(hào):低電平有效,表示CPU正在讀取所選定的計(jì)數(shù)器通道中的內(nèi)容。 WR寫信號(hào):低電平有效,此時(shí)表示CPU正在將計(jì)數(shù)初值寫入所選中的計(jì)數(shù)通道中或?qū)⒖刂谱謱懭肟刂萍拇嫫髦小?A1A0端口選擇信號(hào):8253內(nèi)部有3個(gè)計(jì)數(shù)器通道和一個(gè)控制寄存器端口。A1A0=00,01,10表示分別選中計(jì)數(shù)器通道0,1,2,當(dāng)A1A0=11時(shí)選中控制寄存器端口。(3)、控制寄存器:接收從CPU來的控制字,并由控制字的D7、D6位的編碼決定該控制字寫入哪個(gè)計(jì)數(shù)器的控制寄存器,控制寄存器只能寫入,不能讀出。 (4)、計(jì)數(shù)器0-2:當(dāng)8253用作計(jì)數(shù)器時(shí),加在CLK引腳上脈沖的間隔可以是不相等的;當(dāng)它用作定時(shí)器時(shí),則在CLK引腳應(yīng)輸入精確的時(shí)鐘脈沖,8253所能實(shí)現(xiàn)的定時(shí)時(shí)間,取決于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即:定時(shí)時(shí)間=時(shí)鐘脈沖周期Tc預(yù)置的計(jì)數(shù)初值n。對(duì)8253來講,外部輸入到CLK引腳上的時(shí)鐘脈沖頻率不能大于2MHZ,否則需分頻后才能送到CLK端。2.1.4 8253內(nèi)部引腳功能8253是一片具有3個(gè)獨(dú)立通道的16位計(jì)數(shù)器/定時(shí)器芯片,使用單一+5V電源,24引腳雙列直插式封裝,如圖二所示。圖二2.1.4.1、與CPU的接口信號(hào)(1)D0D7三態(tài)雙向數(shù)據(jù)線。與CPU數(shù)據(jù)總線相連,用于傳遞CPU與8253之間的數(shù)據(jù)信息、控制信息和狀態(tài)信息; (2)CS片選信號(hào)(Chip Select),輸入,低電平有效; (3)WR寫信號(hào),輸入,低電平有效,用于控制CPU對(duì)8253的寫操作,可與A1,A0信號(hào)配合以決定是寫入控制字還是計(jì)數(shù)初值; (4)RD讀信號(hào),輸入,低電平有效。用于控制CPU對(duì)8253的讀操作,可與A1,A0信號(hào)配合讀取某個(gè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值; (5)A0,A1地址輸入線。用于8253內(nèi)部尋址的4個(gè)端口,即3個(gè)計(jì)數(shù)器和一個(gè)控制字寄存器。一般與CPU低位的地址線相連。 2.1.4.2、與外部設(shè)備的接口信號(hào)(1)CLK0(CLK1,CLK2)時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào)。CLK可以是系統(tǒng)時(shí)鐘脈沖,也可以是由其他脈沖源提供。8253規(guī)定加在CLK引腳的輸入時(shí)鐘周期不得小于380ns; (2)GATE0(GATE1,GATE2)門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作。當(dāng)GATE為高電平時(shí),允許計(jì)數(shù)器工作,當(dāng)GATE為低電平時(shí),禁止計(jì)數(shù)器工作; (3)OUT0(OUT1,OUT2)計(jì)數(shù)輸出端。在不同工作方式中,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0時(shí),OUT引腳上必輸出相應(yīng)的信號(hào)。 2.1.5 8253的工作方式方式0計(jì)數(shù)結(jié)束中斷方式 (Interrupt on Terminal Count)方式1 可編程的單穩(wěn)態(tài)觸發(fā)器(Programmable One Short)方式2-比率發(fā)生器、分頻器 (Rate Generator) 方式2用門控信達(dá)到同步計(jì)數(shù)的目的。方式3-方波發(fā)生器 (Square Wave Generator)方式3的工作過程同方式2,只是輸出的脈寬不同。方式4 軟件觸發(fā)選通方式 (Software Triggered Strobe) 用方式4工作時(shí),GATE門控信號(hào)只是用來允許或不允許定時(shí)操作的,定時(shí)的執(zhí)行過程由裝入的初值決定。方式5 硬件觸發(fā)選通方式 (Hardware Triggered Strobe)方式5為硬件觸發(fā)選通方式,完全由GATE端引入的觸發(fā)信號(hào)控制定時(shí)和計(jì)數(shù)。2.1.6 8253芯片可編程外圍信號(hào)狀態(tài)表表32.1.7 所選用8253的工作方式本實(shí)驗(yàn)要求產(chǎn)生頻率初值,并且根據(jù)步進(jìn)值來調(diào)節(jié)頻率和占空比,這樣我們想到了8253的工作方式0,每次都裝入初值。而要調(diào)節(jié)占空比的時(shí)候要考慮到高電平的輸入,這樣在周期固定的情況下就必須使用方式1,可編程觸發(fā)器,即可編程單穩(wěn)態(tài)觸發(fā)器,此時(shí)GATE具有控制裝入的功能。下面我就介紹一下這兩種工作方式的原理以及時(shí)序圖。(1) 首先是方式0-計(jì)數(shù)結(jié)束產(chǎn)生中斷在這種工作方式下,當(dāng)GATE為1時(shí),寫入控制字和計(jì)數(shù)值后,需要一個(gè)CLK脈沖周期計(jì)數(shù)初值才能被送到計(jì)數(shù)器減一部件。OUT是在寫入控制字后變成低電平,直到計(jì)數(shù)器減到0才變成高電平。OUT端輸出信號(hào)可以作為中斷請(qǐng)求信號(hào)。計(jì)數(shù)器在外部時(shí)鐘作用下,每個(gè)時(shí)鐘周期減一。當(dāng)GATE為0時(shí),每次寫入數(shù)值可以獲得一個(gè)負(fù)脈沖,計(jì)數(shù)停止。 圖1.5.1 正常計(jì)數(shù)圖1.5.2GATE信號(hào)的作用圖1.5.3方式2時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值(2)、方式1-可編程觸發(fā)器在這種工作方式下,寫入控制字和計(jì)數(shù)初值后,計(jì)數(shù)開始是以GATE的上升沿觸發(fā)。之后,OUT輸出低電平,次低電平一直維持到計(jì)數(shù)器減到0。這樣就可以從OUT輸出一個(gè)負(fù)脈沖,該負(fù)脈沖由GATE上升沿之后的下一個(gè)CLK脈沖的下降沿開始,負(fù)脈沖的寬帶為計(jì)數(shù)值乘時(shí)鐘脈沖時(shí)間長度。若想再次獲得同樣寬度的負(fù)脈沖,只要GATE上升沿再觸發(fā)一次即可。可見,這種方式下,裝入計(jì)數(shù)值后可以多次觸發(fā)。 圖1.5.4 正常計(jì)數(shù) 圖1.5.5 GATE信號(hào)的作用 圖1.5.6改變初值2.1.8 8253的控制字與初始化編程 D7 D6 D5 D4 D3 D2 D1 D0計(jì)數(shù)器讀寫格式工作方式數(shù)制D7、D6:00-選擇通道0 01-選擇通道1 10-選擇通道 11-無效D5、D4:00-計(jì)數(shù)器鎖存 01-只讀寫計(jì)數(shù)器低字節(jié) 10-只讀寫計(jì)數(shù)器高字節(jié) 11-先讀寫計(jì)數(shù)器低字節(jié),再讀寫計(jì)數(shù)器高字節(jié)D3、D2、D1:000-方式0 001-方式1 *10-方式2 *11-方式3 100-方式4 101-方式5D0:1-BCD碼計(jì)數(shù) 0-二進(jìn)制計(jì)數(shù)2.1.9 8253A的技術(shù)參數(shù)表4參數(shù)名稱符號(hào)測試條件最大規(guī)范值最小規(guī)范值輸入低電平電壓VIL0.8V-0.5V輸入高電平電壓VIAVcc+0.5 V2.2V輸出低電平電壓VOLVin=Vcc-0V0.45 V輸出高電平電壓VOHVout=Vcc-0.45V2.4V輸入負(fù)載電流IIL+/-10 V輸出浮動(dòng)漏電流IOFL+/-10 V電源電流Icc140 V8253A主要參數(shù)分析:輸入低電壓的范圍是-0.5 V0.8 V,輸出低電壓的范圍0.45 V2.4 V,輸入高電壓的范圍是2.2 VVcc+0.5 V。而測試條件均為Vin=Vcc-0V,Vout=Vcc-0.45V。2.2 、選擇8259芯片1)芯片8259A在本設(shè)計(jì)中的作用本設(shè)計(jì)中用于中斷源的判斷2)芯片8259A的功能分析18259A的主要特性微機(jī)系統(tǒng)中,可以使用8259A 擴(kuò)展外部中斷,Intel 8259A 可編程中斷控制器,主要有以下功能: 1片8259A 能管理8級(jí)中斷,通過級(jí)聯(lián)用9片8259A可以構(gòu)成64 級(jí)主從式中斷系統(tǒng)。 每一級(jí)中斷可以屏蔽或允許。中斷響應(yīng)周期,8259A 可提供相應(yīng)的中斷類型號(hào)。編程使8259A 工作在多種不同的方式。 28259A 的內(nèi)部結(jié)構(gòu)與引腳信號(hào) 數(shù)據(jù)總線緩沖器8位、雙向、三態(tài),是8259A與 CPU 之間的數(shù)據(jù)接口。 D0D7直接與CPU 數(shù)據(jù)總線的低8位連結(jié)。 讀/寫控制邏輯CS 接高位地址的譯碼輸出A0:常常與地址信號(hào)線A0相連。 RD,WR與CPU的RD,WR相連,低平有效。CPU 通常利用: OUT 指令,WR與A0配合寫入有關(guān)的控制字IN 指令,RD與CS,A0配合讀出8259A內(nèi)部有關(guān)寄存器的內(nèi)容。中斷請(qǐng)求寄存器 IRR8 位,若IRi 有效(“1”,),對(duì)應(yīng)位置“1”,直到IRi 得到響應(yīng)。 因此,IRR記錄外中斷源IRi的請(qǐng)求信息。中斷服務(wù)寄存器 ISR8位,當(dāng)IRi得到響應(yīng)時(shí),對(duì)應(yīng)位置“1”。ISR 記錄正在處理的IRi,當(dāng)中斷嵌套時(shí),可能多位置“1”。 因此,ISR記錄CPU對(duì)IRi的響應(yīng)情況。中斷屏蔽寄存器 IMR8位,某位置“ 1”,對(duì)應(yīng)IRi 禁止產(chǎn)生中斷。因此,IMR控制是否對(duì)IRi進(jìn)行屏蔽操作。優(yōu)先權(quán)電路實(shí)現(xiàn)優(yōu)先權(quán)的判斷與處理,采用編碼器和比較器電路,如下圖所示。圖2-7 中斷優(yōu)先權(quán)電路控制邏輯由IRR 和PR 的情況,向8259A 其它部件發(fā)出控制信息。向CPU 發(fā)出INT 信號(hào),接收CPU信號(hào) 級(jí)聯(lián)緩沖/比較器可以實(shí)現(xiàn)8259A的級(jí)聯(lián),擴(kuò)展外中斷。 38259A 的中斷處理過程下面以8259A單片使用為例,說明其中斷處理過程。當(dāng)一條或多條中斷請(qǐng)求線IR0 IR7變高時(shí),設(shè)置相應(yīng)的IRR位。PR對(duì)中斷優(yōu)先權(quán)和中斷屏蔽寄存器的狀態(tài)進(jìn)行判斷之后,如某中斷優(yōu)先權(quán)最高且為允許中斷狀態(tài),就向CPU發(fā)高電平信號(hào)INT,請(qǐng)求中斷服務(wù)。CPU響應(yīng)中斷時(shí),送回應(yīng)答信號(hào) INTA 。8259A接到來自CPU的第一個(gè)信號(hào)INTA時(shí),當(dāng)前中斷服務(wù)寄存器(ISR)中相應(yīng)位置位,并把IRR中相應(yīng)位復(fù)位。同時(shí),8259A準(zhǔn)備向數(shù)據(jù)總線發(fā)送中斷類型號(hào)。在8259A發(fā)送中斷類型號(hào)的后一個(gè)INTA 脈沖期間,如果是在AEOI(自動(dòng)結(jié)束中斷)方式下,在這個(gè) INTA 脈沖結(jié)束時(shí)復(fù)位ISR的相應(yīng)位。在非自動(dòng)中斷結(jié)束方式下,ISR相應(yīng)位要由中斷服務(wù)程序結(jié)束時(shí)發(fā)出的EOI命令來復(fù)位。48259A 的工作方式8259A有多種工作方式,這些工作方式可以通過初始化命令字(ICW1ICW4)和操作命令字(OCW1OCW3)來設(shè)置。引入中斷請(qǐng)求的方式邊沿觸發(fā)方式。以上跳沿向8259A請(qǐng)求中斷,上跳沿后可一直維持高電平,不會(huì)再產(chǎn)生中斷。電平觸發(fā)方式。以高電平申請(qǐng)中斷,但在響應(yīng)中斷后必須及時(shí)清除高電平,以免引起第二次誤中斷。中斷查詢方式。外設(shè)通過8259A申請(qǐng)中斷,但8259A卻不使用INT信號(hào)向CPU申請(qǐng)中斷,CPU用軟件查詢確定中斷源,并為其服務(wù)連接系統(tǒng)總線的方式在大系統(tǒng)中,要求數(shù)據(jù)總線有總線緩沖器。8259A與這種帶總線緩沖器的系統(tǒng)總線連接的方式稱緩沖器方式。在小系統(tǒng)中,則8259A不需要總線緩沖器而是將其直接接至數(shù)據(jù)總線。8259A與這種不需總線緩沖器而直接連到系統(tǒng)總線的方式稱非緩沖器方式。屏蔽中斷源的方式普通屏蔽方式。利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或幾位置1來屏蔽一個(gè)或幾個(gè)中斷源的中斷請(qǐng)求。若要開放某一個(gè)中斷源的中斷請(qǐng)求,則將IMR中相應(yīng)的位置0。特殊屏蔽方式。在某些場合,在執(zhí)行某一個(gè)中斷服務(wù)程序時(shí),要求允許另一個(gè)優(yōu)先級(jí)比它低的中斷請(qǐng)求被響應(yīng),此時(shí)可采用特殊屏蔽方式。它可通過OCW3的D6D511來設(shè)定。優(yōu)先級(jí)排隊(duì)的方式全嵌套方式。在此種方式下中斷優(yōu)先級(jí)按0 7順序進(jìn)行排隊(duì),只允許中斷級(jí)別高的中斷源去中斷中斷級(jí)別低的中斷服務(wù)程序。特殊全嵌套方式。它和全嵌套方式基本相同,所不同的是在特殊全嵌套方式下,當(dāng)執(zhí)行某一級(jí)中斷服務(wù)程序時(shí),可響應(yīng)同級(jí)的中斷請(qǐng)求,從而實(shí)現(xiàn)對(duì)同級(jí)中斷請(qǐng)求的特殊嵌套(8259A級(jí)聯(lián)使用時(shí),某從片的8個(gè)中斷源對(duì)主片來說,可以認(rèn)為是同級(jí)的)。特殊全嵌套方式用于多片級(jí)聯(lián)。優(yōu)先級(jí)自動(dòng)循環(huán)方式。在這種方式下,優(yōu)先級(jí)順序不是固定不變的,一個(gè)設(shè)備得到中斷服務(wù)后,其優(yōu)先級(jí)自動(dòng)降為最低。其初始的優(yōu)先級(jí)順序規(guī)定為IR0,IR1,IR7。該方式用在系統(tǒng)中多個(gè)中斷源優(yōu)先級(jí)相等的場合。優(yōu)先級(jí)特殊循環(huán)方式。這種方式與優(yōu)先級(jí)自動(dòng)循環(huán)方式唯一的區(qū)別是,其初始的優(yōu)先級(jí)順序不是固定IR0為最高,然后開始循環(huán),而是由程序指定IR0 IR7中任意一個(gè)為最高優(yōu)先級(jí),然后再按順序自動(dòng)循環(huán),決定優(yōu)先級(jí)。結(jié)束中斷的處理方式自動(dòng)中斷結(jié)束方式。在中斷服務(wù)程序中,中斷返回之前,不需發(fā)中斷結(jié)束命令就會(huì)自動(dòng)清除該中斷源所對(duì)應(yīng)的ISR位(實(shí)際上在CPU發(fā)第二個(gè)信號(hào)時(shí),8259即自動(dòng)消除ISR中的對(duì)應(yīng)位)。這種方式用在多個(gè)中斷不會(huì)嵌套的系統(tǒng)中。非自動(dòng)中斷結(jié)束方式。在中斷服務(wù)程序返回之前,必須發(fā)中斷結(jié)束命令才能使ISR中的當(dāng)前服務(wù)位清除。58259A 的初始化命令字8259A 初始化編程時(shí),有四個(gè)初始化命令字ICW(Initialiation Command Word),即ICW1ICW4 ;8259A工作期間,有三個(gè)操作命令字OCW(Operation Command Word),即OCW1OCW3。 8259A 只有兩個(gè)端口地址 ,A0=0 偶地址端口/A0=1 奇地址端口 。因此,對(duì)8259A讀/寫操作時(shí),要注意控制字:寫入的端口地址,寫入的順序,有關(guān)的標(biāo)志位ICW1(IRi 觸發(fā)方式,是否單片使用,是否寫入ICW4)A0 D7 D6 D5 D4 D3 D2 D1 D0 0XXX1標(biāo)記位LTIMXSNGICW4是否寫入ICW4IC41,要寫入ICW4IC40,不寫入ICW4,即ICW4規(guī)定的位全為0ICW2(中斷類型號(hào)的高5位)A0 D7 D6 D5 D4 D3 D2 D1 D01T7T6T5T4T3XXXIRi對(duì)應(yīng)中斷類型號(hào)的高5位(中斷類型號(hào)的低3位由8259A 自動(dòng)編碼產(chǎn)生)設(shè)置中斷向量號(hào)T7T3為中斷向量號(hào)的高5位低3位由8259A自動(dòng)確定:IR0為000、IR1為001、IR7為111ICW3(級(jí)聯(lián)時(shí),主從芯片的級(jí)聯(lián)引腳)若ICW1 中SNGL=1不寫入ICW3 =0寫入ICW3D7 D6 D5 D4 D3 D2 D1 D0S7 /ID7S6 /ID6S5 /ID5S4 /ID4S3 /ID43S2/ID2S1/ID1S0/ID0級(jí)連命令字主片8259A:Si1對(duì)應(yīng)IRi接有從片;否則IRi沒有連接從片從片8259A:ID0ID2編碼說明從片INT引腳接到主片哪個(gè)IR引腳(1) 寫給主片的ICW3ICW4A0 D7 D6 D5 D4 D3 D2 D1 D01000SFNM BUFM/SAEOI1D7,D6,D5為標(biāo)志位,D0為1表示用于8088/8086系統(tǒng)SFNM: 規(guī)定8259A中斷的嵌套方式 SFNM=0 正常的完全嵌套方式 =1 特殊的完全嵌套方式(單片使用時(shí),兩種方式一樣。)68259A 的操作命令字OCW1(中斷屏蔽操作命令字)設(shè)置或清除IMR 的各個(gè)位。D7 D6 D5 D4 D3 D2 D1 D0 M7M6M5M4M3M2M1M0屏蔽命令字內(nèi)容寫入中斷屏蔽寄存器IMRDiMi對(duì)應(yīng)IRi,為1禁止IRi中斷;為0允許IRi中斷。各位互相獨(dú)立。OCW2 (優(yōu)先權(quán)循環(huán)方式和中斷結(jié)束方式操作命令字)D7 D6 D5 D4 D3 D2 D1 D0RSLEOR00L2L1L0R、SL和EOI配合使用產(chǎn)生中斷結(jié)束EOI命令和改變優(yōu)先權(quán)順序L2L0的3位編碼指定IR引腳 OCW3(特殊屏蔽方式和中斷查詢方式操作命令字)D7 D6 D5 D4 D3 D2 D1 D00ESMMSMM01PRRRISESMM、SMM設(shè)置中斷屏蔽方式P、RR和RIS規(guī)定隨后讀取的狀態(tài)字含義78259A 查詢字D7 D6 D5 D4 D3 D2 D1 D01-W2W1W0中斷位I位為1,有外設(shè)請(qǐng)求中斷W2W0的編碼當(dāng)前中斷請(qǐng)求的最高優(yōu)先級(jí)3、控制程序設(shè)計(jì)3.1. 控制程序設(shè)計(jì)思路實(shí)驗(yàn)代碼:.MODELTINYCOM_ADDREQU0086HT0_ADDREQU0080HT1_ADDREQU0081H.STACK100 .CODESTART:MOV DX,COM_ADDR MOV AL,31H OUT DX,AL;計(jì)數(shù)器T0設(shè)置在模式0狀態(tài),BCD碼計(jì)數(shù) MOV DX,T0_ADDR MOV AL,00 OUT DX,AL MOV AL,05 OUT DX,AL;寫入初值500 CALL Init8259Init8259PROCNEARMOVDX,IO8259_0MOVAL,1BHOUTDX,AL;向偶地址端口寫入ICW1=13H,單片,寫入ICW4,高電平觸發(fā)MOVDX,IO8259_1MOVAL,08HOUTDX,AL;向奇地址端口寫入ICW2=08H,中斷類型號(hào)從08H-0FHMOVAL,09HOUTDX,AL;向奇地址端口寫入ICW4=09H,正常的嵌套方式, 緩沖方式,從片,非自動(dòng)中斷結(jié)束方式,16位8086MOVAL,0FEH OUTDX,AL;向奇地址端口寫入OCW1=0FEH屏蔽寄存器,允許IR0產(chǎn)生中斷,其他中斷請(qǐng)求被屏蔽RETInit8259ENDP ZHONGDUAN: MOV DX,COM_ADDR ;中斷服務(wù)程序 MOV AL,77H OUT DX,AL;計(jì)數(shù)器T1為模式3狀態(tài),輸出方波,BCD碼計(jì)數(shù) MOV DX,T1_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL;CLK1/1000 JMP$;OUT1輸出頻率為1000HZ的方波 END START3、程序設(shè)計(jì)流程圖及原理圖3.1、程序流程圖YN結(jié)束初始化8253,產(chǎn)生預(yù)置方波,驅(qū)動(dòng)揚(yáng)聲器OUT0為高電平?開始初始化PCI板卡,將偏移地址轉(zhuǎn)化為實(shí)地址初始化8253初始化82593.2、程序原理圖4、上機(jī)調(diào)試過程4.1調(diào)試分析主要是對(duì)兩個(gè)芯片的調(diào)試,即8253芯片,8259芯片。首先, 8253芯片主要是計(jì)數(shù)作用并引發(fā)中斷。4.2 設(shè)計(jì)遇到的問題如何解決時(shí)延問題?如果用到方式1和方式2結(jié)果又如何呢?5、設(shè)計(jì)結(jié)果分析以及心得體會(huì)5.1總結(jié)在作課程設(shè)計(jì)之前,由于查閱了各種資料,了解到很多功能相似的芯片性能,通過比較選出最適合本設(shè)計(jì)的硬件搭配,拓寬了知識(shí)面。在設(shè)計(jì)的過程中,程序的設(shè)計(jì)出現(xiàn)了很多問題,幾乎都是是邏輯上出現(xiàn)的問題而且具有很強(qiáng)的隱蔽性,不易被發(fā)覺,這需要反復(fù)進(jìn)行單步調(diào)試細(xì)心觀察每一步各個(gè)寄存器的變化。通過本次的課程設(shè)計(jì),強(qiáng)化了匯編語言的編程能力,了解到各個(gè)部件之間的連接及協(xié)調(diào)工作。學(xué)到了關(guān)于微機(jī)原理課程的更多相關(guān)內(nèi)容。完成這次課程設(shè)計(jì),不僅要掌握這些硬件,還要有一定匯編語言基礎(chǔ),熟練匯編編程,此次課程設(shè)計(jì)需構(gòu)建多個(gè)子程序,把每個(gè)功能分成一個(gè)一個(gè)得小子程序來實(shí)現(xiàn),使程序最優(yōu)化,讓讀者看起來一目了然,同時(shí)增加程序的可讀性,提高運(yùn)行速度,要充分掌握調(diào)用子程序。在程序調(diào)試時(shí)單步調(diào)試非常重要,往往在程序正確的情況下得到的結(jié)果不對(duì),通過單步調(diào)試可以一步一步的檢查找出問題。這次實(shí)驗(yàn)中我就出現(xiàn)了一個(gè)這樣的問題,檢查了程序幾篇都沒發(fā)現(xiàn)錯(cuò),還讓別人幫我檢查了也沒有查出,最后通過單步調(diào)試才解決了這個(gè)問題。還有就是關(guān)于波形不規(guī)范的問題,8253的方式0和方式1由于每次都裝入初值,所以肯定會(huì)產(chǎn)生時(shí)延

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論