zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    容灾、备份、存储
    春节前后学习实践的技术领域
    C#高级编程技术复习一
    利用投影制作多边框
    利用循环调用同一个函数
    IOS NSURLRequest(http请求)讲解 ---------赎罪之路
    IOS SQLite基本操作
    数据库三凡式通俗解析(转载)
    数据库设计原则(转载)
    MusicRadio ----------项目分享
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/3403730.html
Copyright © 2011-2022 走看看