![]() |
發布時間: 2018-7-26 15:58
正文摘要:從論壇找到了一個LCD1602萬年歷制作的資料,有溫度顯示功能。源程序里,負溫度原來是顯示亂碼,而且小數顯示并不正確,于是自己動手修改了一下程序。PS:C語言渣渣,剛剛自學。 修改了之后出現了以下些許問題:1、負 ... |
樓主的問題解決了嗎?如果解決了能不能分享一下? |
1、負號顯示不出來,總是顯示為0。 你自己看看bw這個變量,賦值“-”之后又被你下面的語句改了。 2、溫度值總是要比實際值小1攝氏度。 這是個向哪個方向取整的問題,你可以不管,簡單+1就可以了。 3、C語言子函數返回值調用問題,f值的調用。 這里f就是個局部變量,使用就可以了,不需要調用。 |
我也出現了這樣的問題,正溫度正常顯示,負溫度不能正常顯示。不知道問題出現在哪里? |
顯示正溫度值會錯誤正常嗎 |
3073084142 發表于 2018-7-26 18:12 實例97 一線式DS18B20測溫 先Proteus仿真一下,確認有效。
![]() ![]() 以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1,內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。 |
實例97 一線式DS18B20測溫 |
bw="-";// 溫度為負時,百位顯示負號,這里有問題 write_1602dat(bw+0x30); 應該是你碼表轉換問題了。要你1602上顯示“-”,你看下ASCII碼對照表要多少才是,我估計你的一出來 |
實例97 一線式DS18B20測溫 |