我是靠谱客的博主 忐忑毛衣,最近开发中收集的这篇文章主要介绍STC15W104S/204S系列——关于外部中INT0——INT4的配置一、STC15单片机中断介绍     整理如下:二、中断程序配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、STC15单片机中断介绍

        1.STC15W204S单片机的外部中断有INT0-IN4,共5个外部中断。对应引脚如下:

     整理如下:

INT0P3^2
INT1P3^3
INT2P3^4
INT3P3^5
INT4

P3^0

   

   2.外部中断INT0和INT1可以设置为上升沿和下降沿触发 或 下降沿触发,但外部中断INT2-INT4只能由下降沿触发

   3.外部中断对应的中断号如下

INT00
INT12
INT210
INT311
INT416

  关于更多中断编号可参考如下:

二、中断程序配置

        1.外部中断0和外部中断1 

INT0:

#include "reg51.h"
void main()
{
    IT0=0;  //设置INT0的中断触发方式,当前为上升沿和下降沿都可触发
           //若IT0=1,则只能下降沿触发


    EX0=1;   //允许INT0触发中断
    EA=1;   //使能总中断
    
    while()
}
    
void INT0() interrupt 0
{
    //todo      
}

INT1:

#include "reg51.h"
void main()
{
    IT1=0;  //设置INT1的中断触发方式,当前为上升沿和下降沿都可触发
           //若IT1=1,则只能下降沿触发

    EX1=1;   //允许INT1触发中断
    EA=1;   //使能总中断
    
    while()
}
    
void INT1() interrupt 2
{
    //todo      
}

2.外部中断2-4

   INT_CLKO寄存器:

对于外部中断2-4,它们的中断触发触发方式只能是下降沿触发,因此无须配置TIx位。直接配置EX位即可,但因外部中断2-4的EX位在INT_CLKO寄存器中,因此直接配置该寄存器。
 

#include "reg51.h"

sfr INT_CLKO = 0X8f; //外部中断2-4中断允许寄存器

void main()
{
    INT_CLKO |=0x10;  //将EX2位置1,即允许INT2中断
    //INT_CLKO |=0x20;  //将EX3位置1,即允许INT3中断
    //INT_CLKO |=0x40;  //将EX4位置1,即允许INT4中断
    //INT_CLKO |=0x30;  //将EX2、EX3位置1,即允许INT2、INT3中断
    EA=1;   //使能总中断
    
    while()
}
    
void INT2/3/4() interrupt 10/11/16   //分别对应INT2、INT3、INT4
{
    //todo      
}

最后

以上就是忐忑毛衣为你收集整理的STC15W104S/204S系列——关于外部中INT0——INT4的配置一、STC15单片机中断介绍     整理如下:二、中断程序配置的全部内容,希望文章能够帮你解决STC15W104S/204S系列——关于外部中INT0——INT4的配置一、STC15单片机中断介绍     整理如下:二、中断程序配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部