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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]PIC單片機(jī)有多個(gè)中斷源,16系列只有一個(gè)中斷入口,18系列有兩個(gè)中斷入口,不同編譯器下書寫格式又不大一樣。網(wǎng)上資源千篇一律,也不夠系統(tǒng),只是簡(jiǎn)單的羅列程序,代碼生存的環(huán)境不一樣也少有說(shuō)明。在此做個(gè)簡(jiǎn)單的總結(jié)

PIC單片機(jī)有多個(gè)中斷源,16系列只有一個(gè)中斷入口,18系列有兩個(gè)中斷入口,不同編譯器下書寫格式又不大一樣。網(wǎng)上資源千篇一律,也不夠系統(tǒng),只是簡(jiǎn)單的羅列程序,代碼生存的環(huán)境不一樣也少有說(shuō)明。在此做個(gè)簡(jiǎn)單的總結(jié),因?yàn)橛肿吡藦澛?..

1.先說(shuō)18系列(MCC18編譯器下):

MPLAB C18不自動(dòng)把中斷服務(wù)程序放在中端向量處。通常將GOTO指令放在中斷向量處,從而把控制權(quán)轉(zhuǎn)交給相應(yīng)中斷服務(wù)程序。

void low_isr(void);

void high_isr(void);

*****************************低級(jí)中斷入口及服務(wù)子程序************************************/

#pragma code low_vector=0x18//低優(yōu)先級(jí)中斷入口,轉(zhuǎn)自21ic基礎(chǔ)知識(shí)

void interrupt_at_low_vector(void)

{

_asm GOTO low_isr _endasm

}

#pragma interrupt low_isr

#pragma code

void low_isr(void)

{

//低優(yōu)先級(jí)中斷服務(wù)函數(shù)寫在這里

}

*****************************高級(jí)中斷入口及服務(wù)子程序************************************/

#pragma code high_vecotr=0x08//高優(yōu)先級(jí)中斷入口

void interrupt_at_high_vector(void)

{

_asm GOTO high_isr _endasm

}

#pragma code

#pragma interrupt high_isr

void high_isr(void)

{

//高優(yōu)先級(jí)中斷服務(wù)函數(shù)寫在這里

}

2.再說(shuō)18系列(PICC18編譯器下):

//void PIC18F_High_isr(void);

//void PIC18F_Low_isr(void);

*****************************低級(jí)中斷服務(wù)子程序************************************/

#pragma interrupt lowlow_priority PIC18F_Low_isr

void PIC18F_Low_isr (void)

{

//低優(yōu)先級(jí)中斷服務(wù)函數(shù)寫在這里

}

*****************************高級(jí)中斷服務(wù)子程序************************************/

#pragma interrupt PIC18F_High_isr

void PIC18F_High_isr (void)

{

//高優(yōu)先級(jí)中斷服務(wù)函數(shù)寫在這里

}

3.三說(shuō)16系列(PICC編譯器下)(只有一個(gè)中斷入口,無(wú)所謂高了就):

void interrupt isr (void)

{

//中斷服務(wù)函數(shù)寫在這里

}

void init_interrupt()

{

GIE=0;

PEIE=1;

IPEN=1;

//TMR1IE=1;

//TMR1IF=0;

//TMR1IP=0;

//TMR1L=61;

//T1CON=0xC7;//set up timer0 - 8bit -prescaler

//TMR0IE=1;

//TMR0IF=0;

//TMR0IP=0;

//TMR0L=61;

//T0CON=0xC7;//set up timer0 - 8bit -prescaler 1:256

GIE=1;

}

本站聲明: 本文章由作者或相關(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)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉