学习内容

  1. 能够独立写驱动代码。
  2. 获取温度整。

一、底层函数驱动


1、DS18B20基本应用

(1)ds18b20芯片手册

由芯片手册Figure2.中看出

先读出高(MS BYTE) 8位、低(LS BYTE)8位,再从Table1中,发现+125中对应是 0000 0111 1101 0000 (十进制2000)

整数部分的数据都是后四位为零,故如果我们需要整理整数温度

方法举例(+125°):
(1)只需要将 0000 0111 1101 0000右移4位 得出 0000 0111 1101(刚好是十进制125)
(2) 或者直接将16位的数0000 0111 1101 0000(DIGITAL OUTPUT) 乘以0.0625也可处理成整数;
如果是需要读出一位小数,那么需要将16位的数乘以0.625(放大10倍处理)
如果是需要读出二位小数,那么需要将16位的数乘以.6.25(放大100倍处理)
注意 上面的处理方法是,需要谨慎,乘以一个数后不能溢出

(2)onewire.c

// 需要在onewire.c里面写的

// onewire.c
//DS18B20温度采集程序:整数
unsigned int read_wendu()//int 型
{unsigned char low,high;//char 型unsigned int temp;//int 型init_ds18b20();//DS18B20初始化Write_DS18B20(0xcc);//跳过row字节Write_DS18B20(0x44);//装换温度Delay_OneWire(80);//延时init_ds18b20();//DS18B20初始化Write_DS18B20(0xcc);//跳过row字节Write_DS18B20(0xbe);//存储温度low=Read_DS18B20();//读取低8位high=Read_DS18B20();//读取高8位temp=high&0x0f;//参考DS18B20手册  去掉MS BYTE前的SSSStemp=temp<<8|low;//根据DS18B20手册 高低八位整合成十六位 DIGITAL OUTPUTreturn (temp);//返回
}

温度底层记忆方法:(转换温度、读取温度、整理温度数据)
(1)定义char型用于将读出数据分别放入高低,int型用于整合16位数的温度
(2)进行温度转换,先初始化,在跳过内存字节,直接转化温度,后面加一定延时以便温度转化完成
(3)进行温度读取,再初始化,同理跳过内存字节,找到存储温度地址,直接读出温度底高8位
(4)整理温度数据,返回16位数据。

在main函数使用,别忘记将函数unsigned int read_wendu()添加到onewire.h

// 需要在onewire.h里面写的

// onewire.h
#ifndef _ONEWIRE_H
#define _ONEWIRE_H
//函数声明
unsigned char Read_DS18B20(void);
unsigned int read_wendu();
#endif

(3)主函数使用main.c

  读取原数据:wendu=read_wendu();//取原16位值(DIGITAL OUTPUT)   处理成整数:方法1: wen1=wendu>>4&0x007f;方法2: wen1=wendu*0.0625;处理成保留一位小数:wen1=wendu*0.625;处理成保留二位小数:wen2=wendu*6.25;

// 需要在main调用里面写的

void WenduSMG(){wendu=read_wendu();//读取16位原数据wen1=wendu*0.0625;//整数处理//wen2=wendu*6.25;//-----------------数码管显示-------------lnti_SMG(6,Tab[wen1/10%10]);Delay1ms();lnti_SMG(7,Tab[wen1%10]);Delay1ms();}

【蓝桥杯】DS18B20基本应用相关推荐

  1. 蓝桥杯单片机DS18B20代码注释及部分时序图

    蓝桥杯单片机蓝桥杯单片机DS18B20代码注释及部分时序图 #include<STC15F2K60S2.H> #include<intrins.h>#define uchar ...

  2. 【蓝桥杯单片机11】单总线温度传感器DS18B20的基本操作

    [蓝桥杯单片机11]单总线温度传感器DS18B20的基本操作 广东职业技术学院 欧浩源 单总线数字温度传感器DS18B20几乎成了各类单片机甚至ARM实验板的标配模块来,在蓝桥杯的往届省赛和国赛中,这 ...

  3. 蓝桥杯单片机(九)DS18B20温度测量(四位小数和负数显示)

    上一次讲了DS18B20的整数温度显示 蓝桥杯单片机(八)DS18B20温度测量(整数显示) 但近几年有出题小数部分的温度显示,首先打开DS18B20的数据手册,如图 通过这张表,我就知道读取数据时, ...

  4. 【小蜜蜂蓝桥杯笔记】DS18B20温度传感器的使用

    DS18B20 更新(需要注意的部分) 进行带小数点的高精度转换时,需要750ms的延时,建议将开始转换和读取数据的函数分开写,利用定时器保证750ms之后再去读取,不然会出现很奇怪的数字 数据处理的 ...

  5. 蓝桥杯各模块使用总结 时钟DS1302 ,ADC DAC PCF8591 ,温度传感器DS18B20 存储AT24C02

    2021/4/14 周三 下午 距蓝桥杯仅四天 为复习各模块的使用,防止在比赛时脑子抽住 首先是资源数据包里的底层代码驱动 驱动代码说明 1-本文件夹中提供的驱动代码供参赛选手完成程序设计参考之用. ...

  6. 【蓝桥杯】——DS18B20模块

    目录 一.DS18B20基本概念 (一).DS18B20的基本概念 (二).DS18B20的基本信息 二.DS18B20介绍 (一)DS18B20内部存储结构 (二)DS18B20系统配置寄存器数据格 ...

  7. 蓝桥杯单片机之DS18B20温度传感器

    蓝桥杯单片机之DS18B20温度传感器 简述: 根据提供的芯片数据手册可以获取的信息: ROM操作命令: 存储器操作命令 温度转换及温度获取 温度寄存器格式: 获取温度的具体操作 温度数据处理与数码管 ...

  8. 蓝桥杯单片机DS18b20单总线测温模块常见问题解决

    蓝桥杯单片机DS18b20单总线测温模块常见问题解决 有道是:"溪水声声留我住,梅花朵朵唤人回" DS18b20测温模块作为一个比较简单.稳定的蓝桥杯单片机外设模块, 使用时却经常 ...

  9. 蓝桥杯省赛考点_【蓝桥杯单片机01】从历年决赛真题中寻找单片机常见的考点...

    [蓝桥杯单片机01]从历年决赛真题中寻找单片机常见的考点 广东职业技术学院  欧浩源 [第三届:门禁系统] 1.功能简述 "门禁系统"主要有两种工作模式: 模式1:7:00-22: ...

  10. 蓝桥杯单片机第七届省赛-模拟风扇控制系统

    九层妖塔 起于垒土 ● 改编自国信长天蓝桥杯官方蓝皮书例程,按照自己的习惯进行了补充和修改 蓝桥杯单片机第七届省赛-模拟风扇控制系统 Notes1:按键按下后在某些情况下给一定的缓冲时间 Notes2 ...

最新文章

  1. byte转文件流 下载到本地
  2. Cesium中级教程9 - Advanced Particle System Effects 高级粒子系统效应
  3. SQL Server-游标使用
  4. windows 10配置VS+MPI编程环境
  5. 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
  6. XML中需要转义的字符
  7. vb.net 判断是否为ip 正则_PHP实现IP白名单
  8. 怎样使用C# 获取WIFI的连接状态?
  9. 理解UIApplication
  10. yum list 报错linux,centos7下运行yum list 出现如下报错 求教!
  11. 概率图模型和马尔可夫模型
  12. 金山打字测试一分钟软件,金山打字2006——一款打字练习及测试软件.doc
  13. Gensim的维基百科语料库中文词向量训练错误整理
  14. 64位处理器_计算机微处理器介绍
  15. Git 推送命令报错
  16. 汉字对应的unicode编码
  17. 寒江独钓:Windows内核安全编程(china-pub到货首发)
  18. redis切换db方法
  19. 工信部数字电视标准符合性检测中心发布的
  20. Don't Call Yourself A Programmer, And Other Career

热门文章

  1. leetcode-855. 考场就座
  2. 智哪儿观察:2021光亚展什么智能值得看?
  3. 微信公众号开发-Java版学习笔记
  4. qq分享提示设备未授权_无论大池小池,认真做过滤的就是好池!(华侨城鱼池过滤案例分享)...
  5. 吉林大学计算机学院王健,吉林大学计算机科学与技术学院研究生导师简介-王 健...
  6. webSocket实现点对点、群发消息通知
  7. js登录特效+ajax提交表单+异步刷新验证
  8. 如何成为一名合格的工业机器人应用工程师
  9. OMAP5 uEVM SDK安装介绍
  10. 学生学籍信息管理系统