Avr mega16a 單片機(jī)在studio4 開發(fā)環(huán)境中外部中斷C程序框架如下:
#include <avr/io.h> //頭文件.
#include <avr/interrupt.h> //中斷頭文件;
typedef unsigned char uint8; //習(xí)慣宏定義數(shù)據(jù)類型語法.應(yīng)用時(shí)只需寫入數(shù)據(jù)類型:
// uint8 s=0;
typedef unsigned int uint16; //習(xí)慣宏定義數(shù)據(jù)類型語法.應(yīng)用時(shí)只需寫入數(shù)據(jù)類型:
// uint16 i=0;
Int main() //主函數(shù);
{
MCUCR=0Xnn: //中斷模式觸發(fā)寄存器,用來設(shè)置外部中斷引腳的觸發(fā)方式,上升沿,下降
//沿,還是高電平或低電平方式;
GICR=0Xnn; //局部中斷使能,用來使能某個(gè)中斷源.
Sei() ; //全局中斷使能,用來開啟中斷服務(wù)(中斷總使能);
//在此寫入程序語句;
//
//如果外部中斷源一旦被觸發(fā),程序就會立即執(zhí)行中斷服務(wù)函數(shù);
}
//此↓ ‘n’是外部中斷源序號 有中斷0,中斷1,中斷2 .
SIGANL(SIG_INTRRUPTn) //終端服務(wù)函數(shù);
{ //在中斷函數(shù)中,不能定義局部數(shù)據(jù)類型變量;
//在此寫入中斷程序;
}