www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 什么是中斷程序呢?形象的生活比喻就比如你現(xiàn)在這在看我的文章,突然你的朋友喊你一起去烤地瓜,這時(shí)候你就中斷了看文章和朋友烤地瓜去了,烤完地瓜之后你又回來看文章??镜毓线@件事就好比中斷程序,他中斷了你看文

 什么是中斷程序呢?

形象的生活比喻就比如你現(xiàn)在這在看我的文章,突然你的朋友喊你一起去烤地瓜,這時(shí)候你就中斷了看文章和朋友烤地瓜去了,烤完地瓜之后你又回來看文章??镜毓线@件事就好比中斷程序,他中斷了你看文章這件事。在程序方面來說 當(dāng)CPU在執(zhí)行一個(gè)程序的時(shí)候,突然產(chǎn)生了中斷事件CPU就去執(zhí)行中斷程序了,當(dāng)執(zhí)行完成后CPU又回來執(zhí)行原先的程序。

中斷事件

什么是中斷事件,就是引起中斷的事件。對(duì)于單片機(jī)來說這些事件是多種多樣的。比如 說一個(gè)按鍵按下,一定的時(shí)間到了,一串?dāng)?shù)據(jù)發(fā)送完畢,或接收完一個(gè)數(shù)據(jù)。

講到中斷不得不講講和中斷相對(duì)的 查詢。其實(shí)不管是按鍵按下 還是 時(shí)間到,還是數(shù)據(jù)發(fā)送完畢,這些事實(shí)上都可以用查詢的方式辦到。比如 你是經(jīng)理 如果你想知道屬下任務(wù)完成了沒有 一種方式就是去詢問屬下,任務(wù)完成沒有。早上沒完成,下午在問。下午沒完成第二天再問。。。。一直到完成為止 這種方式就相當(dāng)于查詢的方式,另一種就是然屬下完成任務(wù)好直接匯報(bào),在下屬執(zhí)行任務(wù)的期間你無需去打撓下屬,當(dāng)下屬任務(wù)完成后就第一時(shí)間向你匯報(bào),這種方式就好像中斷。

查詢方式:缺點(diǎn)就是可能會(huì)大量浪費(fèi)CPU的時(shí)間,不斷去查詢。如果事情不多還好,可是一旦事情多了會(huì)明顯感到運(yùn)行速度變慢。

中斷方式:可以用在對(duì)時(shí)間和響應(yīng)速度有要求的場(chǎng)合。

具體有哪些事件會(huì)引起中斷 可以看

1,中斷控制寄存器INTCON

2,外設(shè)中斷允許寄存器 PIEX 注 : X可以是1 2 3 4.。。。不同型號(hào)的單片機(jī)數(shù)目不同

3,外設(shè)中斷標(biāo)志寄存器 PIRX 注: X可以是1 2 3 4.。。。不同型號(hào)的單片機(jī)數(shù)目不同

INTCON 中斷控制寄存器講解:

1開啟或關(guān)閉 全體的中斷功能(GIE)

2開啟或關(guān)閉全體外設(shè)的中斷功能(PEIE)外設(shè)就是在外設(shè)中斷允許/標(biāo)志寄存器里面所寫的設(shè)備。

3開啟一些中斷事件。

PIEX 與 PIRX 是相互對(duì)應(yīng)的如:當(dāng)把PIE1的TMR1IE設(shè)置為1 定時(shí)器timr1將開啟中斷。等到TMR1定時(shí)器溢出后,則會(huì)在PIR1的TMRIF將為1,并且執(zhí)行中斷程序。

實(shí)例講解:

我們把上一講的《PIC單片機(jī)之定時(shí)器》中的實(shí)例修改成中斷方式 實(shí)現(xiàn) 每隔 50MS亮起LED,每隔50MS滅掉LED。

/*開發(fā)環(huán)境MPLAB X IDE 芯片型號(hào)PIC16LF1823*/

#include

__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON

&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//這個(gè)要放到上一行去

__CONFIG(PLLEN_OFF&LVP_OFF) ;

#define LED LATA5

void init_fosc(void)

{

OSCCON= 0x68;

}

void init_gpio(void)

{

PORTA = 0;

LATA = 0;

ANSELA = 0;

TRISAbits.TRISA5=0;

}

void init_timer0(void)

{

OPTION_REG=0x87;

}

void interrupt isr(void)//中斷程序,interrupt是個(gè)關(guān)鍵字說明該函數(shù),是中斷函數(shù)。

{

LED = ~LED;//改變LED的狀態(tài)

INTCONbits.TMR0IF=0;//清零中斷標(biāo)志位 如果在離開中斷程序前沒有清零,程序?qū)⒉煌5闹袛唷?/p>

TMR0=61;//給TMR0付初始值61 ,開始下一個(gè)50ms計(jì)時(shí)做準(zhǔn)備。

//中斷函數(shù)結(jié)束 返回主函數(shù)。哪里來回 回那里去,也就是回到主函數(shù)的while(1);處

}

int main(int argc, char** argv)

{

init_fosc();

init_gpio();

init_timer0();

INTCONbits.GIE=1; //開啟總中斷

INTCONbits.TMR0IF=0;//清零TMR0溢出中斷標(biāo)志位

INTCONbits.TMR0IE=1;//開啟TMR0溢出中斷

TMR0=61;

while(1);//主函數(shù) 在此什么都沒做一直在死循環(huán)。但等到50ms時(shí)間到了TMR0將會(huì)溢出,程序就會(huì)跳到void interrupt isr(void)處執(zhí)行。

}

我?guī)痛蠹依砬逑轮袛喑跏荚O(shè)置大致的步驟

1 ,開啟總中斷,開啟外設(shè)中斷。INTCONbits.GIE=1; INTCONbits.PEIE=1;其實(shí)即使沒用到外設(shè)開啟也無妨。

2 ,清楚相應(yīng)中斷的標(biāo)志位。如INTCONbits.TMR0IF=0;

3 ,開啟相應(yīng)中斷。如INTCONbits.TMR0IE=1;

中斷函數(shù)/程序 中要注意的就是 清零相應(yīng)的中斷標(biāo)志位 如INTCONbits.TMR0IF=0; 否則單片機(jī)會(huì)認(rèn)為中斷未被執(zhí)行 則一直中斷。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

中斷服務(wù)程序

關(guān)鍵字: 時(shí)鐘 中斷程序

本文中,主要在于講解如何利用pic單片機(jī)實(shí)現(xiàn)紅外夜視儀設(shè)計(jì)。如果你對(duì)本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 指數(shù) 紅外夜視儀

為幫助大家解決pic單片機(jī)應(yīng)用難點(diǎn),本文將對(duì)pic單片機(jī)硬件死鎖問題予以講解。

關(guān)鍵字: pic單片機(jī) 指數(shù) 死鎖

電子相關(guān)專業(yè)的朋友對(duì)于pic單片機(jī)自然十分熟悉,為增進(jìn)大家對(duì)pic單片機(jī)的認(rèn)識(shí),本文將繼續(xù)為大家介紹pic單片機(jī)。本文中,小編將對(duì)pic單片機(jī)的PAGE和BANK予以闡述。

關(guān)鍵字: pic單片機(jī) 指數(shù) 單片機(jī)

對(duì)于pic單片機(jī),大家都很熟悉,pic單片機(jī)是諸多類型單片機(jī)中最為受用的一款。本文是《pic單片機(jī)實(shí)際應(yīng)用,基于pic單片機(jī)實(shí)現(xiàn)IC卡讀寫器(上)》的余下內(nèi)容。如果你對(duì)pic單片機(jī)具有興趣,抑或?qū)ic單片機(jī)的應(yīng)用充滿好...

關(guān)鍵字: ic卡讀寫器 pic單片機(jī) 指數(shù)

為幫助大家增進(jìn)對(duì)pic單片機(jī)的認(rèn)識(shí),本文將介紹如何基于pic單片機(jī)實(shí)現(xiàn)IC卡讀寫器。本文僅為上篇,剩余內(nèi)容請(qǐng)翻閱下篇。

關(guān)鍵字: pic單片機(jī) 指數(shù) ic卡讀寫器

為增進(jìn)大家對(duì)pic單片機(jī)的了解,本文將對(duì)pic單片機(jī)開發(fā)環(huán)境以及pic單片機(jī)的引腳3狀態(tài)予以講解。如果你對(duì)pic單片機(jī)具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 開發(fā)環(huán)境 指數(shù)

  當(dāng)人們晚上迷失在野外手上只有一個(gè)手電筒,此時(shí)有直升機(jī)飛過。人們用手電筒發(fā)出三短三長(zhǎng)三短的光線。用這個(gè)國(guó)際通用的SOS求救信號(hào),告訴飛行員來救你。人們規(guī)定的三短三長(zhǎng)三短的光線,代表SOS就是一

關(guān)鍵字: pic單片機(jī) 通信協(xié)議

PIC單片機(jī)是一種用來開發(fā)和控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng),應(yīng)用十分廣泛,本文就為大家介

關(guān)鍵字: pic32 pic單片機(jī)

本文將基于兩點(diǎn)對(duì)pic單片機(jī)予以闡述:1.如何挑選合適的pic單片機(jī),2.pic單片機(jī)或運(yùn)算符運(yùn)用。如果你對(duì)本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 指數(shù) 或運(yùn)算符
關(guān)閉