51单片机使用外部中断控制蜂鸣器怎么没用?

我写的程序如下,出学者咨询大老问题在哪#include <reg51.h>
typedef unsigned char uch;
typedef unsigned long uint;

sbit power=P3^3;
sbit beep=P1^5;

void delay(uint i)
{
while(i--);
}

void duan()
{
EX0=1;
IT0=0;
EA=1;
}

void main()
{
while(1)
{
duan();
}
}

void D_A() interrupt 0
{
beep=1;
if(power==0)
{
while(1)
{
beep=~beep;
delay(10);
}
}
}

把延时加大,你这太短了。还有就是中断服务程序不要做太多耗时操作,你这整个while死循环更不合适了。