请热心的朋友看下面的程序,进不了外部中断1,若改为EX0=1; EX1=0; 可以进外部中断INT0,
改为EX0=0; EX1=1;后,但都进不了INT1.
说明:MCU:AT89S52, KEILC 评估版编译, P14是跳线,接地可使Pulse01,Pulse02产生下降沿
的脉冲连线给P3.2,P3.3产生外中断.
#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit P10=P1^0; //Test pin
sbit P14=P1^4; //Test key
sbit Pulse01=P1^5; //For INT0;
sbit Pulse02=P1^6; //For INT1;
//--------------------------------
void int0() interrupt 0
{
EX0=0;
P10=0;
}
void int1() interrupt 2
{
EX1=0;
P10=0;
}
//--------------------------------
void main()
{
EA=1;
IT0=1; //falling edge on INT0(P3.2)
IT1=1; //falling edge on INT0(P3.3)
IE0=IE1=0;
//EX0=1; //disable INT0
EX1=1; //enable INT1
while(1)
{
if(P14==0)
{
Pulse01=0; //for INT0 P1.5==>P3.2
Pulse01=1;
Pulse02=0; //for INT0 P1.5==>P3.3
Pulse02=1;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>