 
- UID
- 1029342
- 性别
- 男
|
Avr mega16a 单片机在studio4 开发环境中外部中断C程序框架如下:
#include <avr/io.h> //头文件.
#include <avr/interrupt.h> //中断头文件;
typedef unsigned char uint8; //习惯宏定义数据类型语法.应用时只需写入数据类型:
// uint8 s=0;
typedef unsigned int uint16; //习惯宏定义数据类型语法.应用时只需写入数据类型:
// uint16 i=0;
Int main() //主函数;
{
MCUCR=0Xnn: //中断模式触发寄存器,用来设置外部中断引脚的触发方式,上升沿,下降
//沿,还是高电平或低电平方式;
GICR=0Xnn; //局部中断使能,用来使能某个中断源.
Sei() ; //全局中断使能,用来开启中断服务(中断总使能);
//在此写入程序语句;
//
//如果外部中断源一旦被触发,程序就会立即执行中断服务函数;
}
//此↓ ‘n’是外部中断源序号 有中断0,中断1,中断2 .
SIGANL(SIG_INTRRUPTn) //终端服务函数;
{ //在中断函数中,不能定义局部数据类型变量;
//在此写入中断程序;
} |
|