資源描述:
《實(shí)驗(yàn)七 外部中斷實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、貴州大學(xué)實(shí)驗(yàn)報(bào)告紙系別電科班級(jí)電科091班姓名學(xué)號(hào)課程名稱單片機(jī)成績(jī)?cè)u(píng)定教師簽名實(shí)驗(yàn)時(shí)間2012年5月21日實(shí)驗(yàn)七外部中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)外部中斷技術(shù)的基本使用方法。二、實(shí)驗(yàn)內(nèi)容1、INT0端接單次脈沖發(fā)生器。按一次脈沖產(chǎn)生一次中斷,CPU使P1.0狀態(tài)發(fā)生一次反轉(zhuǎn),P1.0接LED燈,以查看信號(hào)反轉(zhuǎn)。2、修改程序,實(shí)現(xiàn)用一位開關(guān)產(chǎn)生外部中斷1,每產(chǎn)生一次,調(diào)用一個(gè)流水燈方式,按順序4次一個(gè)周期后重復(fù)三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖1)外部中斷的初
2、始化設(shè)置共有三項(xiàng)內(nèi)容:中斷總允許即EA=1,外部中斷允許即EXi=1(i=0或1),中斷方式設(shè)置。中斷方式設(shè)置一般有兩種方式:電平方式和脈沖方式,本實(shí)驗(yàn)選用后者,其前一次為高電平后一次為低電平時(shí)為有效中斷請(qǐng)求。因此高電平狀態(tài)和低電平狀態(tài)至少維持一個(gè)周期,中斷請(qǐng)求信號(hào)由引腳INT0(P3.2)和INT1(P3.3)引入。2)中斷服務(wù)的關(guān)鍵:a、保護(hù)進(jìn)入中斷時(shí)的狀態(tài)。堆棧有保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場(chǎng)的功能使用PUSH指令,在轉(zhuǎn)中斷服務(wù)程序之前把單片機(jī)中有關(guān)寄存單元的內(nèi)容保護(hù)起來。b、必須在中斷服務(wù)程序中設(shè)定是否允許中
3、斷重入,即設(shè)置EX0位。c、用POP指令恢復(fù)中斷時(shí)的現(xiàn)場(chǎng)。3貴州大學(xué)實(shí)驗(yàn)報(bào)告附4頁)中斷控制原理:中斷控制是提供給用戶使用的中斷控制手段。實(shí)際上就是控制一些寄存器,51系列用于此目的的控制寄存器有四個(gè):TCON、IE、SCON及IP。4)中斷響應(yīng)的過程:首先中斷采樣然后中斷查詢最后中斷響應(yīng)。采樣是中斷處理的第一步,對(duì)于本實(shí)驗(yàn)的脈沖方式的中斷請(qǐng)求,若在兩個(gè)相鄰周期采樣先高電平后低電平則中斷請(qǐng)求有效,IE0或IE1置“1”;否則繼續(xù)為“0”。所謂查詢就是由CPU測(cè)試TCON和SCON中各標(biāo)志位的狀態(tài)以確定有沒
4、有中斷請(qǐng)求發(fā)生以及是那一個(gè)中斷請(qǐng)求。中斷響應(yīng)就是對(duì)中斷請(qǐng)求的接受,是在中斷查詢之后進(jìn)行的,當(dāng)查詢到有效的中斷請(qǐng)求后就響應(yīng)一次中斷。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū))和八位邏輯電平顯示模塊(B5區(qū))、單次脈沖模塊(E3區(qū))。五、實(shí)驗(yàn)程序;//*************************************************;文件名:EXintforMCU51;功能:外部中斷實(shí)驗(yàn);接線:導(dǎo)線連接單次脈沖模塊的輸出端到CPU模塊的P32,;CPU模塊的P10接八位邏輯電平顯示模塊的L0燈。;//
5、*************************************************org0ljmpStartorg3LJMPInterrupt0ORG0100HStart:movTCON,#01h;外部中斷0下降沿觸發(fā)movIE,#81h;打開外部中斷允許位(EX0)及總中斷允許位(EA)OK:MOVR2,#04HMOVR1,#0LOP1:CJNER2,#0,LOP1ljmpOKInterrupt0:Output1:CJNER1,#0,Output2mova,#0fEHmovR5,#8lo
6、op1:movP1,arlaAcallDelay貴州大學(xué)實(shí)驗(yàn)報(bào)告附4頁djnzR5,loop1LJMPJIESOutput2:cjner1,#1,Output3mova,#07fHmovR5,#8loop2:movP1,arraAcallDelaydjnzR5,loop2LJMPJIESOutput3:CJNER1,#2,Output4mova,#0FFHmovR5,#9loop3:CLRCmovP1,aRRCaAcallDelaydjnzR5,loop3movR5,#8loop4:SETBCRLCAMO
7、VP1,AAcallDelaydjnzR5,loop4LJMPJIESOutput4:CJNER1,#3,JIESMOVR3,#00HMOVR4,#09HMOVDPTR,#tab;表首址loop5:MOVA,R3MOVCA,@A+DPTR;查表讀取第一個(gè)字節(jié)MOVP1,AINCR3ACALLDELAYDJNZR4,loop5LJMPJIES貴州大學(xué)實(shí)驗(yàn)報(bào)告附4頁Delay:movr6,#0DelayLoop1:movr7,#0DelayLoop2:NOPNOPdjnzr7,DelayLoop2djnzr6
8、,DelayLoop1retJIES:INCR1DECR2RETItab:DB0FFH,0E7H,0C3H,81H,00H,81H,0C3H,0E7H,0FFHEnd六、實(shí)驗(yàn)步驟1)系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),用導(dǎo)線連接單次脈沖模塊的輸出端到CPU模塊的P32;CPU模塊的P10接八位邏輯電平顯示模塊的燈。2)啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3)連續(xù)按動(dòng)單次脈沖產(chǎn)生電