久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6835|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

基于DS18B20溫感和單片機(jī) 實現(xiàn)熱水器功能

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:202986 發(fā)表于 2018-1-31 16:55 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
       這個溫度計使用的單片機(jī)是STC89C2051,測量范圍-55到+125度,顯示精度為0.1度,DS18B20數(shù)據(jù)腳P0.4 ,采用器件默認(rèn)的12位轉(zhuǎn)化,顯示采用4位LED共陽顯示測溫值,P2口為段碼輸入,P0~P3為位選,繼電器接P1.1,蜂鳴器接P1.0,由于時間的關(guān)系,我就沒有接繼電器和蜂鳴器,用兩個LED燈來代替,效果也是一樣的。引腳也可以自己定義,下面是制作好實物圖,由于我用杜邦線沒有焊接,因為這樣還可以玩其他小作品,請見諒,電路原理比較簡單,這里就不給出,百度上一大推。        我程序設(shè)置的是  低于 等于 12° 的時候  繼電器打開  開始加熱功能   高于等于 13° 的時候 關(guān)閉繼電器    蜂鳴器 響起 。      
請看視頻。


制作出來的實物圖:


單片機(jī)源程序如下:
  1. /**************************************************************************************
  2. *                              DS18B20溫度傳感器實驗                                                                                                  *
  3. 實現(xiàn)現(xiàn)象:        具體接線操作請看視頻。
  4.                         下載程序后,在溫度傳感器接口處,按照絲印方向插好溫度傳感器,數(shù)碼管就會顯示
  5.                         檢測的溫度值,
  6. 注意事項:                                                                                                                                                                  
  7. ***************************************************************************************/

  8. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器
  9. #include"temp.h"       

  10. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  11. typedef unsigned char u8;

  12. sbit LSA=P0^0;
  13. sbit LSB=P0^1;
  14. sbit LSC=P0^2;
  15. sbit LSD=P0^3;

  16. sbit led=P1^0;
  17. sbit led1=P1^1;
  18. long zhi=0;
  19. char num=0;
  20. u8 DisplayData[4];
  21. u8 code smgduan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

  22. /*******************************************************************************
  23. * 函 數(shù) 名         : delay
  24. * 函數(shù)功能                   : 延時函數(shù),i=1時,大約延時10us
  25. *******************************************************************************/
  26. void delay(u16 i)
  27. {
  28.         while(i--);       
  29. }


  30. /*******************************************************************************
  31. * 函 數(shù) 名         : datapros()
  32. * 函數(shù)功能                   : 溫度讀取處理轉(zhuǎn)換函數(shù)
  33. * 輸    入         : temp
  34. * 輸    出         : 無
  35. *******************************************************************************/

  36. void datapros(int temp)          
  37. {
  38.            float tp;  
  39.         if(temp< 0)                                //當(dāng)溫度值為負(fù)數(shù)
  40.           {
  41.                 DisplayData[0] = 0xBF;           //   -
  42.                 //因為讀取的溫度是實際溫度的補(bǔ)碼,所以減1,再取反求出原碼
  43.                 temp=temp-1;
  44.                 temp=~temp;
  45.                 tp=temp;
  46.                 temp=tp*0.0625*100+0.5;       
  47.                 //留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉(zhuǎn)換為整型的時候把小數(shù)點
  48.                 //后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就
  49.                 //算加上0.5,還是在小數(shù)點后面。
  50.     zhi=temp;
  51.           }
  52.         else
  53.           {                       
  54.                 DisplayData[0] = 0xff;
  55.                 tp=temp;//因為數(shù)據(jù)處理有小數(shù)點所以將溫度賦給一個浮點型變量
  56.                 //如果溫度是正的那么,那么正數(shù)的原碼就是補(bǔ)碼它本身
  57.                 temp=tp*0.0625*100+0.5;       
  58.                 //留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉(zhuǎn)換為整型的時候把小數(shù)點
  59.                 //后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就
  60.                 //算加上0.5,還是在小數(shù)點后面。
  61.           zhi=temp;
  62.                 }

  63.         DisplayData[1] = smgduan[temp % 10000 / 1000];
  64.         DisplayData[2] = smgduan[temp % 1000 / 100] & 0x7F;
  65.         DisplayData[3] = smgduan[temp % 100 / 10];

  66. }


  67. /*******************************************************************************
  68. * 函數(shù)名         :DigDisplay()
  69. * 函數(shù)功能                 :數(shù)碼管顯示函數(shù)
  70. * 輸入           : 無
  71. * 輸出                  : 無
  72. *******************************************************************************/
  73. void DigDisplay()
  74. {
  75.         u8 i=0;
  76.         for(i=0;i<4;i++)
  77.         {
  78.         switch(i)         //位選,選擇點亮的數(shù)碼管,
  79.                 {
  80.                         case(0):
  81.                                 LSA=0;LSD=1;P2=DisplayData[i];delay(100); break;//顯示第0位
  82.                         case(1):
  83.                                 LSA=1;LSB=0;P2=DisplayData[i];delay(100); break;//顯示第1位
  84.                         case(2):
  85.                                 LSB=1;LSC=0;P2=DisplayData[i];delay(100); break;//顯示第2位
  86.                         case(3):
  87.                                 LSC=1;LSD=0;P2=DisplayData[i];delay(100);break;//顯示第3位
  88.                          }
  89.                 P2=0xff;
  90.                  }
  91.                 }               
  92. /*******************************************************************************
  93. * 函 數(shù) 名       : main
  94. * 函數(shù)功能                 : 主函數(shù)
  95. * 輸    入       : 無
  96. * 輸    出             : 無
  97. *******************************************************************************/
  98. void main()
  99. {       
  100.         led=1;
  101.         led1=1;
  102.         LSA=1;
  103.         LSB=1;
  104.         LSD=1;
  105.         LSC=1;
  106.         while(1)
  107.         {
  108.                 datapros(Ds18b20ReadTemp());         //數(shù)據(jù)處理函數(shù)
  109. ……………………

  110. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
手冊及課件.rar (1.21 MB, 下載次數(shù): 72)
溫度 -.rar (49.77 KB, 下載次數(shù): 92)






評分

參與人數(shù) 2黑幣 +108 收起 理由
深藍(lán)遠(yuǎn)景 + 8 共享資料的黑幣獎勵!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏13 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:294530 發(fā)表于 2018-4-10 15:07 | 只看該作者
小白黑幣不夠,樓主可以給我發(fā)郵件嗎嗎?994121863@qq.com
謝謝了
回復(fù)

使用道具 舉報

板凳
ID:314339 發(fā)表于 2018-4-24 08:58 來自手機(jī) | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

地板
ID:229821 發(fā)表于 2019-3-26 21:08 | 只看該作者
謝謝樓主的分享。剛好這幾天在研究這個。弄了幾天都沒有弄出來。。。。
回復(fù)

使用道具 舉報

5#
ID:428407 發(fā)表于 2019-3-27 19:30 | 只看該作者
感謝樓主分享,真的不錯
回復(fù)

使用道具 舉報

6#
ID:848824 發(fā)表于 2021-1-11 23:17 | 只看該作者
顯示屏怎么連接啊,沒圖啊。
回復(fù)

使用道具 舉報

7#
ID:336670 發(fā)表于 2022-2-13 20:48 | 只看該作者
樓主,看你實物連接沒用138譯碼器,但是你程序上感覺有用到呢
回復(fù)

使用道具 舉報

8#
ID:81441 發(fā)表于 2023-4-5 08:26 | 只看該作者
請問單片機(jī)STC89C2051是型號嗎?還是STC89C52?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本精品久久 | 日韩欧美一级 | 亚洲精品免费视频 | 日韩精品在线观看视频 | 国产精品1区 | 色欧美片视频在线观看 | 久久机热| 久久国产精品一区二区三区 | 91毛片在线看 | 国产99久久| 成人精品区| 国产一区亚洲二区三区 | 精品一区二区久久 | 亚洲精品久久久久久一区二区 | 精品国产91久久久久久 | 99福利| 中文字幕在线视频免费视频 | 成人福利网站 | 亚州av | 黄色网址在线免费播放 | 天天射天天操天天干 | 亚洲经典一区 | 日韩成人影院在线观看 | 一区二区三区在线观看视频 | 成人免费看片又大又黄 | 成人福利网站 | 久久久久久久久久久久久久久久久久久久 | 亚洲精品乱码久久久久久按摩观 | 日日网| 成人3d动漫一区二区三区91 | 久久精品国产v日韩v亚洲 | 欧美一区二区三区免费电影 | 久久国产区 | jizz在线免费观看 | 99久久精品国产一区二区三区 | 中文精品视频 | 亚洲不卡在线视频 | 久久久网 | 国产在线观看免费 | 99视频在线免费观看 | 国产一区欧美 |