新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > IAR 下 AVR 的外部中斷操作

IAR 下 AVR 的外部中斷操作

作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
芯片 : ATMega16

晶振 : 7.3728 MHz

本文引用地址:http://m.butianyuan.cn/article/201612/325118.htm

外部中斷0 ,下降沿觸發(fā)。

關(guān)于硬件:要想穩(wěn)定的使用外部中斷,最好要在管腳處上拉一個電阻(一般上拉10K,當然上拉還是下拉也要看你的觸發(fā)條件),如果是按鍵的話應(yīng)該再并一個電容(一般為104),這樣效果會比較好,有效的防止抖動。

代碼:

#include
#include
#include

voidint0_init()
{
_CLI(); //disable all interrupts//關(guān)總中斷

MCUCR = 0x02;//下降沿觸發(fā) 外部中斷0
GICR = 0x40; //使能 外部中斷0
GIFR_INTF0 = 1;//清除 外部中斷0 標志位

_SEI(); //re-enable interrupts//開總中斷
}

voidmain(void)
{
DDRB_Bit0 = 1; //定義一個led
int0_init();

while(1);
}

#pragma vector = INT0_vect //外部中斷0入口地址
__interrupt voidex_int0(void)
{
PORTB_Bit0 = ~PORTB_Bit0; //每次進入中斷讓一個led 由亮變滅,由滅變亮
}



關(guān)鍵詞: IARAVR外部中

評論


技術(shù)專區(qū)

關(guān)閉