什么是外中断

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:25:03
如题

89C51外中断
开始学C51语言编了个89C51外中断的小程序,出现问题不明白特此请教各位。
我的目的是外中断0和1可随时通过按纽互相切换,因此在中断0处理程序中把中断1设为高优先,在中断1处理程序中把中断0设为高优先。问题出现了:无论先执行外中断0或者1,都可以随时执行中断1或者0,但是第二次切换时就不成功了,切换不成功,仍然执行原来的中断程序。主程序---中断0(1)--切换--中断1(0)--再次切换--失败、仍然中断1(0)。
void int0 (void) interrupt 0{
PX1 = 1; //外中断1为高优先中断
PX0 = 0; //外中断0为低优先中断

while(1)
{yanshi();
P1=0xff;
yanshi();
P1=0x00;
yanshi();}
}

void int1 (void) interrupt 2{
PX0 = 1; //外中断0为高优先中断
PX1 = 0; //外中断1为低优先中断
while (1)
{yanshi();
P1=0x55;
yanshi();
P1=0xaa;
yanshi();}
}

具体而言,一种全局中断和障碍网络被实现,该网络实现这样的逻辑,该逻辑用于生成全局中断和障碍信号,该全局中断和障碍...一种全局中断和障碍网络,包括:用于生成全局中断和障碍信号的装置
外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备 的中断请求。
内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算 溢出、单步中断等)所引起的中断。