答:
先看看你的中断程序:
void exter0() interrupt 0
{
d1=0;
}
也就是叫d1置零而已。执行完这句就跳出中断了,继续执行主函数。
那么你叫中断一直低电平,是不是就一直触发中断呀?是的。
你认为只要一直触发中断,是不是就应该永远执行中断函数,而不干别的了?
当程序从中断函数跳出时如果又来了中断,单片机会在跳出中断后执行一条指令才进入中断的! 也就是执行RETI这句汇编指令后,接着又执行一条语句,才进入中断函数。跳出后又执行一条语句....依此类推
所以你的程序就是这样的情况。你看到的就是跳动的频率变满了。
中断对你的显示没有关系,把延时再加长点到一秒,你就能看到效果了。