把所有需要产生中断的引用一个逻辑芯片连接在一起,比如用一个多与非门,把要产生中断的脚都接在输入端,输出端就接在INT0或INT1上,当输入引脚任一一个脚变为低电平就触发低电平中断或边延中断,这样一来不就完成了P0口和中断的关联了。
我一个设想:
把其他引脚A、B、C、D等,和外部中断引脚P,用逻辑芯片相连(不能直接相连,对吧)
这样输入信号进来时,能同时到达中断引脚P和其他引脚
然后在中断里判断,A、B、C、D的电平,就知道是哪路的“中断”信号了
你要注意了,因为单片机中断有个自动保存现场的功能,中断完毕后会回复现场,用P0口或其他口对单片机自身进行中断,必须注意下面两点:
1.如果你使用的是电平中断,即TR0=0;必须要在中断程序开始的时候,软件清除P0中断位,否则会一直中断
2.或者将中断触发方式设置为下降沿触发即TR0=1;,这样的话,只要你使用一个脉冲就可以触发中断,这样就不用清除P0中断位
用与门,
选用P0端口的几个引脚作为与门的输入,与门输出连载外部中断引脚上。
此时只需拉低P0端口引脚即可!!!
读IO引脚的值。如先赋该引脚为高,当其变为低时,执行相应子程序。