專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

各種單片機(jī)中斷程序的寫(xiě)法

作者:劉大允   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月25日   【字體:

 

////////////////////    下面是PIC單片機(jī)中斷的寫(xiě)法!///////////////////////////////////////////////////////////

#include<pic.h>
__CONFIG(0x1832); //寫(xiě)配置位
volatile char i; //中斷用到的變量須要用volatile修飾一下

void main()
{

}

void interrupt tt() //中斷服務(wù)程序,不用申明
{

}

//////////////////////////////////////////   下面AVR單片機(jī)GCC中斷程序的寫(xiě)法     /////////////////////////////////////////////

#include<avr/io.h>
#include<avr/interrupt.h>
volatile char i; //中斷用到的變量須要用volatile修飾一下

int main(void) //GCC編寫(xiě)的主函數(shù)是要用int型的函數(shù)
{
    sei(); //開(kāi)總中斷
}

SIGNAL(SIG_INTERRUPT0) //外部中斷0
{

}
SIGNAL(SIG__INTERRUPT1) //外部中斷1
{

}
SIGNAL(SIG_OVERFLOW1) //定時(shí)器1溢出中斷
{

}

SIGNAL(SIG_ADC)//ADC中斷的

{

}

///////////////////////////////////      下面是AVR單片機(jī)的ICC中斷程序?qū)懛ǎ?//////////////////////////////////////////////////

#include<iom16v.h>
volatile char i; //中斷用到的變量須要用volatile修飾一下
#pragma interrupt_handler miao:9
#pragma data:code
const  table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
             0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void main()
{
   SREG|=(1<<7); //開(kāi)總中斷
}

void miao() //中斷服務(wù)程序
{

}
 

關(guān)閉窗口

相關(guān)文章