int.c

来自「MEGA16单片机程序包2」· C语言 代码 · 共 43 行

C
43
字号
//ICC-AVR application builder : 2007-4-16 20:55:44
// Target : M16
// Crystal: 8.0000Mhz

#include <iom16v.h>
#include <macros.h>

void port_init(void)         //引脚初始化
{
  

 PORTD = 0x0C;               //INT0,INT1输入上拉电阻允许
 DDRD  = 0x40;
}

#pragma interrupt_handler int0_isr: 2     //INT0中断服务程序,中断号为2
void int0_isr(void)
{
  DDRD=0x40;
  PORTD=0X40;
}

void init_devices(void)                //中断初始化
{
 CLI();                         
 port_init();
 MCUCR = 0X00;                         //INT0为低电平触发
 SREG|= 0X80;                          //SREG的位I置“1”,允许中断
 GICR|= 0XC0;                          //INT0,INT1中断使能
 TIMSK|= 0x00;                         //关闭时钟中断
 SEI();                            
}

void main(void)
{   
    while(1)              //循环等待中断            
	{
	 PORTD=0X00;
         init_devices();
	} 
  
             
}

⌨️ 快捷键说明

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