蓝桥杯单片机速成4-温度传感器DS18B20

目录

一、电路图

二、底层驱动代码

三、温度读取实现

四、实际使用

 


一、电路图

二、底层驱动代码

时序是单总线 

我们需要修改的地方是单总线内部延时函数,改成

void Delay_OneWire(unsigned int t)  
{
    t*=12;
    while(t--);
}

#ifndef __ONEWIRE_H
#define __ONEWIRE_H#include <STC15F2K60S2.H>sbit DQ = P1^4;  #endif
#include "onewire.h"//单总线内部延时函数
void Delay_OneWire(unsigned int t)  
{t*=12;while(t--);
}//单总线写操作
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;
}//DS18B20初始化
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;
}

三、温度读取实现

void T_Concert()
{init_ds18b20();Write_DS18B20(0xCC);//跳过ROMWrite_DS18B20(0x44);//转换温度
}float T_read()
{u8 TL=0,TH=0;u16 temp;float T;init_ds18b20();Write_DS18B20(0xcc);//跳过ROMWrite_DS18B20(0xbe);//转换温度TL=Read_DS18B20();//先读低位TH=Read_DS18B20();temp=TL|(TH<<8);//高位左移八位T=temp/16.0;return T;
}

四、实际使用

float T;
void main()
{T_Concert();Delay(750);All_Init();Timer1Init();	//1毫秒@11.0592MHzif(Tem_f == 1){T_Concert();T = T_read();temp = T*100;Tem_f = 0;seg_set(16,16,16,16,16,temp/100,temp /10%10+32,temp %10);}
}void Timer1() interrupt 3
{TL1 = 0x18;		TH1 = 0xFC;			count++;seg_loop();if(count % 500 ==0){Tem_f = 1;}count %= 1000;
}

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

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

相关文章

Unity TrailRenderer的基本了解

在Unity中&#xff0c;TrailRenderer组件用于在对象移动时创建轨迹效果。通常用于增强游戏中的动态物体&#xff0c;比如子弹、飞行道具或者角色移动时的拖尾效果。 下面来了解下它的基本信息。 1、创建 法1&#xff1a;通过代码创建 using UnityEngine;public class Trail…

动态规划刷题(算法竞赛、蓝桥杯)--合唱队形(线性DP)

1、题目链接&#xff1a;[NOIP2004 提高组] 合唱队形 - 洛谷 #include <bits/stdc.h> using namespace std; int n,ans; int a[105],f[105][2];//f[i][2]中2表示正反两个方向int main(){cin>>n;for(int i1;i<n;i){cin>>a[i];}//正方向求最长上升子序列 a[…

[flink 实时流基础] 输出算子(Sink)

学习笔记 Flink作为数据处理框架&#xff0c;最终还是要把计算处理的结果写入外部存储&#xff0c;为外部应用提供支持。 文章目录 **连接到外部系统****输出到文件**输出到 Kafka输出到 mysql自定义 sink 连接到外部系统 Flink的DataStream API专门提供了向外部写入数据的方…

HTTP,Servlet

HTTP 概念&#xff1a;HyperTextTransferProtocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 HTTP协议特点&#xff1a; 1.基于TCP协议&#xff1a;面向连接&#xff0c;安全 2.基于请求-响应模型的&#xff1a;一次请求对应一次响应 …

【学习笔记】java项目—苍穹外卖day06

文章目录 苍穹外卖-day06课程内容1. HttpClient1.1 介绍1.2 入门案例1.2.1 GET方式请求1.2.2 POST方式请求 2. 微信小程序开发2.1 介绍2.2 准备工作2.3 入门案例2.3.1 小程序目录结构2.3.2 编写和编译小程序2.3.3 发布小程序 3. 微信登录3.1 导入小程序代码3.2 微信登录流程3.3…

工业电脑工控主机维修各种品牌型号人机界面工控屏深圳捷达工控维修

我们的维修流程 在 深圳捷达工控维修&#xff0c;我们确保客户获得尽可能最好的维修服务&#xff0c;我们简化的维修流程证明了我们对卓越的承诺 1&#xff0c;向内的 收到的仪器将登录到我们的系统并分配一个唯一的作业 ID&#xff0c;该 ID 带有条形码以便于跟踪。 2&#xf…

基于Java的车辆出入校预约管理系统设计与实现(论文+源码)_kaic

摘 要 二十一世纪以来我国科技水平得到很大提升&#xff0c;人们对于生活的美好向往更加强烈&#xff0c;而目前的车辆出入校预约管理由于存在管理不规范等缺点&#xff0c;严重影响了校园的安全&#xff0c;因此&#xff0c;需要设计一个车辆出入校预约管理系统对人们出入校园…

帝国CMS十合一源码/字典/成语/古诗词/二十四节气/英语单词/百家姓/范文文库/词语等

帝国CMS十合一源码/字典/成语/古诗词/二十四节气/英语单词/百家姓/范文文库/词语等 功能包含: 成语大全 二十四节气 英语单词 古诗词 近反义词 词语造句 汉语字典 英文缩写 百家姓 范文文库 文件目录:1个数据库 1个系统源码 1个伪静态规则 安装方式:把1.2G的…

跑spark的yarn模式时RM连不上的情况

在linux控制台跑spark on yarn一个测试案例&#xff0c;日志中总显示RM连yarn服务的时候是&#xff1a;0.0.0.0:8032 具体情况如下图&#xff1a; 我问题出现的原因&#xff0c;总结如下&#xff1a; 1.防火墙没关闭&#xff0c;关闭 2.spark-env.sh这个文件的YARN_CONF_DIR…

T1 神奇苹果桶 (25分) - 小米前端笔试编程题解

考试平台&#xff1a; 赛码 题目类型&#xff1a; 20道选择 2道编程题 考试时间&#xff1a; 2024-03-23 &#xff08;两小时&#xff09; 题目描述 小希在森林冒险的时候发现一个神奇的木桶&#xff0c;某些时会凭空出现一些苹果&#xff0c;小希很解地大家分享了这一个神奇…

CCIE-01-VLAN-Trunk

目录 实验条件网络拓朴逻辑拓扑物理拓扑实验目的 开始配置配置SW1配置SW2检验证配置结果 实验条件 网络拓朴 逻辑拓扑 物理拓扑 实验目的 SW1和SW2之间的E2/0-3配置为trunk&#xff0c;使用802.1q协议&#xff0c;不需要配置捆绑根据逻辑图和物理图标识&#xff0c;使得R1~R7…

6.函数和方法【go】

在Go语言中,函数和方法是两个密切相关但又有所区别的概念。它们都用于封装可重用的代码块,但它们的应用场景和语法略有不同。 函数(Function) 函数是Go语言中的一等公民,它是一段独立的代码,用于执行特定任务。函数可以接受零个或多个参数,并可能返回零个或多个值。 …

全球视野下的面试文化演进梳理

全球化的进程正在改变企业的面试文化。随着跨文化的互动和国际竞争的加剧&#xff0c;面试标准也在不断演变&#xff0c;以适应不断变化的商业环境。本篇将探讨全球化进程中企业面试文化的发展轨迹&#xff0c;揭示跨文化互动与国际竞争对面试标准的影响。 一、跨国公司面试策…

蓝桥杯(更新中)

递归与递推 递归 1.指数型枚举 解析&#xff1a;从 1 ∼ n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 思路&#xff1a;枚举每一位对应的数字选与不选&#xff0c;例如&#xff1a;第一位对应的数字为1&#xff0c;有一种方案是选1&#xff0c;另…

为什么Python开发需要精通Git?

据说OpenAI团队只有不到一百人&#xff0c;这么小规模的团队创造了奇迹般的产品&#xff0c;让人惊叹。 虽然我不是专业的软件开发工程师&#xff0c;但想想也会知道&#xff0c;除了开发人员本身足够牛X外&#xff08;人均世界Top名校&#xff09;&#xff0c;ChatGPT背后肯定…

Gitea的简单介绍

1、Gitea&#xff08;Gitea - 轻量级全功能 DevSecOps 平台&#xff09; Gitea 是一个基于 Go 语言编写的轻量级、开源、自托管的 Git 服务软件&#xff0c;它的设计目标是易于安装、快速运行并且提供出色的用户体验。Gitea 提供了一个类似于 GitHub 或 GitLab 的 web 界面&…

前端无痛刷新的方案

两种方案&#xff0c;第一种记录登录时间&#xff0c;根据后台设置的token过期时间&#xff0c;进行在时间内请求更换token 第二种利用axios的拦截&#xff0c;在返回token过期时&#xff0c;那么token去更换token&#xff0c;再用新的token去请求数据。 第二种&#xff0c;上代…

ZKFair 步入Dargon Slayer 新阶段,未来还有哪些财富效应?

在当前区块链技术的发展中&#xff0c;Layer 2&#xff08;L2&#xff09;解决方案已成为提高区块链扩容性、降低交易成本和提升交易速度的关键技术&#xff0c;但它仍面临一些关键问题和挑战&#xff0c;例如用户体验的改进、跨链互操作性、安全性以及去中心化程度。在这些背景…

Python 全栈体系【四阶】(十八)

第五章 深度学习 一、基本理论 4. 神经网络的改进 4.1 神经网络的局限 全连接神经网络的局限&#xff08;一&#xff09; 未考虑数据的“形状”&#xff0c;会破坏数据空间结构。例如&#xff0c;输入数据是图像时&#xff0c;图像通常是高长通道方向上的 3 维形状。但是&a…

皓学IT:WEB07_ JSP

一、Jsp基础语法 1.1. JSP模板元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架&#xff0c;即定义了页面的结构和外观。 1.2. JSP脚本片段 JSP脚本片断用于在JSP页面中编写多行Java代码&#xff08;在<%%>不能定义方法&#xff09;。…