『我』
2021-09-07 08:19
采纳率: 100%
浏览 36

单片机中段程序疑问?

我想知道,51单片机,如果一个定时器,我写了两个中断系统,定时器怎么会知道我想执行哪个中断系统,又如果我开了两个定时器,写了两个中断,怎么选择他们需要执行哪个中断。

  • 收藏

3条回答 默认 最新

  • baidu_30233079 2021-09-07 09:36
    已采纳

    有中断向量表,在中断向量表里面配置你要用的那个处理函数

    已采纳该答案
    打赏 评论
  • 沙漠之雕SD 2021-09-07 08:35

    ?两个中断系统什么意思?如果是两个定时器,硬件上的区分,有各自的中断函数,如果是一个中断函数有两个中断处理方法,就是软件上,你自己做好标志位区分

    打赏 评论
  • qq_708907433 2021-09-07 08:57
    
    //定时器 0 中断程序,中断号 1
    void timer0() interrupt 1
    {
    }
    
    //timer0 是函数名,以好懂好记为主可以随意起名字。
    //interrupt 1 这个 1 是中断号,在51中这个号是固定的,比如下表中断中号的定义
    
    //       中断名称   中断号
    #define  INT0_VECT   0      //外部中断0
    #define  TMR0_VECT   1      //定时器0
    #define  INT1_VECT   2      //外部中断1
    #define  TMR1_VECT   3      //定时器1
    #define  COM0_VECT   4      //串行中断
    #define  TMR2_VECT   5      //定时器2
    
    //其他中断函数举例
    
    //外部中断0 中断程序,中断号 1
    void int0() interrupt 0
    {
    }
    
    //串口0 中断程序,中断号 4
    void com0() interrupt 4
    {
    }
    
    
    打赏 评论

相关推荐 更多相似问题