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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2857|回復: 0
收起左側

STM32單片機DS18B20測溫數碼管顯示程序(不帶CRC、不帶零度以下溫度)有注釋

[復制鏈接]
ID:814785 發表于 2020-11-24 11:20 | 顯示全部樓層 |閱讀模式
1.jpg
DS1302驅動和數碼管驅動程序如附件!
單片機源程序如下:
  1. #include "ds18b20.h"
  2. #include "display.h"
  3. #include "delay.h"
  4. void Ds18B20_Output()
  5. {
  6.         GPIO_InitTypeDef GPIO_InitStructure;
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);                //使能PG時鐘
  8.         
  9.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;                                        //PG11口
  10.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                                //設定I/O口推挽輸出
  11.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  12.         GPIO_Init(GPIOG,&GPIO_InitStructure);
  13. }
  14. void Ds18B20_Input()
  15. {
  16.         GPIO_InitTypeDef GPIO_InitStructure;
  17.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);                //使能PG時鐘
  18.         
  19.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;                                        //PG11口
  20.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;                        //浮空輸入
  21.         GPIO_Init(GPIOG,&GPIO_InitStructure);        
  22. }

  23. void Ds18b20_Reset(void)
  24. {
  25.         Ds18B20_Output();                //將PG11配置為推挽輸出
  26.         DQ_Write_1;                                //拉高總線
  27.         delayus(1);
  28.         DQ_Write_0;                                //拉低總線
  29.         delayus(480);                        //延時,拉低總線480~960us
  30.         DQ_Write_1;                                //釋放總線
  31.         Ds18B20_Input();                //DQ改為輸入模式
  32.         delayus(40);                        //延時約60us
  33.         while((DQ_ReadBit));        //等待從機DS18B20應答
  34.         while(!(DQ_ReadBit));        //等待應答信號結束,釋放總線        
  35. }
  36. void Ds18b20_Write(u8 dat)
  37. {
  38.         u8 m0;
  39.         Ds18B20_Output();                //將PG11配置為推挽輸出
  40.         for(m0=0;m0<8;m0++)
  41.         {
  42.                 DQ_Write_0;                                //拉低總線
  43.                 delayus(10);                        //延時10us,最大不超過15us
  44.                 if(dat&0x01)
  45.                         DQ_Write_1;
  46.                 else
  47.                         DQ_Write_0;
  48.                 delayus(30);                        //延時40us
  49.                 DQ_Write_1;                                //釋放總線
  50.                 delayus(1);                                //兩個寫之間,間隔至少1us
  51.                 dat>>=1;                                //右移1位,
  52.         }
  53. }
  54. u8 Ds18b20_Read(void)
  55. {
  56.         u8 m0,temp0;
  57.         for(m0=0;m0<8;m0++)
  58.         {
  59.                 temp0>>=1;                //數據右移一位
  60.                 Ds18B20_Output();                //將PG11配置為推挽輸出
  61.                 DQ_Write_0;                                //拉低總線,啟動
  62.                 DQ_Write_1;                                //釋放總線
  63.                 if(DQ_ReadBit==1)
  64.                         temp0|=0x80;
  65.                 delayus(40);
  66.         }
  67.         return temp0;
  68. }
  69. void temperature(void)
  70. {
  71.         u16 temp1,temp2;
  72.         Ds18b20_Reset();
  73.         Ds18b20_Write(0xcc);                //跳過ROM
  74.         Ds18b20_Write(0x44);                //溫度轉換

  75.         Ds18b20_Reset();
  76.         Ds18b20_Write(0xcc);                //跳過ROM
  77.         Ds18b20_Write(0xbe);                //讀取RAM
  78.         
  79.         temp1=Ds18b20_Read();                //讀取低8位
  80.         temp2=Ds18b20_Read();                //讀取高8位
  81.         Ds18b20_Reset();                        //復位,表示讀取結束
  82.         display(((temp2<<8)|temp1)*0.0625);
  83. }
復制代碼

51hei.png

注意缺少main函數等,介意的就不要下載了: HARDWARE.rar (2.22 KB, 下載次數: 30)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕国产在线 | 欧美一区二区三区视频 | 成人精品国产一区二区4080 | 欧美日韩综合一区 | 欧美 中文字幕 | 国产在线观看一区二区三区 | 日韩av一区二区在线观看 | 日韩在线小视频 | 精品国产一区二区三区久久久蜜月 | 国产精品一级 | 特黄小视频 | 九九综合 | 欧美一区视频在线 | 国产精品久久久久久久久久久久久 | 男人亚洲天堂 | 国产精品毛片一区二区三区 | 久久久久久久久久久久亚洲 | 国产精品视频免费观看 | 中文字幕一区二区三区四区 | 99国产精品久久久久 | 午夜免费视频 | 一本综合久久 | 亚洲精品1区 | 天天操网 | 黑人性hd| 美女黄网站 | 一区二区三区免费 | 免费视频一区二区三区在线观看 | 成人黄色电影在线播放 | 免费特黄视频 | 999久久久| 狠狠躁18三区二区一区 | 亚洲欧美在线观看视频 | 国产精品一区一区 | 国产乱码精品一区二区三区中文 | 欧美久久影院 | 国产亚洲精品精品国产亚洲综合 | 亚洲欧美久久 | 国产欧美日韩一区二区三区在线观看 | 精品欧美 | www.国产精|