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

標(biāo)題: 一個(gè)STM32的DS18B20驅(qū)動(dòng)程序分享 [打印本頁]

作者: 123920    時(shí)間: 2018-2-8 16:39
標(biāo)題: 一個(gè)STM32的DS18B20驅(qū)動(dòng)程序分享
DS18B20測(cè)溫程序

stm32單片機(jī)源程序如下:
  1. #include<stm32f10x.h>
  2. #include<Ds18b20.h>
  3. #include<Gpio.h>
  4. #include<SysTick.h>
  5. /*Ds18b20復(fù)位*/
  6. void Init_Ds18b20()
  7. {         
  8.       u8 i=0;
  9.          /*設(shè)置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.          /*設(shè)置IO口為輸入模式*/
  18.          Gpio_Config_FLOATING_In();

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

  23. /*寫一個(gè)字節(jié)*/
  24. void Write_one_byte(u8 a)
  25. {
  26.      u8 i=0;
  27.          u8 b=0x01;
  28.          u8 c=0;
  29.         /*設(shè)置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產(chǎn)生寫時(shí)隙*/
  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. /*讀一個(gè)字節(jié)*/
  61. u8 Read_one_byte()
  62. {
  63.         u8 a=0;
  64.           u8 i=0;      
  65.         for(i=0;i<8;i++)
  66.         {
  67.             /*設(shè)置IO口為輸出模式*/
  68.             Gpio_Config_Mode_Out();
  69.             /*拉低總線*/
  70.             DS18B20_DQ_OUT_Low;
  71.             /*延遲1us產(chǎn)生讀時(shí)隙*/
  72.             Delay_us(1);
  73.             /*釋放總線*/
  74.             DS18B20_DQ_OUT_High;
  75.             /*設(shè)置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保證時(shí)間要求*/
  87.                 Delay_us(50);
  88.                 /*設(shè)置IO口為輸出模式*/
  89.             Gpio_Config_Mode_Out();
  90.                 /*釋放總線*/
  91.             DS18B20_DQ_OUT_High;
  92.     }
  93.         return(a);
  94. }

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

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

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

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



作者: luoteyy1996    時(shí)間: 2018-7-8 16:18
想問一下最后的返回值為10進(jìn)制還是16進(jìn)制啊
作者: qwqwqw222    時(shí)間: 2018-7-14 10:51
謝謝,剛好需要參考一下
作者: 靜靜聽水聲    時(shí)間: 2018-7-15 08:59
        贊一個(gè)!
作者: gogogogo    時(shí)間: 2018-9-6 17:31
我想下載沒有黑幣怎么辦
作者: xiaozhouzhou    時(shí)間: 2018-11-9 22:58
求下載
作者: 愛生活!    時(shí)間: 2018-11-10 12:27
謝謝樓主分享 剛好需要
作者: zhc_y2000    時(shí)間: 2018-11-19 18:53

謝謝樓主分享 剛好需要
作者: moshaoxi168    時(shí)間: 2018-12-4 21:54
謝謝樓主
作者: sbit=TT    時(shí)間: 2019-1-6 15:01
感謝樓主~~~~~~~~
作者: 704470054    時(shí)間: 2019-3-9 17:29
感謝樓主
作者: michaelgo    時(shí)間: 2019-5-9 20:01
感謝樓主
作者: colinh    時(shí)間: 2019-5-10 14:47
幫頂下,謝謝分享
作者: hbthgsli    時(shí)間: 2019-5-11 20:13
贊一個(gè)!
作者: hwb_51hei    時(shí)間: 2019-6-19 10:16
謝謝樓主分享,試試能使用么
作者: zyb329321151    時(shí)間: 2019-7-4 15:19
下載看看,看能否使用。
作者: wcm136    時(shí)間: 2019-7-11 10:05
下載下來參考一下
作者: xswyzao    時(shí)間: 2019-7-17 16:40
多謝樓主分享,正好要用
作者: xiaogua    時(shí)間: 2019-7-18 13:38
18B20,好多年前接觸的東西啊.
作者: zhaomingli    時(shí)間: 2019-10-16 08:46
DS18B20 編程還是比較 麻煩的,延時(shí)函數(shù)  調(diào)用 太多,影響主程序的運(yùn)行
得用定時(shí)器 來調(diào)度 程序來實(shí)現(xiàn)延時(shí),詳細(xì)見 見附件
21STM32F10x_DS18BD20源程序說明.zip (97.94 KB, 下載次數(shù): 25)
作者: wxh126    時(shí)間: 2019-12-16 09:11

18B20,好多年前接觸的東西啊.
作者: HWL0541    時(shí)間: 2020-2-25 18:59
正在做stm32 的 ds18b20
作者: Z69644084    時(shí)間: 2020-3-12 17:42
這個(gè)是stm32的都能用嗎

作者: 閑云孤鶴    時(shí)間: 2021-4-3 09:23
想看看用定時(shí)器怎么讀溫度




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品国产视频 | 久久精品国产精品 | 精品在线一区二区 | av影院在线 | 国产日韩在线播放 | 午夜精品视频在线 | 亚洲自拍偷拍一区 | av网站导航| 中文字幕在线视频播放 | 伊人黄色 | 亚洲成人a v | 日韩一区二区三区视频 | 成年免费视频黄网站在线观看 | 国产伦理一区二区 | 亚洲在线视频观看 | 激情五月婷婷丁香 | 国产精品久久久久久久久久久久午夜片 | 亚色在线| 成人国产精品久久久网站 | 国产精品一品二品 | 亚洲第一视频网站 | 欧美成人三级在线观看 | www.久久精品 | 福利网址 | 欧美成人精品 | 毛片久久久| 国产精品一区二区三区免费 | 日韩欧美在线播放 | 国产伦精品一区二区三区视频黑人 | 成人在线小视频 | 成人在线免费观看视频 | 欧美不卡一区 | av一区二区在线观看 | 性欧美69| 国产欧美一区二区精品性色超碰 | 欧美三级又粗又硬 | 久久机热这里只有精品 | 美女黄色大片 | 国产三级午夜理伦三级 | www.成人| 亚洲性av|