找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 26466|回復(fù): 55
收起左側(cè)

開源STC51單片機(jī)+DS18B20精簡溫度計(jì)(只需三個(gè)元件)

  [復(fù)制鏈接]
ID:123732 發(fā)表于 2016-10-16 22:50 | 顯示全部樓層 |閱讀模式
本帖最后由 劉海龍 于 2016-10-22 13:08 編輯

硬件只需STC單片機(jī)+DS18B20+3位共陰數(shù)碼管
單片機(jī)STC15W408AS(內(nèi)部集成了高精度可調(diào)晶振)通過DS18B20讀取溫度,用推挽方式直接驅(qū)動(dòng)3位共陰數(shù)
碼管顯示溫度。(0-99.9攝氏度)
單片機(jī)和數(shù)碼管疊羅漢(單片機(jī)插在面包板上后數(shù)碼管插在面包板單片機(jī)引腳對應(yīng)的位置)
照片 003.jpg 照片 002.jpg 照片 001.jpg DS18B20溫度計(jì).png
程序中DS18B20.H驅(qū)動(dòng)不適合直接用于STC89/STC90系列及其他公司的單片機(jī)(延時(shí)時(shí)間不同需修改
  1. /*********************************************************************************************
  2. 程序名:    3位共陰數(shù)碼管顯示溫度
  3. 編寫人:    劉海龍(部分程序來自網(wǎng)絡(luò)) 
  4. 編寫時(shí)間:  2016年7月3日
  5. 硬件支持:  STC15W408AS單片機(jī)(12M晶振)+DS18B20+共陰數(shù)碼管
  6. 接口說明:  P5.5接口接DS18B20單總線    
  7. /*********************************************************************************************/
  8. #include <STC15w.h>
  9. #include <intrins.h>
  10. #include <4LED_YIN.h>
  11. #include <DS18B20.h>
  12. /*******************************************/
  13. void delay1ms (unsigned int a){ // 1ms延時(shí)程序
  14.         unsigned int i;
  15.         while( --a != 0){
  16.                 for(i = 0; i < 630; i++);//STC單片機(jī)在晶振為12MHz時(shí)i值上限為630  
  17.         }                                                       //AT89C51單片機(jī)在外部晶振為12MHz時(shí)i值上限為125
  18. }
  19. /**********************************************************************************************/
  20. void main (void){
  21.         unsigned char i;
  22.         delay1ms(300); //
  23.         init();
  24.         
  25.         while(1){//主循環(huán)
  26.            
  27.                  disp(ReadTemperature());//刷新顯示溫度         
  28.         }        
  29. }
  30. /*****************************************************************************/
復(fù)制代碼


3位共陰數(shù)碼管溫度計(jì).rar

3.72 MB, 下載次數(shù): 458, 下載積分: 黑幣 -5

源程序

DS18B20溫度計(jì)原理圖.rar

31.68 KB, 下載次數(shù): 198, 下載積分: 黑幣 -5

PADS9.5畫的

評分

參與人數(shù) 4黑幣 +20 收起 理由
qq274255093 + 5 贊一個(gè)!
枝森 + 5 很給力!
darkly5251 + 5 很給力!
滴~電子小白 + 5 很給力!

查看全部評分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-22 10:45 | 顯示全部樓層
下載程序時(shí)晶振選擇12M
回復(fù)

使用道具 舉報(bào)

ID:91165 發(fā)表于 2016-10-22 11:02 | 顯示全部樓層
簡潔實(shí)用,制作見到。樓主厲害
回復(fù)

使用道具 舉報(bào)

ID:143848 發(fā)表于 2016-10-22 11:35 來自手機(jī) | 顯示全部樓層
我亂逛終于看到這里了
回復(fù)

使用道具 舉報(bào)

ID:144413 發(fā)表于 2016-10-25 19:45 | 顯示全部樓層
有辦法測負(fù)溫度嗎,用4位,第一位控制負(fù)號
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-25 19:58 | 顯示全部樓層
zhkrid 發(fā)表于 2016-10-25 19:45
有辦法測負(fù)溫度嗎,用4位,第一位控制負(fù)號

DS18B20測溫范圍 -55℃~+125℃
溫度的讀取
DS18B20在出廠時(shí)以配置為11位,讀取溫度時(shí)共讀取16位,前5個(gè)位為符號位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。溫度為正時(shí)讀取方法為:將16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制即可。溫度為負(fù)時(shí)讀取方法為:將16進(jìn)制取反后加1,再轉(zhuǎn)換成10進(jìn)制即可。例:0550H = +85 度,F(xiàn)C90H = -55 度。
所以你只需把轉(zhuǎn)化和顯示負(fù)溫度的程序加進(jìn)去就可以了。
回復(fù)

使用道具 舉報(bào)

ID:144413 發(fā)表于 2016-10-25 20:03 | 顯示全部樓層
好的,我去拼湊試試
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-26 12:44 | 顯示全部樓層
zhkrid 發(fā)表于 2016-10-25 19:45
有辦法測負(fù)溫度嗎,用4位,第一位控制負(fù)號

這種要用能測負(fù)溫度的傳感器,配以程序
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-26 12:44 | 顯示全部樓層
zhkrid 發(fā)表于 2016-10-25 19:45
有辦法測負(fù)溫度嗎,用4位,第一位控制負(fù)號

這種要用能測負(fù)溫度的傳感器,配以程序。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-26 14:34 | 顯示全部樓層
越快樂越墮落 發(fā)表于 2016-10-26 12:44
這種要用能測負(fù)溫度的傳感器,配以程序

DS18B20是可以測負(fù)溫度的
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-26 21:35 | 顯示全部樓層
劉海龍 發(fā)表于 2016-10-26 14:34
DS18B20是可以測負(fù)溫度的

我用這貨沒成功過
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-26 22:43 | 顯示全部樓層

你有stc12C2052或者stc12c5A60S2或者stc15系列的單片機(jī)嗎?有的話我可以保證你制作成功
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-27 18:38 | 顯示全部樓層
劉海龍 發(fā)表于 2016-10-26 22:43
你有stc12C2052或者stc12c5A60S2或者stc15系列的單片機(jī)嗎?有的話我可以保證你制作成功

有 但是這貨要求真心高 你保證也只能保證程序和原理圖完全正確 但是在真正制作的時(shí)候因?yàn)樵町悾附硬季等,甚至傳感器的原因都會(huì)導(dǎo)致失敗的
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2016-10-27 20:17 | 顯示全部樓層
越快樂越墮落 發(fā)表于 2016-10-27 18:38
有 但是這貨要求真心高 你保證也只能保證程序和原理圖完全正確 但是在真正制作的時(shí)候因?yàn)樵町悾附?...

興許是你用的 18B20 已經(jīng)損壞了呢?
又或者是套用的程序并不合適你所使用的單片機(jī)型號呢?
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-28 18:19 | 顯示全部樓層
wc86110 發(fā)表于 2016-10-27 20:17
興許是你用的 18B20 已經(jīng)損壞了呢?
又或者是套用的程序并不合適你所使用的單片機(jī)型號呢?

都是全新的。。。沒壞 我測過 程序是配套的
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2016-10-28 19:44 | 顯示全部樓層
越快樂越墮落 發(fā)表于 2016-10-28 18:19
都是全新的。。。沒壞 我測過 程序是配套的

嗯,說明連新手這關(guān)你都還沒闖過,還得有滴拼才行啦
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-10-29 14:10 | 顯示全部樓層
wc86110 發(fā)表于 2016-10-28 19:44
嗯,說明連新手這關(guān)你都還沒闖過,還得有滴拼才行啦

。。。。。。不是吧 其他的都成功 就是這貨
回復(fù)

使用道具 舉報(bào)

ID:101900 發(fā)表于 2016-12-1 17:39 | 顯示全部樓層
簡潔實(shí)用,制作見到。樓主厲害
回復(fù)

使用道具 舉報(bào)

ID:152422 發(fā)表于 2016-12-8 23:37 | 顯示全部樓層
超過100度,怎么辦?
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-12-15 20:06 | 顯示全部樓層
gshuxiao8 發(fā)表于 2016-12-8 23:37
超過100度,怎么辦?

用四位數(shù)碼管同時(shí)改程序
回復(fù)

使用道具 舉報(bào)

ID:137511 發(fā)表于 2017-3-30 18:01 | 顯示全部樓層
謝謝樓主分享~~
回復(fù)

使用道具 舉報(bào)

ID:202093 發(fā)表于 2017-5-18 10:36 | 顯示全部樓層
非常感謝!正需要學(xué)習(xí)中。。
回復(fù)

使用道具 舉報(bào)

ID:204459 發(fā)表于 2017-5-24 20:29 | 顯示全部樓層
看起來簡單,
回復(fù)

使用道具 舉報(bào)

ID:168444 發(fā)表于 2017-6-16 11:05 | 顯示全部樓層
感謝分享@@@@@@@@@@@@@@@@@
回復(fù)

使用道具 舉報(bào)

ID:226801 發(fā)表于 2017-8-11 14:25 | 顯示全部樓層
謝謝樓主分享,正好可以學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:226161 發(fā)表于 2017-9-21 16:56 | 顯示全部樓層
謝謝樓主分享,正好可以學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:231936 發(fā)表于 2017-9-27 23:06 | 顯示全部樓層
謝謝樓主分享,我購STC15W408AS-35I-SOP20購了SOP20轉(zhuǎn)接板,把3位0.56英寸數(shù)碼管 貼上剛合,焊好,刷上程序,接上DS18B20成功顯示溫度,發(fā)現(xiàn)DS18B20偏高1度,在DS18B20程序修改一下,精確度很準(zhǔn)。
回復(fù)

使用道具 舉報(bào)

ID:236466 發(fā)表于 2017-10-18 22:41 | 顯示全部樓層
好東西,學(xué)習(xí)了。。。
回復(fù)

使用道具 舉報(bào)

ID:242753 發(fā)表于 2017-10-25 12:47 | 顯示全部樓層
簡單,直接,不愧是總工程師
回復(fù)

使用道具 舉報(bào)

ID:187926 發(fā)表于 2017-10-26 10:46 | 顯示全部樓層
請問用STC15W408AS  20p的單片機(jī)和DS18B20溫度傳感器 測溫度的代碼怎么寫
回復(fù)

使用道具 舉報(bào)

ID:233182 發(fā)表于 2017-10-26 13:42 | 顯示全部樓層
樓主的原理圖是DX嗎?玩得這么高大上?
回復(fù)

使用道具 舉報(bào)

ID:243091 發(fā)表于 2017-10-27 22:16 | 顯示全部樓層
這個(gè)單片機(jī)能直接驅(qū)動(dòng)數(shù)碼管么? 不用三極管或者驅(qū)動(dòng)芯片么
回復(fù)

使用道具 舉報(bào)

ID:248443 發(fā)表于 2017-11-12 13:33 | 顯示全部樓層
你好    求幫忙  以前使用過DS18B20   但用的是51單片機(jī)    這次換成STC15W408AS   時(shí)序修改了很長時(shí)間也不好使   能否幫我看看我的程序中的時(shí)序
回復(fù)

使用道具 舉報(bào)

ID:263306 發(fā)表于 2017-12-18 19:31 | 顯示全部樓層
學(xué)習(xí)一下,還要黑幣。。。。
回復(fù)

使用道具 舉報(bào)

ID:254251 發(fā)表于 2018-1-4 23:18 | 顯示全部樓層
我喜歡用NTC來做溫度
回復(fù)

使用道具 舉報(bào)

ID:289667 發(fā)表于 2018-3-9 14:44 | 顯示全部樓層
NTC來做溫度計(jì),學(xué)習(xí)學(xué)習(xí),
回復(fù)

使用道具 舉報(bào)

ID:44267 發(fā)表于 2018-3-16 16:41 | 顯示全部樓層

好的,我去拼湊試試
回復(fù)

使用道具 舉報(bào)

ID:103510 發(fā)表于 2018-3-19 07:41 | 顯示全部樓層
謝謝樓主,樓主辛苦了
回復(fù)

使用道具 舉報(bào)

ID:308526 發(fā)表于 2018-4-15 14:56 | 顯示全部樓層
學(xué)習(xí)中,樓主辛苦了
回復(fù)

使用道具 舉報(bào)

ID:311889 發(fā)表于 2018-4-19 18:41 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表