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) //終端服務函數;
{ //在中斷函數中,不能定義局部數據類型變量;
//在此寫入中斷程序;
}