外部中断0,1

发布时间: 2024-08-02
来源: 电子工程世界

 #include

 #define uint unsigned int

 #define uchar unsigned char

 uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

 uchar liushui[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

 uchar num=0;

 void delay(uint i)

 {

    while(i--);

 }

/* ********************************************************************************************* */

void init(void)//初始化子函数

{

   IT0=1;//设置外部中断0为边沿触发

   EX0=1;//打开外部中断0

   IT1=1;//设置外部中断1为边沿触发

   EX1=1;//打开外部中断1

   EA=1;//打开中断的总开关

   

   }    

   /* ********************************************************************************************* */

 main()              //主函数

   {

      init();

      while(1)

      {

     num++;

     if(num==10)

     num=0;

     P1=duan[num];

     delay(50000);

      }

   } 

      

 /* ********************************************************************************************* */

void int0(void) interrupt 0//外部中断0处理程序

{

   P1=0;

   delay(20000);

   P1=0x00;

   delay(20000);

    P1=0x00;

   delay(20000);

  

  }   

  /* ********************************************************************************************* */

   void int1(void) interrupt 2//外部中断1处理程序

{

   

   uchar i,j;

   for(i=0;i<3;i++)

   {

      

      for(j=0;j<8;j++)

      {

     P2=liushui[j];

     delay(5000);

     }

      

      }

   

      P2=0xff;

  }     

aa0713e952a67a345829830c4b1fc933_1260466-20171122200326665-832522252.png


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。