蓝桥杯-DS18B20温度传感器

一.管脚&芯片&寄存器

1.芯片

2.了解封装以及引脚的用法

3.相关寄存器

报警功能

二,如何使能DS18B20芯片

1.初始化芯片&比赛提供的驱动代码

比赛提供的底层驱动代码

/*	# 	单总线代码片段说明1. 	本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 	参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、运行速度和试题中对单片机时钟频率的要求,进行代码调试和修改。
*///
void Delay_OneWire(unsigned int t)  
{unsigned char i;while(t--){for(i=0;i<12;i++);}
}//
void Write_DS18B20(unsigned char dat)
{unsigned char i;for(i=0;i<8;i++){DQ = 0;DQ = dat&0x01;Delay_OneWire(5);DQ = 1;dat >>= 1;}Delay_OneWire(5);
}//
unsigned char Read_DS18B20(void)
{unsigned char i;unsigned char dat;for(i=0;i<8;i++){DQ = 0;dat >>= 1;DQ = 1;if(DQ){dat |= 0x80;}	    Delay_OneWire(5);}return dat;
}//
bit init_ds18b20(void)
{bit initflag = 0;DQ = 1;Delay_OneWire(12);DQ = 0;Delay_OneWire(80);DQ = 1;Delay_OneWire(10); initflag = DQ;     Delay_OneWire(5);return initflag;
}
2.执行ROM指令

仅使用单个DS18B20芯片可以跳过ROM指令,跳过ROM的指令是0xCC

功能指令

3.执行DS18B02功能指令

写在onewire.c 文件里面 在.h文件中声明 再在main函数里面引入.h文件

//读取温度函数 返回值:温度高低两个字节 
//函数功能:完成温度转换 并返回转换后的温度
float rd_temperature (void)
{unsigned char low,high;  //返回温度的高低八位init_ds18b20();  //初始化Write_DS18B20(0xcc); //跳过ROMWrite_DS18B20(0x44);   //进行温度转换init_ds18b20(); //初始化Write_DS18B20(0xcc);  //跳过ROMWrite_DS18B20(0xbe);  //读取温度low = Read_DS18B20();  //读取低位high = Read_DS18B20(); //读取高位return ((high<<8)|low) /16.0;}

在main.c文件中

float t;
t = rd_temperature();  //让温度一直读取//强制类型转换显示数据
Seg_Buf[0] = (unsigned cahr)t / 10 % 10; //个位
Seg_Buf[1] = (unsigned cahr)t  % 10;   //十位
Seg_Buf[2] = (unsigned cahr)(t * 10)  % 10; //小数点位//为了避免一上电显示85的初始值,在上电之前先读取数值 延时750ms再显示
void Delay750ms()		//@12.000MHz
{unsigned char i, j, k;i = 35;j = 51;k = 182;do{do{while (--k);} while (--j);} while (--i);
}void main()
{t = rd_temperature();Delay750ms();	
}

延时函数在stc中可生成,将nop删除即可

PS:读取数据的顺序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/596771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习之DOM编程-解除DOM2事件绑定

HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。 事件通常与函数结合使用&#xff0c;函数不会在事件发生前被执行&#xff01; (如用户点击按钮)。 解除DOM2事件绑定 <!DOCTYPE html> <html lang"en"> <head><meta cha…

255MN-L01模块测试

一、名词 255MESH: 一种无线自组网 mesh 协议。 255MESH 模块&#xff1a;255MESH 网络的终端与节点产品&#xff0c;可以和 255MESH 网关双向通讯&#xff0c;不能直接与其它 255MESH 模块进行通讯。 255MESH 终端&#xff1a;255MESH 网络中的一种设备类型&#xff0c;没有中…

好看流光风格个人主页HTML源码

这是一款好看流光风格个人主页HTML源码&#xff0c;感觉挺喜欢的&#xff0c;需要的自行下载&#xff01; 源码下载 好看流光风格个人主页源码

二叉树的介绍

学习堆排序时先了解下二叉树&#xff0c;因为堆排序中使用了二叉树。 一、二叉树介绍 二叉树&#xff08;binary tree&#xff09;树的每个节点最多有2个孩子节点。注意&#xff0c;这里是最多有2个&#xff0c;也可能只有1个&#xff0c;或者没有孩子节点。 二叉树结构如图…

解压缩软件哪个好用 Mac免费解压软件哪个好 解压软件推荐 beeterzip免费下载

解压缩软件在Mac办公中是必不可少的&#xff0c;不仅能够节省时间和内存&#xff0c;更能提升传输效率。虽然Mac自带的解压缩软件归档实用工具可以对zip文件进行解压&#xff0c;但是对于他格式文件就无能为力了。 因此&#xff0c;想要满足多类型文件解压缩需求&#xff0c;可…

对于Redis,如何根据业务需求配置是否允许远程访问?

1、centos8 Redis安装的配置文件目录在哪里&#xff1f; 在 CentOS 8 中&#xff0c;默认情况下 Redis 的配置文件 redis.conf 通常位于 /etc/ 目录下。确切的完整路径是 /etc/redis.conf。 2、redis如何设置允许远程登录 修改redis.conf文件 # 继承默认注释掉的bind配置 # …

使用YOLOv8训练自己的【目标检测】数据集

文章目录 1.收集数据集1.1 使用开源已标记数据集1.2 爬取网络图像1.3 自己拍摄数据集1.4 使用数据增强生成数据集1.5 使用算法合成图像 2.标注数据集2.1确认标注格式2.2 开始标注 3.划分数据集4.配置训练环境4.1获取代码4.2安装环境 5.训练模型5.1新建一个数据集yaml文件5.2预测…

第四百四十二回 再谈flutter_launcher_icons包

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 经验与总结4.1 经验分享4.2 内容总结 我们在上一章回中介绍了"overlay_tooltip简介"相关的内容&#xff0c;本章回中将 再谈flutter_launcher_icons包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 …

Oracle 使用维进行查询重写

Oracle 使用维进行查询重写 conn / as sysdba alter user sh account unlock identified by sh; conn sh/sh query_rewrite_integrity TRUSTED --物化视图的定义 select query from user_mviews where MVIEW_NAMECAL_MONTH_SALES_MV;CREATE MATERIALIZED VIEW cal_month_s…

c# wpf XmlDataProvider 简单试验

1.概要 2.代码 <Window x:Class"WpfApp2.Window12"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…

解决win7作为虚拟机无法复制粘贴共享文件的问题

win7作为虚拟机经常会出现无法与主机的剪切板共享、文件共享。 归根结底是win7虚拟机里面没有安装VMware Tools 能够成功安装vmware tools的条件&#xff1a; 1&#xff09;win7版本为win7 sp1及以上 2&#xff09;安装KB4490628&#xff0c;KB4474419补丁 因此下面来详细介绍…

【UnityRPG游戏制作】Unity_RPG项目之界面面板分离和搭建

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…