⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ext_int.c

📁 一个基于MEGA16的GUI
💻 C
字号:

#include   "config.h"


SIGNAL(SIG_INTERRUPT1) //INT1中断服务程序
    {
       //硬件自动清除INTF1标志位
       //这里全局中断被打开,将允许其他中断嵌套执行
       _delay_ms(10);
       if ((PIND&(1<<EXT_INT1))==0)
       LED1_ON(); //点亮LED1
       loop_until_bit_is_set(PIND,EXT_INT1);
       _delay_ms(10);
    }

void EXt_Init(void)
    {
       MCUCR=(1<<ISC11)|(1<<ISC10); /*设置为上升沿触发中断1*/
       /*
       ISCx1:0=00 INTx引脚为低电平时产生中断请求
       ISCx1:0=01 INTx引脚上任意的逻辑电平变化都将引发中断
       ISCx1:0=10 INTx引脚的下降沿产生中断请求
       ISCx1:0=11 INTx引脚的上升沿产生中断请求
       */
       GIFR=(1<<INTF1);//写1清除标志位,在使能中断前最好先把对应
                                             // 的标志位清除,以免误触发
       GICR=(1<<INT1); //使能三个外部中断
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -