日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

什么是中斷程序呢?

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

中斷事件

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

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

查詢方式:缺點就是可能會大量浪費CPU的時間,不斷去查詢。如果事情不多還好,可是一旦事情多了會明顯感到運行速度變慢。

中斷方式:可以用在對時間和響應速度有要求的場合。

具體有哪些事件會引起中斷 可以看

1,中斷控制寄存器INTCON

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

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

INTCON 中斷控制寄存器講解:

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

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

3開啟一些中斷事件。

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

實例講解:

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

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

#include

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

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

__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是個關鍵字說明該函數(shù),是中斷函數(shù)。

{

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

INTCONbits.TMR0IF=0;//清零中斷標志位 如果在離開中斷程序前沒有清零,程序將不停的中斷。

TMR0=61;//給TMR0付初始值61 ,開始下一個50ms計時做準備。

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

}

int main(int argc, char** argv)

{

init_fosc();

init_gpio();

init_timer0();

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

INTCONbits.TMR0IF=0;//清零TMR0溢出中斷標志位

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

TMR0=61;

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

}

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

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

2 ,清楚相應中斷的標志位。如INTCONbits.TMR0IF=0;

3 ,開啟相應中斷。如INTCONbits.TMR0IE=1;

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

擴展閱讀:PIC單片機中斷程序設計技巧

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉