外部中断0是接传感器的,中断0接受到信号,蜂鸣器响,D1闪烁,数码管显示报警次数。外部中断1是取消报警,D1不亮,蜂鸣器不叫,但是数码管保持不变。问题就是复位
电路不能工作,却晶振没有工作,已经经过多次实验了,请大神点播下,我的程序有没有问题
#include
***it D2=P1^7;
***it D1=P1^6;
***it SPP=P1^5;
int a=0,c=0,e=1,b=0;
int code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(int z)
{
intx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
D2=0;
EA=1;//传感器
EX0=1;
IT0=1;
TMOD=0x01;//持续报警
ET0=1;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
IT1=1;//取消报警
EX1=1;
while(1)
{
if(b==9)
{
b=0;
}
P2=table;
if(a==1)
{
SPP=0;
if(e==1)
{
D1=0;
delay(2);
D1=1;
delay(2);
}
}
if(c==200)//50ms*200=10000ms=10s
{
c=0;
a=0;
D1=1;
SPP=1;
TR0=0;
}
}
}
void chuangganqi() interrupt 0
{
a=1;
TR0=1;
b++;
}
void TT0() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
c++;
}
void quxiaobaojing() interrupt 2
{
a=0;
c=0;
TR0=0;
SPP=1;
D1=1;
}