熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-4-8 11:21
正文摘要:就是溫度調(diào)控報(bào)警的一個(gè)東西,要求可以調(diào)溫度并且在屏幕上顯示,這個(gè)目前已經(jīng)沒有任何問題了,可以實(shí)現(xiàn),接下來就是聲光報(bào)警的這個(gè)問題,我弄不出來,你看一下我的主函數(shù)代碼,我把掃描屏幕顯示放到了中斷里,然后在 ... |
if(DisplayData[2]==0x5b) { BEEP=~BEEP; LED=~LED; delay(500); } else { BEEP=1; LED=1; } 這行代碼明顯錯(cuò)了 |
去掉中斷,主函數(shù)改這樣試試 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());//數(shù)據(jù)處理函數(shù) DigDisplay();//數(shù)碼管顯示函數(shù) if(DisplayData[2]>=0x5b) { j++; if(j>=50000)//可以調(diào)整計(jì)數(shù)延時(shí)時(shí)間 { 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()); //數(shù)據(jù)處理函數(shù) DigDisplay();//數(shù)碼管顯示函數(shù) } */ |
頂啊,跪求解答 |
Powered by 單片機(jī)教程網(wǎng)