熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-6-2 01:09
正文摘要:要求是這樣的 設(shè)計(jì)內(nèi)容:? 1、可設(shè)置三種最高溫度值,如低溫(20°),中溫(30°),高溫(50°);(20分)? 2、可設(shè)置最長10分鐘定時(shí);(20分)? 3、用DS18B20感知溫度,當(dāng)溫度達(dá)到設(shè)置溫度值,并持續(xù)設(shè)定時(shí) ... |
1042860439 發(fā)表于 2020-6-2 12:26 你代碼都沒有完全搞清楚,就隨便刪除,能找到原因就怪了。你把主函數(shù)代碼搞清楚,再看子函數(shù)的調(diào)用是否正確。做事要按照步驟來。 直接從頭建立一個(gè)工程,按照自己的理解把代碼填進(jìn)去 |
| 買個(gè)20多塊的邏輯分析儀調(diào)試,分析iic spi都能用得上 |
烈火 發(fā)表于 2020-6-2 08:42 我覺得問題出在了DS18B20上面,我刪了就能倒計(jì)時(shí),應(yīng)該是temp數(shù)據(jù)讀取那邊程序有問題,但我不知道怎么改。 |
lovezjf234 發(fā)表于 2020-6-2 09:29 程序確實(shí)不是我的,我還在初步學(xué)習(xí),但我想知道問題出在哪里,我把if(Temp==T)這句刪掉依然可以倒計(jì)時(shí),T能顯示所以是有賦值的,所以我認(rèn)為問題出在了DS18B20溫度讀取TEMP上,但是不知道怎么改,能教我一下嗎 |
| 主函數(shù)都沒有調(diào)用倒計(jì)時(shí)函數(shù),另軟件里面有兩個(gè)調(diào)用REG52,及不同的DS算法,不知道你是怎么編譯過的。估計(jì)只是用了下人家的hex文件,然后胡亂copy下代碼 |
|
void setTemp()//溫度設(shè)定,采用掃描獨(dú)立鍵盤來確定輸入 {while(1) { P3=0xff; if(S1==0) button=1;//20度 if(S2==0) button=2;//30度 if(S3==0) button=3;//50度 if(button==1) { T=20; weizhi(2,5); wdata(table[2]); delay_1ms(1); weizhi(2,6); wdata(table[0]); } 這段程序沒有進(jìn)行按鍵消抖 |
Powered by 單片機(jī)教程網(wǎng)