zoukankan      html  css  js  c++  java
  • 外部中断0/1

    外部中断0或1,实质是一样的,仅改变EX、IT为0或为1。
    Q;那么问题来了:为什么要有两个极相似的外部中断0或1呢?
    A:当外部有两个中断时,如果只有一个外部中断,
    那么一个中断处理外面的两个中断时,其CPU处理就不够精确了,
    所以得开通多一个处理外部中断的通道。
    Q:当有三个外部中断的时候呢?
    A;这就是单片机的局限。哈哈~~不过飞控有很多中断


    #include <reg52.h> /* *外部中断0 */ sbit LED = P2^0;//位声明 //寄存器初始化函数 void kinson() { EX0 = 1;//外部中断0开关 EA = 1;//中断总开关 IT0 = 1;//外部中断0出发方式:0为电平、1为下降沿 //定时器的是要启动 } //主函数 void main(void) { kinson();//寄存器初始化函数的调用 while(1);//让程序在这里死循环 } //中断 void xjx() interrupt 0 //外部中断0的中断号为0,外部中断1的中断号2 { LED = ~LED;//LED的亮和灭都是因为每次中断产生的 }

     

     

    #include <reg52.h>
    /*
    *外部中断1
    */
    sbit LED = P2^0;//位声明
    //寄存器初始化函数
    void kinson()
    {
        EX1 = 1;//外部中断0开关
        EA = 1;//中断总开关
        IT1 = 1;//外部中断0出发方式:0为电平、1为下降沿  //定时器的是要启动
    }
    //主函数
    void main(void)
    {
        kinson();//寄存器初始化函数的调用
        while(1);//让程序在这里死循环
    }
    
    //中断
    void xjx() interrupt 2 //外部中断0的中断号为0,外部中断1的中断号2
    {
        LED = ~LED;//LED的亮和灭都是因为每次中断产生的
    }

     

     

  • 相关阅读:
    2018上C语言程序设计(高级)作业-第0次作业
    最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    C语言--第四次作业
    C语言--第三次作业
    C-语言第二次作业(大一下)
    TRY
  • 原文地址:https://www.cnblogs.com/kinson/p/6868514.html
Copyright © 2011-2022 走看看