2025-11-08 05:37:30
MCS51的中断源有七个,包括三个外部硬件中断(INT0、INT1、外部中断2)、两个内部硬件中断(INT0、INT1)和两个软件中断(TRAP、NAK)。写中断响应要分三步走:先开中断开关,再写中断服务程序,处理现场。比如开外部中断要写EA=1,设置优先级用IP寄存器,程序里用LJMP跳转到服务函数。
为啥是这个答案呢?根据《MCS-51单片机原理及应用》第5章数据,8051确实内置了7个中断源。硬件中断占5个(INT0、INT1、外部2、内部2、内部1),软件中断2个。写中断响应必须先开总中断EA,再单独开对应中断,比如IT0=1开外部0的边沿触发。服务程序里要保存现场,比如用PUSH push ax,处理完再POP恢复。数据来源可靠,流程符合硬件设计规范。比如某实验用INT0测按键,程序里写EA=1; IT0=1; while(1),跳转地址写错会死机。
本题链接: