if(DisplayData[2]==0x5b) { BEEP=~BEEP; LED=~LED; delay(500); } else { BEEP=1; LED=1; } 这行代码明显错了 |
去掉中断,主函数改这样试试 void main() { u16 j=0; /* TMOD=0x01; TH0=(65536-50)/256; TL0=(65536-50)%256; TR0=1; ET0=1; EA=1;*/ while(1) { datapros(Ds18b20ReadTemp());//数据处理函数 DigDisplay();//数码管显示函数 if(DisplayData[2]>=0x5b) { j++; if(j>=50000)//可以调整计数延时时间 { j=0; BEEP=~BEEP; LED=~LED; // delay(500); } } else { BEEP=1; LED=1; } } } /* void TIMER0_ISR() interrupt 1 { TH0=(65536-50)/256; TL0=(65536-50)%256; datapros(Ds18b20ReadTemp()); //数据处理函数 DigDisplay();//数码管显示函数 } */ |
顶啊,跪求解答 |