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

📄 外部中断int0例子.c

📁 请认真阅读您的文件包然后写出其具体请认真阅读您的文件包然后写出其具体
💻 C
字号:
/***************************************************
CodeWizardAVR V1.24.8d Professional
//PD2插上跳线帽/PD3插上跳线帽/PC插上跳线帽,其他的开路
//使用内部时钟
//按动SW按键就可以打开/关闭蜂鸣器
//本例子没有考虑太多的按键防抖动功能
***************************************************/

#include <mega8.h>

interrupt [2] void INT0_isr(void) //INT0的中断向量是2,请参考M48数据手册的48页
{
  PORTD.3=~PORTD.3;               //电平取反
 // EIFR|=1;                        //清除INT0中断触发标记,防止按键抖动(M48)
 GIFR|=0x40;
}

void main(void)
{ 
  PORTD.2=1;
  DDRD.2=0;                       //设置INT0端口为输入,上拉电阻有效
  PORTD.3=0;                      
  DDRD.3 =1;                      //设置PD3输出低电平,准备驱动蜂鸣器
  
//  EIMSK|=1;                       //打开INT0中断(M48)
//  EICRA|=3;                       //INT0上升沿触发(M48)
GICR|=0x40;
MCUCR|=3;
  #asm("sei")                     //插入汇编语句,打开全局中断   
  
  while (1)                       //循环,等待中断 
        {
           #asm("nop")            //空操作的汇编代码,等待中断发生
        };
    }

⌨️ 快捷键说明

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