pISR_EINT0=(int)Eint0Isr;//设置外部0的中断向量
pISR_EINT1=(int)Eint1Isr;//设置外部1的中断向量
rEXTINPND=0xf; //clear EXTINPND reg.
rI_ISPC= BIT_EINT0 | BIT_EINT1; //clear pending_bit
rINTMSK=~(BIT_GLOBAL | BIT_EINT0 | BIT_EINT1); //External interrupt0,1 check..
// Delay(20);
}
/********************************************************************
// Function name : Eint0Isr
// Description : eint0 isr
// Return type : void
// Argument : void
*********************************************************************/
void Eint0Isr(void)
{
char i;
unsigned int j;
for(i=0;i <5;i++)
{
switch(i)
{
case 0: *((unsigned char*)0x2000000) = 0xff; break;
case 1: *((unsigned char*)0x2000000) = 0x7f; break;
case 2: *((unsigned char*)0x2000000) = 0x3f; break;
case 3: *((unsigned char*)0x2000000) = 0x1f; break;
case 4: *((unsigned char*)0x2000000) = 0x0f; break;
default: break;
}
for(j=0;j <60000;j++);
}
rI_ISPC= BIT_EINT0; //clear pending_bit
}
/********************************************************************
// Function name : Eint1Isr
// Description : eint1 isr
// Return type : void
// Argument : void
*********************************************************************/
void Eint1Isr(void)
{
char i;
unsigned int j;
for(i=0;i <5;i++)
{
switch(i)
{
case 0: *((unsigned char*)0x2000000) = 0xff; break;
case 1: *((unsigned char*)0x2000000) = 0x7f; break;
case 2: *((unsigned char*)0x2000000) = 0x3f; break;
case 3: *((unsigned char*)0x2000000) = 0x1f; break;
case 4: *((unsigned char*)0x2000000) = 0x0f; break;
default: break;
}
for(j=0;j <60000;j++);
}
rI_ISPC= BIT_EINT1; //clear pending_bit
}
我的联系方式:qq25195314,也希望和各位交流交流!!谢谢!