第3章 中斷系統(tǒng)_第1頁
第3章 中斷系統(tǒng)_第2頁
第3章 中斷系統(tǒng)_第3頁
第3章 中斷系統(tǒng)_第4頁
第3章 中斷系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章中斷系統(tǒng)3.1中斷系統(tǒng)簡(jiǎn)介3.2中斷控制相關(guān)寄存器3.3

應(yīng)用實(shí)例

PIC單片機(jī)原理及應(yīng)用2/1/20233.1中斷系統(tǒng)簡(jiǎn)介中斷矢量有2個(gè)入口地址:高優(yōu)先級(jí)中斷矢量000008H低優(yōu)先級(jí)中斷矢量000018H中斷源:基本中斷源或內(nèi)部中斷源特殊中斷源或稱為外部中斷源PIC單片機(jī)原理及應(yīng)用內(nèi)部中斷源:INT0、INT1和INT2引腳上的外部中斷TMR0溢出中斷PORTB端口電平變化中斷PIC單片機(jī)原理及應(yīng)用外部中斷源:TMRI/TMR3溢出中斷TMR2匹配中斷CCP模塊中斷主控同步串行口中斷A/D轉(zhuǎn)換中斷USART發(fā)送/接收中斷PIC單片機(jī)原理及應(yīng)用13個(gè)控制寄存器用于管理中斷源:中斷控制寄存器INTCON、INTCON2和INTCON3外圍模塊中斷請(qǐng)求寄存器PIR、PIR2、PIR3外圍模塊中斷使能寄存器PIE、PIE2、PIE3外圍模塊中斷優(yōu)先級(jí)寄存器IPR、IPR2和IPR3復(fù)位控制寄存器RCON說明:每個(gè)中斷源都有3個(gè)位來控制它的操作標(biāo)志位表明有中斷發(fā)生TMR0IF使能位允許響應(yīng)中斷TMR0IE優(yōu)先級(jí)位選擇中斷優(yōu)先級(jí)的高低TMR0IPPIC單片機(jī)原理及應(yīng)用2、高優(yōu)先級(jí)的中斷源可以中斷低優(yōu)先級(jí)的中斷在一個(gè)中斷被響應(yīng)后,中斷總使能位被清0當(dāng)IPEN=0時(shí),就是清GIE位當(dāng)IPEN=1時(shí),就是清GIEH和GIEL位中的一個(gè)說明:3、中斷響應(yīng)過程:某一中斷源發(fā)出中斷請(qǐng)求后,置位中斷請(qǐng)求標(biāo)志位,向CPU提出中斷申請(qǐng)單片機(jī)查詢到中斷標(biāo)志位后,如果該中斷使能,CPU將暫停當(dāng)前程序而轉(zhuǎn)向該中斷服務(wù)程序進(jìn)入中斷服務(wù)程序之前,CPU必須在現(xiàn)行指令執(zhí)行完畢后,將斷點(diǎn)地址壓入堆棧說明:保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)轉(zhuǎn)入中斷服務(wù)子程序查清發(fā)出中斷請(qǐng)求的具體中斷源清除相應(yīng)的中斷請(qǐng)求標(biāo)志位中斷處理完畢后,恢復(fù)現(xiàn)場(chǎng)和恢復(fù)斷點(diǎn)說明:PIC單片機(jī)原理及應(yīng)用中斷請(qǐng)求中斷屏蔽中斷響應(yīng)保護(hù)現(xiàn)場(chǎng)調(diào)查中斷源中斷處理清除標(biāo)志恢復(fù)現(xiàn)場(chǎng)中斷返回——RETFIE指令流程如下:3.2中斷控制相關(guān)寄存器中斷控制寄存器INTCON中斷請(qǐng)求寄存器PIR中斷使能寄存器PIE中斷優(yōu)先級(jí)寄存器IPR復(fù)位控制寄存器RCONPIC單片機(jī)原理及應(yīng)用主要有:1.中斷控制寄存器INTCON可讀/寫寄存器含有各種使能位、優(yōu)先級(jí)和標(biāo)志位INT0、INT1和INT2外部中斷TMR0溢出中斷PORTB端口電平變化中斷有3個(gè):INTCON,INTCON1,INTCON2PIC單片機(jī)原理及應(yīng)用1、INTCON介紹GIE/GIEHIPEN為0:選擇GIE全局中斷使能位IPEN為1:選擇GIEH高優(yōu)先級(jí)中斷使能位1、INTCON介紹PEIE/GIELIPEN為0:選擇PEIE外設(shè)中斷使能位IPEN為1:選擇GIEL低優(yōu)先級(jí)中斷使能位1、INTCON介紹RBIERB端口電平變化中斷使能位RBIFRB端口電平變化中斷標(biāo)準(zhǔn)位RBBit7~4的輸入電平一旦有變化,就將標(biāo)志位RBIF置11、INTCON介紹TMR0IETMR0溢出中斷使能位TMR0IFTMR0溢出中斷標(biāo)志位INT0IEINT0外部中斷使能位INT0IFINT0外部中斷標(biāo)志位INTEDG0、EDG1——外部中斷0和1的觸發(fā)邊沿選擇位1上升沿觸發(fā)0下降沿觸發(fā)RBUP——RB上拉電阻使能1禁止0使能1、INTCON2介紹TMR0IP、RBIP——優(yōu)先級(jí)選擇位1高優(yōu)先級(jí)0低優(yōu)先級(jí)1、INTCON2介紹TMR0IP、RBIP——優(yōu)先級(jí)選擇位1高優(yōu)先級(jí)0低優(yōu)先級(jí)1、INTCON2介紹IP——優(yōu)先級(jí)選擇位IE——中斷使能位1、INTCON3介紹2、RCON寄存器介紹復(fù)位控制寄存器位7

6543210功能IPENIPEN——中斷優(yōu)先級(jí)使能位1使能0禁止

其他位與復(fù)位控制相關(guān)

3、PIE寄存器介紹中斷使能寄存器PIE1位7

6543210功能PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IEPSPIE

從并口讀寫中斷使能位ADIE

ADC中斷使能位RCIEUART接收中斷使能位TXIE

UART發(fā)送中斷標(biāo)志位

PIE2PIE3

4、IPR寄存器介紹中斷優(yōu)先級(jí)選擇寄存器IPR1位7

6543210功能PSPIPADIPRCIPTXIPSSPIPCCP1IPTMR2IPTMR1IPPSPIP

從并口讀寫中斷優(yōu)先級(jí)選擇位ADIP

ADC中斷優(yōu)先級(jí)選擇位RCIPUART接收中斷優(yōu)先級(jí)選擇位TXIP

UART發(fā)送中斷優(yōu)先級(jí)選擇位

IPR2IPR3

5、PIR寄存器介紹中斷標(biāo)志寄存器PIR1位7

6543210功能PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IFPSPIF

從并口讀寫中斷標(biāo)志位ADIF

ADC中斷標(biāo)志位RCIFUART接收中斷標(biāo)志位TXIF

UART發(fā)送中斷標(biāo)志位

PIR2PIR3

3.3中斷應(yīng)用實(shí)例1.利用PORTB口電平中斷實(shí)現(xiàn)獨(dú)立式按鍵檢測(cè)PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例利用PORTB口電平中斷實(shí)現(xiàn)獨(dú)立式按鍵檢測(cè)RB4-RB7:作為按鍵輸入,采用電平檢測(cè)RD0-RD7:作為輸出,驅(qū)動(dòng)LED顯示PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例程序如下:#include<pic18.h>#defineA1RB4#defineA2RB5#defineA3RB6#defineA4RB7PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例相關(guān)子程序如下:VoidinterruptHI_ISR(void);Voidinit(void);Voiddelay10ms();PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例初始化程序如下:Voidinit(void){IPEN=1;TRISB=0XF0;RB4-RB7設(shè)為輸入

PORTB=0;TRISD=0;RD口為輸出PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例初始化程序如下:

PORTD=0;RBIF=0;清中斷RBIE=1;RB電平中斷使能

PORTB=PORTB;讀RB口,為電平變化創(chuàng)造條件

GIEH=1;開全局中斷

}PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例主程序如下:

voidmain(void){init();while(1){其他代碼;}}PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例中斷程序如下:VoidinterruptHI_ISR(void){GIEH=0;if((RBIE)&&(RBIF)){delay10ms();PORTB=PORTB;if(A1==0)PORTD=1;PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例中斷程序如下:

if(A2==0)PORTD=2;if(A3==0)PORTD=3;if(A4==0)PORTD=4;RBIF=0;}GIEH=1;}PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例2.利用INT0中斷實(shí)現(xiàn)按鍵識(shí)別PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例利用INT0中斷實(shí)現(xiàn)按鍵識(shí)別RB0/INT0:利用INT0中斷功能來進(jìn)行按鍵的檢查,每按下一次鍵產(chǎn)生一次中斷,

并對(duì)按鍵次數(shù)計(jì)數(shù)。RD0-RD7:作為輸出,驅(qū)動(dòng)LED顯示按鍵次數(shù)PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例程序如下:#include<pic18.h>Unisignedcharcounter=0;VoidinterruptHI_ISR(void);Voidinit(void);PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例初始化程序如下:Voidinit(void){IPEN=1;

TRISB=0X01;RB0設(shè)為輸入

TRISD=0;RD口為輸出

PORTD=0;PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例初始化程序如下:

INTEDG0=0;INT0下降沿觸發(fā)

INT0IF=0;

INT0IE=1;INT0中斷使能

GIEH=1;開全局中斷

}PIC單片機(jī)原理及應(yīng)用3.3中斷應(yīng)用實(shí)例主程序如下:

voidmain(void){init();while(1){PORTD=counte

溫馨提示

  • 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)論