STC12C5A60S2筆記6(中斷)


1. 基本特性

  1) 中斷源

   STC12C5A60S2共有十個中斷源,每個中斷源可設置4類優先級;當相同優先級下各中斷優先級由高到低依次如下:

    1.1)INT0(外部中斷0) 中斷向量地址 0003H, C語言編程:void Int0_Routeine(void)  interrupt0;

    1.2)T0(T0溢出中斷)中斷向量地址 000BH,C語言編程:void Timer0_Rountine(void) interrupt1;

    1.3)INT1(外部中斷1)中斷向量地址0013H,C語言編程:void Int1_Routine(void) interrupt2;

    1.4)T1(T1溢出中斷)中斷向量地址 001BH,C語言編程:void Timer1_Rountine(void) interrupt3;

    1.5)UART1(串口1)中斷向量地址 0023H, C語言編程:void UART_Routine(void) interrupt4;

    1.6)ADC(AD轉換中斷)中斷向量地址 002BH,C語言編程:void ADC_Routine(void) interrupt5;

    1.7)LVD(低壓檢測中斷)中斷向量地址 003BH,C語言編程:void LVD_Routine(void) interrupt6;

    1.8)PCA(PCA中斷)中斷向量地址 003BH,C語言編程:void PCA_Routine(void) interrupt7;

    1.9)UART2(串行口2)中斷向量地址 0043H,C語言編程:void UART_Routine(void) interrupt8;

    1.10)SPI(SPI中斷)中斷向量地址 004BH,C語言編程:void SPI_Routine(void) interrupt9;

 

  2) 寄存器

    2.1)IE、IE2 中斷允許控制寄存器,確定CPU對中斷源的開放或屏蔽;

    2.2)IP、IP2、IPH、IP2H 中斷優先級控制寄存器,確定各個中斷源的優先級0~3級;

    2.3)TCON,定時/計數器T0、T1、外部中斷INT0和INT1的控制寄存器;

    2.4)SCON/S2CON,串口控制寄存器,包括串口接收和發送中斷標識位

    2.5)PCON,低壓檢測中斷寄存器

    2.6)ADC_CONTR,ADC控制寄存器,標示AD轉換完成時的中斷允許

 

2. 典型例子

#include<reg51.h>

unsigned int g_status = 0;

void exint0() interrupt 0 //外部中斷0回調
{
    if(0 == g_status){
        P0 = 0xfe;
        g_status = 1;
    }else{
        P0 = 0xff;
        g_status = 0;
    }
}

void main()
{
    IT0 = 1; //采用電平觸發方式,即輸入低電平時觸發
    EX0 = 1; //允許外部中斷INT0
    EA  = 1; //允許開放中斷

    P0 = 0xfe;

    while(1);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM