你以P3.3口为低电平时触发中断,那是INT1,中断号是2,中断子程序应该这么写
void exter1() interrupt 2 //这是2
{
d1 = 0; //P1^0为低电平
}
不过,你的P1^0外部接LED了吗,否则你怎么知道变成低电平了。
还有,虽然在中断子程序中,P1^0变成了低电平,你也能知道,可是回到主程序后,
for(num = 0;num < 16;num++)
{
d1 = 1; //这里马上又变成了高电平,那个低电平是看不到的,不能这么写呀!!!!!
DUAN = 1;
P0 = table[num];
DUAN = 0;
delay(100);
}