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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13859|回復: 23
打印 上一主題 下一主題
收起左側

一個STM32的DS18B20驅動程序分享

  [復制鏈接]
跳轉到指定樓層
樓主
ID:283092 發表于 2018-2-8 16:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DS18B20測溫程序

stm32單片機源程序如下:
  1. #include<stm32f10x.h>
  2. #include<Ds18b20.h>
  3. #include<Gpio.h>
  4. #include<SysTick.h>
  5. /*Ds18b20復位*/
  6. void Init_Ds18b20()
  7. {         
  8.       u8 i=0;
  9.          /*設置IO口為輸出模式*/
  10.      Gpio_Config_Mode_Out();

  11.          /*拉低總線*/
  12.      DS18B20_DQ_OUT_Low;

  13.          /*延遲480us*/
  14.          Delay_us(480);
  15.          /*釋放總線*/
  16.          DS18B20_DQ_OUT_High;

  17.          /*設置IO口為輸入模式*/
  18.          Gpio_Config_FLOATING_In();

  19.          /*等待復位信號 注意不能無限等待*/
  20.          while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)&&(i<200))
  21.          i++;
  22. }

  23. /*寫一個字節*/
  24. void Write_one_byte(u8 a)
  25. {
  26.      u8 i=0;
  27.          u8 b=0x01;
  28.          u8 c=0;
  29.         /*設置IO口為輸出模式*/
  30.     Gpio_Config_Mode_Out();
  31.        
  32.         for(i=0;i<8;i++)
  33.         {
  34.              c=b&a;
  35.                  if(c)
  36.                  {
  37.                        /*拉低總線*/
  38.                      DS18B20_DQ_OUT_Low;
  39.                          /*延遲15us產生寫時隙*/
  40.                          Delay_us(15);
  41.                          /*釋放總線*/
  42.                          DS18B20_DQ_OUT_High;
  43.                          /*保持40us*/
  44.                          Delay_us(40);
  45.                  }   
  46.                  else
  47.                  {
  48.                          /*拉低總線*/
  49.                      DS18B20_DQ_OUT_Low;
  50.                          /*至少保持60us低電平*/       
  51.                          Delay_us(60);
  52.                          /*釋放總線*/
  53.                          DS18B20_DQ_OUT_High;

  54.                  }
  55.                  b=b<<1;  
  56.         }
  57.              /*釋放總線*/
  58.         DS18B20_DQ_OUT_High;
  59. }

  60. /*讀一個字節*/
  61. u8 Read_one_byte()
  62. {
  63.         u8 a=0;
  64.           u8 i=0;      
  65.         for(i=0;i<8;i++)
  66.         {
  67.             /*設置IO口為輸出模式*/
  68.             Gpio_Config_Mode_Out();
  69.             /*拉低總線*/
  70.             DS18B20_DQ_OUT_Low;
  71.             /*延遲1us產生讀時隙*/
  72.             Delay_us(1);
  73.             /*釋放總線*/
  74.             DS18B20_DQ_OUT_High;
  75.             /*設置IO口為浮空輸入模式*/
  76.             Gpio_Config_FLOATING_In();

  77.             if(DS18B20_DQ_IN)
  78.             {
  79.               a=a>>1;
  80.                   a=a|0x80;
  81.             }
  82.             else
  83.             {
  84.                      a=a>>1;
  85.             }
  86.                 /*延遲50us保證時間要求*/
  87.                 Delay_us(50);
  88.                 /*設置IO口為輸出模式*/
  89.             Gpio_Config_Mode_Out();
  90.                 /*釋放總線*/
  91.             DS18B20_DQ_OUT_High;
  92.     }
  93.         return(a);
  94. }

  95. /***************
  96.   溫度獲取子函數
  97.   入口參數: 無
  98.   出口參數: 溫度
  99. ****************/
  100. u8 wen_du_huo_qu()
  101. {
  102.      u16 a=0;
  103.          u8 b=0;

  104.          /*復位DS18B20*/
  105.          Init_Ds18b20();
  106.          /*寫跳過ROM指令*/
  107.          Write_one_byte(0xCC);
  108.          /*寫溫度轉換指令*/
  109.          Write_one_byte(0x44);
  110.          /*延遲等待轉換完成*/
  111.          Delay_us(20);
  112.          /*寫讀暫存器指令*/
  113. ……………………

  114. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
DS18B20程序.rar (1.66 MB, 下載次數: 553)


評分

參與人數 1黑幣 +6 收起 理由
wfliu + 6 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:367374 發表于 2018-7-8 16:18 | 只看該作者
想問一下最后的返回值為10進制還是16進制啊
回復

使用道具 舉報

板凳
ID:9836 發表于 2018-7-14 10:51 | 只看該作者
謝謝,剛好需要參考一下
回復

使用道具 舉報

地板
ID:247070 發表于 2018-7-15 08:59 | 只看該作者
        贊一個!
回復

使用道具 舉報

5#
ID:394660 發表于 2018-9-6 17:31 | 只看該作者
我想下載沒有黑幣怎么辦
回復

使用道具 舉報

6#
ID:94464 發表于 2018-11-9 22:58 | 只看該作者
求下載
回復

使用道具 舉報

7#
ID:332484 發表于 2018-11-10 12:27 | 只看該作者
謝謝樓主分享 剛好需要
回復

使用道具 舉報

8#
ID:362180 發表于 2018-11-19 18:53 | 只看該作者

謝謝樓主分享 剛好需要
回復

使用道具 舉報

9#
ID:423190 發表于 2018-12-4 21:54 | 只看該作者
謝謝樓主
回復

使用道具 舉報

10#
ID:187640 發表于 2019-1-6 15:01 | 只看該作者
感謝樓主~~~~~~~~
回復

使用道具 舉報

11#
ID:143443 發表于 2019-3-9 17:29 | 只看該作者
感謝樓主
回復

使用道具 舉報

12#
ID:268143 發表于 2019-5-9 20:01 | 只看該作者
感謝樓主
回復

使用道具 舉報

13#
ID:532502 發表于 2019-5-10 14:47 | 只看該作者
幫頂下,謝謝分享
回復

使用道具 舉報

14#
ID:323453 發表于 2019-5-11 20:13 | 只看該作者
贊一個!
回復

使用道具 舉報

15#
ID:546325 發表于 2019-6-19 10:16 | 只看該作者
謝謝樓主分享,試試能使用么
回復

使用道具 舉報

16#
ID:465802 發表于 2019-7-4 15:19 | 只看該作者
下載看看,看能否使用。
回復

使用道具 舉報

17#
ID:165762 發表于 2019-7-11 10:05 | 只看該作者
下載下來參考一下
回復

使用道具 舉報

18#
ID:585883 發表于 2019-7-17 16:40 | 只看該作者
多謝樓主分享,正好要用
回復

使用道具 舉報

19#
ID:391540 發表于 2019-7-18 13:38 | 只看該作者
18B20,好多年前接觸的東西啊.
回復

使用道具 舉報

20#
ID:145349 發表于 2019-10-16 08:46 | 只看該作者
DS18B20 編程還是比較 麻煩的,延時函數  調用 太多,影響主程序的運行
得用定時器 來調度 程序來實現延時,詳細見 見附件
21STM32F10x_DS18BD20源程序說明.zip (97.94 KB, 下載次數: 25)
回復

使用道具 舉報

21#
ID:250090 發表于 2019-12-16 09:11 | 只看該作者

18B20,好多年前接觸的東西啊.
回復

使用道具 舉報

22#
ID:91165 發表于 2020-2-25 18:59 | 只看該作者
正在做stm32 的 ds18b20
回復

使用道具 舉報

23#
ID:707198 發表于 2020-3-12 17:42 | 只看該作者
這個是stm32的都能用嗎
回復

使用道具 舉報

24#
ID:340312 發表于 2021-4-3 09:23 | 只看該作者
想看看用定時器怎么讀溫度
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区在线播放 | 日本精品视频 | 在线看av网址 | 午夜视频在线免费观看 | 国产综合网站 | 一区二区三区免费 | 国产在线中文字幕 | 精品国产欧美一区二区三区成人 | 久久久天天 | 性欧美精品一区二区三区在线播放 | 国产精品免费在线 | 日韩成人免费视频 | 精品欧美一区二区精品久久 | 亚洲国产高清高潮精品美女 | 久久综合av | 日本a在线| 精品欧美色视频网站在线观看 | 国产精品久久久久久久久久 | 久久99精品久久久久久国产越南 | 一区二区在线看 | 久久香蕉精品视频 | 中文字幕精品一区 | 国产精品一区一区 | 国产精品毛片无码 | 欧美一区二区在线看 | 亚洲入口 | 狠狠色狠狠色综合日日92 | jvid精品资源在线观看 | 日韩精品色网 | 国产精品一区二区电影 | 日韩在线视频网址 | 精品国产一区二区三区久久久蜜月 | 久久亚洲一区 | 国产欧美精品一区二区三区 | 日韩免费看视频 | h视频免费在线观看 | 久久一起草 | 精品国产一区二区在线 | 国产精品欧美一区二区三区不卡 | 羞羞的视频免费在线观看 | 中文字幕高清视频 |