標題: 單片機+DS18B20+LCD1602溫度檢測,注釋超級詳細,適合新手。 [打印本頁]
作者: xddfandy 時間: 2019-5-7 16:46
標題: 單片機+DS18B20+LCD1602溫度檢測,注釋超級詳細,適合新手。
單片機+DS18B20+LCD1602 溫度檢測,注釋超級詳細,適合新手。
需要的下載自取,解壓后即可。包括C文件以及hex文件 晶振使用的是11.0592MHZ
(1)復位電路設計
通過Vcc(+5V)電源給電容C充電,然后加給RST引腳一個短暫的高電平信號,此信號隨著Vcc對電容C的充電過程而逐漸回落。RST引腳上的高電平大于復位要求的高電平時間。(電路中使用10千歐電阻,10微法電解電容),如圖2所示。
圖2 復位電路
(2)時鐘電路設計
本設計采用內部時鐘方式。AT89S52單片機內部有一個用于構成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳外部跨接石英晶體振蕩器和微調電容,構成一個穩(wěn)定的自激振蕩器。(電路中使用2個30皮法的瓷片電容,12MHZ晶振)如圖3所示。
圖3時鐘電路
(3)溫度測量電路設計
溫度傳感器采用美國DALLAS半導體公司生產的DS18B20,與傳統(tǒng)的熱敏電阻等測溫元件相比,能夠直接讀出被測溫度,硬件電路簡單,單線接口,可通過數(shù)據(jù)線供電,電壓范圍在3.0V~5.5V。如圖4所示。
圖4溫度測量電路
(4)顯示電路設計
字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、版本號等的點陣式液晶顯示模塊。它是由若干個5×7或5×11等點陣符位組成的,第一個點陣字符位都可以顯示一個字符。點陣字符位之間有一定點距的間隔,這樣就起到了字符間距和行距的作用。本設計采用字符型液晶顯示模塊LCD1602。如圖5如示。
圖5LCD1602連線電路
圖5液晶顯示模塊電路

(5)總體電路圖
圖6系統(tǒng)總體電路圖
(1)DS18B20顯示溫度模塊需要調用4個子程序分別為
1.DS18B20初始化子程序,讓單片機知道DS18B20在總線上已準備好操作;
2.DS18B20寫字節(jié)子程序,對DS18B20發(fā)出命令;
3.DS18B20讀字節(jié)子程序,讀取DS18B20存儲器的數(shù)據(jù);
4.延時子程序,對DS18B20操作時的時序控制;
設計結果分析及心得體會
(1)結果分析
本次設計達到題目要求,能夠利用DS18B20數(shù)字式溫度傳感器較準確測量周圍環(huán)境的溫度,并能通過字符型的顯示模塊LCD1602進行實時顯示,并且掌握了DS18B20的單總線協(xié)議,如圖16所示,使我們本次設計的實物圖。
圖16設計結果實物圖
(2)心得體會
本系統(tǒng)完成設計的要求、測溫較準確,作品性能好,具有一定的實際應用價值。該溫度檢測系統(tǒng)只是DS18B20在溫度測量領域的一個簡單實例,還有許多需要完善的地方。通過本次設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,才能提高自己的實際動手能力和獨立思考的能力。同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。總的來說,這次設計還是比較成功的,在設計中遇到了很多問題,最后在老師的辛勤的指導下,終于游刃而解,有點小小的成就感,終于覺得平時所學的知識有了實用的價值,達到了理論與實際相結合的目的,不僅學到了不少知識,而且鍛煉了自己的能力。最后,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝。
單片機源程序如下:
基于51溫度檢測程序.zip
(17.52 MB, 下載次數(shù): 677)
2019-5-7 16:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: 大白菜111 時間: 2019-5-10 15:51
你這程序有錯
作者: 大白菜111 時間: 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的
作者: xddfandy 時間: 2020-3-21 16:03
沒有呀!我設計就是這個程序呀!當時都可以演示的尼
作者: xddfandy 時間: 2020-3-21 16:04
你生成HEX文件后燒錄在單片機里面搭配其他外圍硬件就可以實現(xiàn)功能的呀!。
作者: 972963 時間: 2020-3-23 17:09
感謝樓主分享
作者: joe_2019 時間: 2020-3-23 21:25
學習一下,就是下載速度太慢了。
作者: 黑子的難拿 時間: 2020-4-2 17:20
請問一下樓主 為什么我的proteus中仿真就一直顯示的溫度為-1、-0這種?
作者: 黑弓的拉迪 時間: 2020-4-3 12:23
問一下樓主,硬件里面的電源那塊你是怎么弄的,直接用USB轉DC線就行了嘛?
作者: 大風吹過啊 時間: 2020-4-16 11:14
正常編譯,正常工作,只能說你有毒,或者不會用。。。。。。
作者: 馬永練 時間: 2020-4-17 19:28
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的
注意是AT89C52單片機!建工程別選錯!
作者: 張力力 時間: 2020-5-14 16:47
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的
啥都不會,亂叫
作者: 321565465 時間: 2020-5-23 12:09
時序問題,改一下單片機的頻率,改為12M的
作者: 666liuxing 時間: 2020-5-25 10:20
兄弟你做成了嗎
作者: 戡拤 時間: 2020-12-16 20:29
如果出錯,可能還與軟件有關
作者: cheng7791 時間: 2020-12-20 08:38
只有程序,沒有其他的內容了/
作者: xddfandy 時間: 2021-1-9 14:57
這個是直接轉DC的,后面我自己做了一個220V交流轉5V直流的電源,用作DIY小玩意了,但是已經找不見了,后面找見給你發(fā)過去,或者你在網上直接找,很多的原理圖。
作者: xddfandy 時間: 2021-1-9 14:58
我做成了,給師傅演示了
作者: xddfandy 時間: 2021-1-9 14:58
里面的文字描述的可以作為設計思路的,提交文本直接給師傅看
作者: abcd2007 時間: 2022-2-4 22:19
編譯的沒有問題,做的不錯
作者: abcd2007 時間: 2022-2-5 12:11
追加回復來了,通過調試研究,注釋的和實際編寫的I/O 口有時候對不上,但文檔里的是對的,請樓主自行查驗,我根據(jù)自己的電路更改了一下程序,下載到單片機上了,可用,very good!
-
IMG_20220205_115513.jpg
(3.74 MB, 下載次數(shù): 143)
下載附件
2022-2-5 12:11 上傳
作者: cisnng 時間: 2023-9-21 22:54
試運行結果為0,仔細看,原來是tvalue這個全局變量。
作者: 不曉得__ 時間: 2024-5-15 19:16
uchar code str1[]={"1503322615033211"}; uchar code str2[]={" T="};
作者: 不曉得__ 時間: 2024-5-15 19:18
uchar code str1[]={"1503322615033211"}; 問問大佬 這句是干嘛用的
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |