137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

2023-12-05

资料编号:137

一:功能介绍

1、采用stm32单片机+LCD1602显示屏+独立按键+DS18B20传感器+电机,制作一个基于stm32单片机智能保温杯控制装置Proteus仿真;

2、通过DS18b20传感器检测当前保温杯水的温度,并且显示到LCD1602显示屏上面;

3、通过按键设置水温阈值,显示到LCD1602屏幕上面;

4、当实际检测水温大于设置水温,开机散热电机,如果实际检测水温小于设置水温,开启加热电机。保持保温杯中的水是恒温状态;

二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)

137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真 演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压 !( 建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

110e7d9d1774e96378667651b3711f76.png

2fa2869f61c5a0101d4f5a627698be72.png

程序部分展示,有中文注释,新手容易看懂
void IO_out( void )
{
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC ,ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  //按键
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;;
  GPIO_Init(GPIOC, &GPIO_InitStructure);  


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);  


}
void Delay_DS18B20(int num)
{
  while(num--) ;
}


void anjiansaomiao(void)
{


  //表明按下 
  if(k1 == 1)
  {  
    wenduset++;  while(k1!=0);  
    if(wenduset>100) wenduset=100;        
  }
    
  //表明按下 
  if(k2 == 1)
  {
    wenduset--;  while(k2!=0);  
    if(wenduset<1) wenduset=1;
  }  
  




}
int main(void)
{
  int t;
  short tem,tem1;
  GPIO_Configuration();//初始化     
  Init1602(); 
  IO_out();
  delay_init();
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  GPIO_InitTypeDef g;
  g.GPIO_Mode = GPIO_Mode_Out_PP;
  g.GPIO_Speed = GPIO_Speed_10MHz;
  g.GPIO_Pin = GPIO_Pin_8  ;
  GPIO_Init(GPIOA,&g);
   GPIO_SetBits(GPIOA,GPIO_Pin_8);    //输出1


   t=DS18B20_DQ_IN;
while(t){
    DS18B20_IO_OUT();   //SET PG11 OUTPUT


    DS18B20_DQ_OUT=0;   //拉低DQ
    Delay_DS18B20(750);       //拉低750us
    DS18B20_DQ_OUT=1;   //DQ=1 
    Delay_DS18B20(15);       //15US
    DS18B20_IO_IN();  //SET PG11 INPUT   
    Delay_DS18B20(100);
    t=DS18B20_DQ_IN;
}
     tem=DS18B20_Get_Temp();//读取温度


  Delay_DS18B20(1000000);
  while(1)
  {
    tem=DS18B20_Get_Temp();//读取温度
if(  tem>0)         
  {  
  WrByte1602(0,8,'+'); 
  WrByte1602(0,9,AsciiCode[tem%1000/100]);//显示+温度
  WrByte1602(0,10,AsciiCode[tem%100/10]);
  WrByte1602(0,12,AsciiCode[tem%10]);
        
  }
  else 
  {  
    tem1=-(tem);
    tem1=tem1+1;
  WrByte1602(0,8,'-'); 
  WrByte1602(0,9,AsciiCode[tem1%1000/100]);//显示-温度
  WrByte1602(0,10,AsciiCode[tem1%100/10]);
  WrByte1602(0,12,AsciiCode[tem1%10]);
    
  }
      anjiansaomiao();//扫描按键  
  
  WrByte1602(1,10,AsciiCode[wenduset%1000/100]);  //显示设置温度
  WrByte1602(1,11,AsciiCode[wenduset%100/10]);
  WrByte1602(1,12,AsciiCode[wenduset%10]);
  if(tem>wenduset*10)  PCout(10)=0;//温度大于设置值  打开散热风扇
  else  PCout(10)=1;
  if(tem<wenduset*10)  PCout(9)=0;//温度小于设置值  打开加热电机
  else  PCout(9)=1;  
  


  WrByte1602(0,1,' '); //字符显示
  WrByte1602(0,2,'T'); 
  WrByte1602(0,3,'E'); 
  WrByte1602(0,4,'M'); 
  WrByte1602(0,5,'P'); 
  WrByte1602(0,6,'='); 
  WrByte1602(1,1,' '); //字符显示
  WrByte1602(1,2,' '); 
  WrByte1602(1,3,'S'); 
  WrByte1602(1,4,'E'); 
  WrByte1602(1,5,'T');

:仿真文件(采用Prot e us打开)

fb9197affe64ae019c4c36ad946dcd69.png

231365cd0673dcc66e60e9b279e90b3a.png

b4d8cb5688224d9647936fef5e83eb55.png

六:资料清单展示(文件中包含的相关资料)

12ef3cc5ffe5fd3737c5c03bfae27e36.png

资料分享下载链接 ​​​​​​​

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序 的相关文章

  • 怎么把视频字幕提取成文本?亲测好用的方法分享

    你是否曾经遇到过这样的问题 想要提取视频中的字幕 却不知道该如何操作 别担心 现在有一些视频字幕提取软件 它们可以帮助我们轻松地提取视频中的字幕 无论是英文还是中文 视频字幕提取软件都可以准确地提取出视频中的字幕文本 并保存为文本文件或复制
  • 视频转文字的app哪个好用?亲测好用的软件分享

    想象一下 当你在观看视频讲座或教学资料时 你希望把老师讲解的重点内容记录下来 以便后续的回顾和整理 但是手动输入文字真的是太麻烦了 这时 视频转文字软件就派上了用场 你只需简单地将视频上传到软件中 它会立即将视频中的对话或讲解转化为文字形式

随机推荐

  • C#8.0本质论第十五章--支持标准查询操作的集合接口

    C 8 0本质论第十五章 支持标准查询操作的集合接口 集合在C 3 0中通过称为语言集成查询 Language Integrated Query LINQ 的一套编程API进行了大刀阔斧的改革 通过一系列扩展方法和Lambda表达式 LIN
  • 大数相乘,限制:不可用 BigInt

    大数相乘 限制 不可用 BigInt 大数相乘 限制 不可用 BigInt 例如 输入 a 11111111111111111111 b 22222222222222222222 返回 246913580246913580241975308
  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • 通过mount命令挂载另一台linux服务器的目录到本机

    说明 本次操作的目的是将另一台机器 192 168 1 100 的 backup目录挂载到本机的新建目录 back 1 在被挂载目录的机器上开启NFS服务并编辑 etc exports文件 1 1 查看是否已安装nfs 查看知道已安装 rp
  • 使用docker切换任意版本cuda使用GPU

    1 现存问题 在主机上运行很多下载来的机器学习代码时 这些大都运行在不同版本的tensorflow gpu或者pytorch等的包下的 但是 运行代码的过程中 存在匹配的问题 1 不同的版本的tensorflow gpu或pytorch对c
  • 138-基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真+源程序

    资料编号 138 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 LED灯 蜂鸣器 电位器 制作一个基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真 2 通过DHT1
  • 【经典蓝牙 SSP协议介绍】

    协议定义 SSP Secure Simple Pairing 安全简单配对 协议目的 1 为用户简化配对过程 2 维护或提高蓝牙无线技术的安全性 安全性指两点目标 1 被动窃听保护 2 中间人 MITM 攻击保护 协议流程 下面说下我认为的
  • 133-基于stm32单片机停车场车位管理系统Proteus仿真+源程序

    资料编号 133 一 功能介绍 1 采用stm32单片机 4位数码管 独立按键 制作一个基于stm32单片机停车场车位管理系统Proteus仿真 2 通过按键进行模拟车辆进出 并且通过程序计算出当前的剩余车位数量 3 将剩余的车位数量显示到
  • 【网络安全】网络安全的标准和规范

    网络安全的标准和规范是网络安全领域的重要组成部分 它们为网络安全提供了技术依据 规定了网络安全的技术要求和操作方式 帮助我们构建安全的网络环境 下面 我们将详细介绍一些主要的网络安全标准和规范 以及它们在实际操作中的应用 一 ISO IEC
  • Elasticsearch-Kibana使用教程

    1 索引操作 1 1创建索引 PUT employee settings index refresh interval 1s number of shards 1 max result window 10000 number of repl
  • el-table 删除某行数据时 删除语句包含行号/序号

    el table可展示每行数据的序号列 在点击删除按钮的时候 会获取到该行所有的数据值 但是要想删除时提示到具体的序号 如 是否确认删除序号为1的数据项 我是这样写的 删除按钮操作 handleDelete row index用来存储该项数
  • Android中的Banner轮播图的使用

    目录 效果图 介绍 3 XML中banner常用的属性 使用 导入依赖 xml文件 活动代码 本文在碎片中使用 效果图 Banner效果图 介绍 Banner轮播图是一种常见的移动应用界面设计元素 用于展示多张图片或广告 并支持自动切换 它
  • “我,大三,寒假靠Python兼职赚了7567.6元。”

    目前很多同学已经结束期末考试 进入寒假 有很多同学问我 有什么兼职可以线上做的吗 最好还能提高自己的一些技能 以前周末或假期经常去当服务员 导购 发传单之类 最后发现 只是在无畏地消磨自己的时间 对本身技能并不能得到任何提高 所以 不想再重
  • 【王道】计算机组成原理笔记 第四章 指令系统

    前三章讲的分别是概述 运算器和存储器 接下来的第四章和第五章内容都是关于控制器的 我们知道 控制器通过指令来控制计算机 所以这一章介绍指令 下一章介绍控制器如何通过指令来控制计算机 4 1 1 指令格式 1 指令 操作码和地址码 1 1 指
  • linux内核机制之设备树

    设备树 Device Tree 基本概念及作用 在内核源码中 存在大量对板级细节信息描述的代码 这些代码充斥在 arch arm plat xxx和 arch arm mach xxx目录 对内核而言这些platform设备 resourc
  • 视频压缩怎么操作?看完这篇你就知道了

    亲们 你们是否经常为了视频文件过大而烦恼呢 别担心 现在有了视频压缩软件 我们可以轻松解决这个问题 视频压缩软件不仅在日常生活中大放异彩 也在工作和娱乐中发挥着重要的作用 无论是想要分享视频给朋友 还是上传到社交平台或视频网站 视频压缩软件
  • 企业如何为自己的未来做准备?

    如果企业不为未来做准备 就要为出局做准备工作 德鲁克 随着市场需求的不断变化 企业面对着激烈的市场竞争 其该如何为自己的未来做准备 具体企业面临着 建立竞争优势 管理多元化员工队伍 应用新的信息系统与技术 首先 企业在市场竞争中想要建立自己
  • 强化元学习算法在机器人控制中的应用研究

    随着人工智能和机器学习的快速发展 强化学习作为一种重要的机器学习方法 被广泛应用于机器人控制领域 然而 传统的强化学习算法在面对复杂任务和多样化环境时往往需要大量的训练时间和样本 为了解决这个问题 强化元学习算法应运而生 本文将探讨强化元学
  • 微信小程序自定义数据实现级联省市区组件

    前言 在微信小程序中 官方文档提供的省市区组件 可以让用户更加方便快捷地选择省市区 但是官方提供的组件有一个缺点 无法自定义数据 但如果项目中需要使用自己的数据 显然就得寻找其它的组件实现 官方组件 优点 使用官方组件具有稳定性和兼容性 可
  • 137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

    资料编号 137 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DS18B20传感器 电机 制作一个基于stm32单片机智能保温杯控制装置Proteus仿真 2 通过DS18b20传感器检测当前保温杯水的温度 并且