在51单片机当中,一般的at89s51就是两个外部中断源,其它加强型的我想应该会多两个,但是依旧还是不是很多,某些时候需要对其进行扩展,一般用定时器/计数器作外部中断,将其设定为计数器模式,并置初始化数为0xffH,这样只要一次就会计数溢出,产生中断。一般比较实用的就是实用软件中断。
这种方法是:把各个中断源通过硬件“或非”门引入到单片机外部中断源输入端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这样 当外部中断时,通过“或非”门引起单片机中断,在中断服务程序中再通过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于软件查询的 次序。其硬件连接如下:
注意:这里碰到一个很让人费解的问题,原来的时候我仿真的是int1,但是在实际仿真的过程当中是没有办法成功的,于是只能是采用INT0来仿真,效果正常。可能是软件的问题吧。