请问这个外部中断程序是否写错了?

2019-07-15 16:26发布

实验:要求是开机的时候led1灯点亮闪烁,用杜邦线给P32(外部中断0)接低电平时,led2灯点亮,led1灯熄灭。去除杜邦线P32回到高电平时,led1点亮闪烁,led2灯熄灭。

问题:现在问题是当给P32低电平的时候led2点亮了,但led1没有熄灭,而是闪烁的速度变慢了?P32回到高电平时,led2还是一直亮着?

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
sbit led2=P2^7;                //中断时点亮这LED灯

        sbit led1=P2^0;

void main()

{
EA=1;
EX0=1;

led1=0;                     //点亮LED灯
delay(1000);  //延时

led1=1;                                //熄灭LED灯
delay(1000);        ////延时



}


void exter0() interrupt 0
{
        led2=0;        
}

void delay(uint z)
{
        uint x;
        uchar y;
        for(x=z;x>0;x--)
                for(y=1000;y>0;y--);        
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。