单片机+DS18B20温度控制程序仿真与原理图PCB文件 可设上下限

资料下载地址:单片机+DS18B20温度控制程序仿真与原理图PCB文件 可设上下限

目录

1、项目介绍

2、实物图

​3、电路原理图

​4、仿真原理图

​5、部分代码

1、项目介绍

基于51单片机温度控制,使用18b20来做温度传感器,四位共阳数码管显示。功能说明书:系统启动后默认温度下限28℃、上限30℃。当温度低于设定下限温度时继电器开启、加热指示灯亮起,当温度达到设定上限温度时蜂鸣器响起、保温指示灯亮起,当温度高于设定下限温度低于上限温度时蜂鸣器关闭保温指示灯继续亮起,温度低于下限温度时切换继电器开启加热指示灯亮起。(假设设置烧水,温度下限设置在90℃、上限设置100℃就行)


2、实物图
 


3、电路原理图



4、仿真原理图



5、部分代码

 

void scan()
{int j;for(j=0;j<4;j++){switch(j){case 0:dm=table_dm[display[0]];;w0=0;  //打开数码管显示小数数字的数码管位选端delay(50);w0=1;        //关闭数码管显示小数数字的数码管位选端case 1:dm=table_dm1[display[1]];w1=0;  //打开数码管显示个位数字的数码管位选端delay(50);w1=1;        //关闭数码管显示个位数字的数码管位选端case 2:dm=table_dm[display[2]];w2=0;        //打开数码管显示十位数字的数码管位选端delay(50);w2=1;        //关闭数码管显示十位数字的数码管位选端case 3:dm=table_dm[display[3]];w3=0;        //打开数码管显示百位数字的数码管位选端delay(50);w3=1;        //关闭数码管显示百位数字的数码管位选端}}
}
/****温度传感器采用的是DS18b20,此传感器采用的
是“单总线”来传输数据。****/
/**************DS18B20初始化**************/
ow_reset(void)         //初始化
{char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();   //将数据线拉高并延时DQ=0;           //将DQ(P1.0)引脚拉低。请注意,这里的DQ不是变量,而是单片机的引脚!!!                 delay(50);   //延时DQ=1;     //将DS拉高delay(6);presence=DQ;}delay(45);presence=~DQ;}DQ=1;        return presence;
}
/****************写命令函数*****************/
void write_byte(uchar val)
{uchar i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();    //将数据线拉高并延时DQ=0;_nop_();_nop_();_nop_();_nop_();          //将数据线拉低并延时DQ=val&0x01;delay(6);val=val>>1;               }DQ=1;delay(1);
}        
/****************读一个字节函数*******************/
uchar read_byte(void)
{uchar i;uchar value=0;for(i=8;i>0;i--)  //采用for 循环,读取原始温度数据{DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();DQ=1;_nop_();_nop_();_nop_();_nop_();if(DQ)value|=0x80;delay(6);}DQ=1;        return value;
}
/***************读取温度函数***************/
read_temp()           //读取18b20传感器函数
{ow_reset();delay(200);write_byte(0xcc);write_byte(0x44);ow_reset();delay(1);write_byte(0xcc);write_byte(0xbe);temp_data[0]=read_byte();temp_data[1]=read_byte();temp=temp_data[1];temp<<=8;temp=temp|temp_data[0];return temp;
}

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

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

相关文章

【消息队列】Kafka学习笔记

概述 定义 传统定义: 一个分布式的, 基于发布订阅模式的消息队列, 主要应用于大数据实时处理领域新定义: 开源的分布式事件流平台, 被用于数据管道/流分析/数据集成 消息队列的使用场景 传统消息队列的主要应用场景包括: 削峰: 解耦: 异步: 两种模式 点对点模式 发布/订…

【深度学习】python之人工智能应用篇——图像生成技术(一)

说明&#xff1a; 两篇文章根据应用场景代码示例区分&#xff0c;其他内容相同。 图像生成技术&#xff08;一&#xff09;&#xff1a;包含游戏角色项目实例代码、图像编辑和修复任务的示例代码和图像分类的Python代码示例 图像生成技术&#xff08;二&#xff09;&#xff1a…

SaaS产品运营:维护四个不同类型的合作伙伴的实战指南

在SaaS&#xff08;软件即服务&#xff09;行业的竞争中&#xff0c;与合作伙伴建立并维护良好关系至关重要。不同类型的合作伙伴对于产品的推广、市场覆盖和用户增长都起着不同的作用。如何有效维护这四种类型合作伙伴&#xff1f;看个案例一起学习吧。 一、合作伙伴的四种类型…

golang time.Time 时间格式 format 布局字符 layout 整理

go语言中的时间格式字符串和我们常见的其他语言不太一样&#xff0c; 他的格式化字符串是一个时间&#xff0c;即2006-01-02 15:04:05 &#xff0c; 细心的你可能会发现&#xff0c;这个是一个很特别的时间&#xff0c; 他的每一段都是唯一的&#xff0c;这个特别的时间的格式和…

基于ChatMemory打造AI取名大师

当我们真正开发一款应用时&#xff0c;存储用户与大模型的历史对话是非常重要的&#xff0c;因为大模型需要利用到这些历史对话来理解用户最近一句话到底是什么意思。 比如你跟大模型说“换一个”&#xff0c;如果大模型不基于历史对话来分析&#xff0c;那么大模型根本就不知…

恭喜!Z医生喜提世界名校—斯坦福大学访问学者邀请函

➡️【院校简介】 斯坦福大学&#xff08;Stanford University&#xff09;&#xff0c;全称为小利兰斯坦福大学&#xff0c;简称“斯坦福”&#xff0c;位于美国加州旧金山湾区南部帕罗奥多市境内&#xff0c;临近高科技园区硅谷&#xff0c;是私立研究型大学&#xff0c;全球…

HarmonyOS Next开发学习手册——内存管理(GC)

GC&#xff08;全称 Garbage Collection&#xff09;&#xff0c;即垃圾回收。在计算机领域&#xff0c;GC就是找到内存中的垃圾&#xff0c;释放和回收内存空间。当前主流编程语言实现的GC算法主要分为两大类&#xff1a;引用计数和对象追踪&#xff08;即Tracing GC&#xff…

threejs的学习(二)

上次我们说了如何搭建环境&#xff0c;并成功显示了一个静止的方块&#xff0c; 1.通过轨道控制器查看方块&#xff0c;同时添加坐标轴辅助器 main.js import * as THREE from "../assets/js/three.module"; import { OrbitControls } from "../../../three.j…

零拷贝技术(zero copy),DMA,mmap,sendfile

在一些高性能的IO场景下我们经常能听到零拷贝技术&#xff0c;这是个不错的话题。 零拷贝指的是内核态与用户态之间的数据拷贝&#xff0c;而这两个区域的数据拷贝只能依靠CPU&#xff0c;但是CPU最重要的作用应该是运算。 一、DMA的由来 在没有DMA之前&#xff0c;磁盘的IO…

全国211大学名单及排名

序号 名称 省份 985 211 双一流 1 北京大学 北京 是 是 是 2 清华大学 北京 是 是 是 3 复旦大学 上海 是 是 是 4 上海交通大学 上海 是 是 是 5 浙江大学 浙江 是 是 是 6 国防科技大学 湖南 是 是 是 7 中国人民大学 北京 是 …

Vue.js中的虚拟DOM

一.节点和状态 在我们平常对DOM操作的时候,之前在vue没有诞生之前,以命令式的方式对DOM进行操作,页面上的每一个元素都可以看做成一个节点状态。 二.剔除和渲染 框架都有自己渲染的方式,假设一个页面的状态,随着Ajax请求的放松,状态发生改变,有以下的两种方式供你选择&#…

C语言 do while循环练习 上

do while循环 do循环语句; while&#xff08;表达式&#xff09;; 例&#xff1a; do while里的break do while里的continue 练习 1.计算n的阶乘 1*2*3*424 2.计算1&#xff01;2&#xff01;3&#xff01;.......10! 3.在一个有序数组中查找具体的某个数字h&#x…

吴恩达AI系列:教你如何用Langchain封装一本书

教你快速上手AI应用——吴恩达AI系列教程 人工智能风靡全球,它的应用已经渗透到我们生活的方方面面,从自动驾驶到智能家居,再到医疗辅助和量化交易等等。他们逐渐改变了我们的生活方式,然而,对于许多人来说,AI仍然是一个神秘且无法理解的领域。 为了帮助更多的人理解并掌握AI…

一篇文章带你彻底搞懂十大经典排序之——快速排序

一、递归实现快速排序 1.基本思想 通过一趟排序将待排序记录分割成独立的两部分&#xff0c;其中一部分记录的关键字均比两一部分的关键字小&#xff0c;则课分别对这两部分记录继续进行排序&#xff0c;已达到整个序列有序。 2.算法描述 快速排序使用分治法来吧一个“串”…

QT中利用qss来创建一个圆角矩形窗口,并利用Qt::WA_TranslucentBackground属性解决留白问题

1、效果 2、实现 QWidget#centralwidget {border-radius: 30px solid default;border-image: url(:/images/bk<

探索认知智能的未来:知识图谱的崛起

知识图谱点燃语言模型的潜能 ©作者| 潇潇 来源|神州问学 一、 人工智能的三个层次 在人工智能的发展历程中&#xff0c;我们见证了从简单计算到复杂认知的飞跃。人工智能的发展可以概括为三个主要层次&#xff1a;计算智能、感知智能和认知智能。这三个层次不仅代表了技…

支持向量回归原理详解及Python代码示例

支持向量回归原理详解 支持向量回归&#xff08;Support Vector Regression, SVR&#xff09;是支持向量机&#xff08;SVM&#xff09;的一种扩展&#xff0c;用于回归问题。SVR通过寻找一个最佳的回归超平面&#xff0c;使得尽可能多的数据点落在超平面附近的ε-管内&#xf…

05-Shell编程之免交互

目录 5.1 Here Document免交互 5.1.1 通过passwd命令给用户设置密码&#xff1a; 5.2. Expect免交互 5.2.1使用Expect自动登录FTP服务器 5.2.2 使用Expect实现免交互磁盘创建 5.1 Here Document免交互 Here Document是Shell编程中实现免交互的一种常用方法。它使用I/O重定…

eNSP中VRRP的配置和使用

一、基础配置 1.新建拓扑图 2.配置vlan a.CORE-S1 <Huawei>system-view [Huawei]sysname CORE-S1 [CORE-S1]vlan 10 [CORE-S1-vlan10]vlan 20 [CORE-S1-vlan20]vlan 30 b.CORE-S2 <Huawei>system-view [Huawei]sysname CORE-S2 [CORE-S2]vlan 10 [CORE…

Git中的变基(Rebase)

Git 操作之变基&#xff08;Rebase&#xff09; ⭐⭐⭐ 目录 &#x1f514; 介绍&#x1f514; 格式&#x1f514; 示例&#x1f514; 特性&#x1f514; 变基与合并的区别&#x1f514; 使用场景 &#x1f514; 介绍 在Git中&#xff0c;下载后运行变基通常是指使用 git pull…