![]() |
發布時間: 2020-6-2 01:09
正文摘要:要求是這樣的 設計內容:? 1、可設置三種最高溫度值,如低溫(20°),中溫(30°),高溫(50°);(20分)? 2、可設置最長10分鐘定時;(20分)? 3、用DS18B20感知溫度,當溫度達到設置溫度值,并持續設定時 ... |
1042860439 發表于 2020-6-2 12:26 你代碼都沒有完全搞清楚,就隨便刪除,能找到原因就怪了。你把主函數代碼搞清楚,再看子函數的調用是否正確。做事要按照步驟來。 直接從頭建立一個工程,按照自己的理解把代碼填進去 |
買個20多塊的邏輯分析儀調試,分析iic spi都能用得上 |
烈火 發表于 2020-6-2 08:42 我覺得問題出在了DS18B20上面,我刪了就能倒計時,應該是temp數據讀取那邊程序有問題,但我不知道怎么改。 |
lovezjf234 發表于 2020-6-2 09:29 程序確實不是我的,我還在初步學習,但我想知道問題出在哪里,我把if(Temp==T)這句刪掉依然可以倒計時,T能顯示所以是有賦值的,所以我認為問題出在了DS18B20溫度讀取TEMP上,但是不知道怎么改,能教我一下嗎 |
主函數都沒有調用倒計時函數,另軟件里面有兩個調用REG52,及不同的DS算法,不知道你是怎么編譯過的。估計只是用了下人家的hex文件,然后胡亂copy下代碼 |
void setTemp()//溫度設定,采用掃描獨立鍵盤來確定輸入 {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]); } 這段程序沒有進行按鍵消抖 |