新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > IAR 下 AVR 的外部中斷操作

        IAR 下 AVR 的外部中斷操作

        作者: 時間:2016-12-03 來源:網絡 收藏
        芯片 : ATMega16

        晶振 : 7.3728 MHz

        本文引用地址:http://www.104case.com/article/201612/325118.htm

        外部中斷0 ,下降沿觸發。

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

        代碼:

        #include
        #include
        #include

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

        MCUCR = 0x02;//下降沿觸發 外部中斷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 由亮變滅,由滅變亮
        }



        關鍵詞: IARAVR外部中

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 启东市| 宾阳县| 应城市| 来宾市| 韶山市| 肥西县| 佳木斯市| 平遥县| 方山县| 正镶白旗| 泰安市| 剑阁县| 荣成市| 小金县| 防城港市| 油尖旺区| 韶山市| 桃园市| 广汉市| 贵定县| 阿克陶县| 邢台市| 富宁县| 乐业县| 义马市| 兴城市| 定兴县| 彭州市| 安图县| 双柏县| 平和县| 册亨县| 星座| 珠海市| 刚察县| 长岭县| 闸北区| 德惠市| 双鸭山市| 萍乡市| 新乡市|