欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

基于51單片機的溫度報警系統設計

查看數: 4310 | 評論數: 11 | 收藏 10
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-3-18 10:19

正文摘要:

  設計中有很多不完善的地方,歡迎各位大佬指正。      演示視頻:https://www.bilibili.com/video/BV1CS4y1u7s6?share_source=copy_web 利用單片機、DS18B20溫度傳感器、數碼管、按 ...

回復

無效樓層,該帖已經被刪除
ID:992677 發表于 2022-12-9 17:07
大佬,delay的代碼沒有啊
無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
ID:941265 發表于 2022-3-21 19:11
好資料,51黑有你更精彩!!!
無效樓層,該帖已經被刪除
ID:161164 發表于 2022-3-19 15:17
Lxy18 發表于 2022-3-19 14:59
十幾個ms,不影響數碼管顯示,目前沒有其他好方法,放在主函數中一直刷會被定時器打斷,測溫讀數亂碼。

DS18B20的初始化和讀寫可以分9步來完成
每步只耗600~700us
步與步之間可以干其它事情


  1. typedef         unsigned char        u8;  //0 to 255
  2. typedef         unsigned int        u16;  //0 to 65535

  3. u16 Ds18b20ReadTemp()//放在while(1)中呼叫
  4. {
  5.     static u8 step = 0, tml = 0, tmh = 0;
  6.     u16 temp = 0;
  7.     if(!Delayms_Ds18b20)
  8.     {
  9.         TMR_x10 = 1;//Delayms_Ds18b20每1ms減1
  10.         Delayms_Ds18b20 = 2;//if(Delayms_Ds18b20)Delayms_Ds18b20--;<<放到1ms中斷中
  11.         switch(step)
  12.         {
  13.                                         case 0:Ds18b20Init();break;
  14.                                         case 1:Ds18b20WriteByte(0xcc);break;
  15.                                         case 2:Ds18b20WriteByte(0x44);break;
  16.                                         case 3:Ds18b20Init();break;
  17.                                         case 4:Ds18b20WriteByte(0xcc);break;
  18.                                         case 5:Ds18b20WriteByte(0xbe);break;
  19.                                         case 6:tml = Ds18b20ReadByte();break;
  20.                                         case 7:tmh = Ds18b20ReadByte();break;
  21.                                         case 8:
  22.                                                         temp = tmh;
  23.                                                         temp <<= 8;
  24.                                                         temp |= tml;
  25.                                                         tml = 0;
  26.                                                         tmh = 0;
  27.                                                         break;
  28.                                         default:
  29.                                                         Delayms_Ds18b20 = 25;
  30.                                                         TMR_x10 = 0;//Delayms_Ds18b20每10ms減1
  31.                                                         break;
  32.         }
  33.         step = ++step % 10;
  34.     }
  35.     return temp;
  36. }
復制代碼
ID:856329 發表于 2022-3-19 14:59
lkc8210 發表于 2022-3-19 14:31
在定時中斷中讀溫度不太好吧?
這里起碼耗掉幾個ms吧?

十幾個ms,不影響數碼管顯示,目前沒有其他好方法,放在主函數中一直刷會被定時器打斷,測溫讀數亂碼。
ID:161164 發表于 2022-3-19 14:31
在定時中斷中讀溫度不太好吧?
這里起碼耗掉幾個ms吧?
ID:1002955 發表于 2022-3-19 07:43
為啥我的只能用揚聲器發聲http://www.raoushi.com/bbs/dpj-218190-1.html
ID:262 發表于 2022-3-19 04:16
好資料,51黑有你更精彩!!!

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表