51 단편기의 외부 중단 학습 (1)

3230 단어 단편기
/*********************************************************************************
*     			       
*     :      , K3     LED    ,   K4     LED1    。				
*     :  	
* 
*     :
* interrupt0:    0
* interrupt1:     0
* interrupt2:    1
* interrupt3:     1
* interrupt4:  			 
*********************************************************************************/
#include

typedef  unsigned int uint16;
typedef  unsigned char uchar8;

sbit  k3 = P3^2;    //      K3 
sbit  k4 = P3^3;	    //      K4 

sbit  led = P2^0;	//   P2  LED
sbit  led1= P2^1;    

/********************************************************************************
*    :   delay 
*     :	    ,i=1 ,    10us
*********************************************************************************/
void delay(uint16 i)
{

   while(i--);
}

/*********************************************************************************
*     :   Int0Init()
*      :       0
*     :	  
*     :	  
**********************************************************************************/
void  Int0Int()
{
    //   INT0
	IT0 = 1;   //        (     )
	EX0 = 1;   //   INT0     
	EA  = 1;   //     

}

/*********************************************************************************
*     :   Int0Init()
*      :       1
*     :	  
*     :	  
**********************************************************************************/
void  Int1Int()
{
    //   INT1
	IT1 = 1;   //        (     )
	EX1 = 1;   //   INT0     
	EA  = 1;   //     

}


/*********************************************************************************
*     :   main()
*      :    
*     :	  
*     :	  
**********************************************************************************/
void main()
{

	
   	 Int0Int();
	 Int1Int();
	 while(1);

}

/*********************************************************************************
*     :   Int0()    interrupt 0
*      :     0     
*     :	  
*     :	  
**********************************************************************************/
void waibu0()  interrupt 0 
{
    delay(1000);
	if(k3==0)			  //     
	{
	   delay(1000);
	   if(k3==0)
	   {
          led=~led;   

	   }
	
	}

}

/*********************************************************************************
*     :   waibu1()    interrupt 2
*      :     1     
*     :	  
*     :	  
**********************************************************************************/

void waibu1()  interrupt 2
{
    delay(1000);
	if(k4==0)	        	//     
	{
	   delay(1000);
	   if(k4==0)
	   {
          led1=~led1;   

	   }
	
	}

}

         :
1、    0      Int0()  interrupt 0       1      interrupt 2   interrupt 1 ,      。
2、    1       ,       
3、      ,      ,         
4、            ,       
 
  
 
  
 
 

좋은 웹페이지 즐겨찾기