MCS—51系列单片机只有两个外部中断源输入端。当外部中断源多于2个时,就必须进行扩展。下面介绍两种简便的扩展方法:
一、采用硬件请求和软件查询相结合的方法
这种方法是:把多个中断源通过硬件“或非”门引入到单片机外部中断源输入端(INT0-或INT1-),同时再把外部中断源送到单片机的某个输入/输出端口。这样当外部中断时,通过“或非”门引起单片机中断,在中断服务程序中,通过软件查询,进而转相应的中断服务程序段。显然,这种方法的中断优先级取决于软件查询的次序。附图是扩展为3个中断源的原理框图。

二、用定时器/计数器中断作外部中断
单片机的定时器/计数器是一个加1计数器,可由程序对它置初值。当它工作在计数方式时,每当计数输入端有一个“1→0”的负跳变时,计数器加1。当加1计数器溢出时,就向CPU发出中断。利用这个特点来扩展中断的方法是:把定时器/计数器设置成计数方式,并预置满值,把外部中断源输入到P3口的第4引脚或第5引脚(计数输入端),这样就可借用定时器/计数器中断作为单片机外部中断。
这种方法的中断服务的入口地址应在000BH或001BH。(魏君安)