![]() |
發布時間: 2018-4-8 11:21
正文摘要:就是溫度調控報警的一個東西,要求可以調溫度并且在屏幕上顯示,這個目前已經沒有任何問題了,可以實現,接下來就是聲光報警的這個問題,我弄不出來,你看一下我的主函數代碼,我把掃描屏幕顯示放到了中斷里,然后在 ... |
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();//數碼管顯示函數 } */ |
頂啊,跪求解答 |