基于STM32单片机的温度报警器(数码管)(Proteus仿真+程序)

news2024/9/21 12:32:48

编号:26

基于STM32单片机的温度报警器(数码管)

功能描述:

        本设计由STM32F103单片机最小系统+DS18B20温度传感器+数码管显示模块+声光报警模块+独立按键组成。
1、主控制器是STM32F103单片机
2、DS18B20温度传感器测量温度
3、数码管显示温度值,精度0.1摄氏度
4、三个按键可设置温度上限、下限报警值,温度超过上限、或者温度低于下限时,蜂鸣器LED声光报警

Proteus 8.11版本才可使用

视频演示链接:

26、基于STM32单片机的温度报警器(数码管)

仿真图:

程序源码:

#include "delay.h"
#include "ds18b20.h"
#include "key.h"
#include "led.h"
#include "timer.h"
#include "SEG.h"

#include "stdio.h" 	
#include "stdlib.h" 	


short Tpup = 37,Tpdw = 10;		//温度上限 默认37  下限默认10
unsigned char Dmode = 0;		//0:显示实时温度 1:显示设置温度上限
short Dis_dat = 0;				//最终显示的赋值数据

_Bool flag_timer = 1;			//定时时间到标志位

int main(void)
{	
	short temprature;		   			   			//定义温度变量

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 
	LED_Init();
	Seg_Init();
	DS18B20_Init();
	while(DS18B20_Init()!=0)						//ds18b20初始化检测  
	{
       Smg_Get(3,0);								//显示----代表故障
	}
    
	KEY_Init();										//初始化端口
    
 	while(1)
	{	
		
		if(flag_timer==1)					    //flag_timer是标志位
		{
			flag_timer = 0;					    //清除标志  等待下一次	
			temprature=DS18B20_Get_Temp();	    //读取温度			
			Smg_Get(0, temprature);		//显示数值
                     
            if(temprature>(Tpup*10)
			||temprature<(Tpdw*10))			    //当前温度超过上下限  上下限值没有扩大十倍 所以要*10
            {
				BEEP = 0;
            }
            else
            {
				BEEP = 1;
            }	
		}
		KEY_Set();
		

		
	}	
}
//定时器2中断服务程序
void TIM2_IRQHandler(void)   		//TIM2中断
{
	static unsigned int Cnt = 0;
	if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)  //检查TIM2更新中断发生与否
	{
		TIM_ClearITPendingBit(TIM2, TIM_IT_Update  );  //清除TIMx更新中断标志 
		Smg_display();		//数码管显示函数
		if(++Cnt>150)
		{
			Cnt = 0;
			flag_timer = 1;	//时间到 打开标志位 读取一次传感器数据
		}
	}
}

软件免费下载地址:

1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包

链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w 
提取码:2756 


3、KEIL5 MDK软件(STM32开发软件)
链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg 

提取码:ab58 

文件下载:

https://pan.baidu.com/s/1sZarB9NzjwJVnwQcYo-LoA?pwd=auyo

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

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

相关文章

数字化改革“1612”详解

背景 2021年2月18日&#xff0c;浙江省开始数字化改革建设&#xff0c;通过一年的建设&#xff0c;取得了光辉成绩。2022年2月28日&#xff0c;在省数字化改革推进大会&#xff0c;回顾一年来数字化改革的主要成效&#xff0c;研究部署2022年数字化改革目标任务&#xff0c;在…

Spring框架(六):SpringTransaction事务的底层原理、xml配置和注解配置

SpringTransaction事务的底层原理、xml配置和注解配置引子Spring事务入门搭建Test环境基于XML的方式配置事务Spring事务的隔离级别Spring事务的传播行为通过Annotation方式配置Spring的事务引子 痛定思痛&#xff0c;主要问题出现在自己雀氏不熟悉框架底层、一些面试题&#x…

【源码分析】Springboot启动流程源码分析

1.简介 springboot版本&#xff1a;2.7.2 SpringApplication类是用来执行Spring框架启动的引导类。 有两种方式可以进行启动引导&#xff1a; 通过静态方法SpringApplication.run启动。先创建SpringApplication实例&#xff0c;在调用的实例方法run进行启动。 无论是以上哪种…

资源管理管理

资源管理目录概述需求&#xff1a;设计思路实现思路分析1.PMI hr的理念2.双因素的理论3.马斯洛的需求层析理论4.延伸5.X&#xff0c;Y理论Z 理论期望理论&#xff1a;亚当斯公共理论边际福利&#xff0c;光环效应&#xff0c;额外待遇&#xff0c;皮的原理&#xff0c;KISS原理…

阿里P9大牛带你在简历上写精通Spring与Boot高级功能

前言 蓦然回首自己做开发已经十年了&#xff0c;这十年中我获得了很多&#xff0c;技术能力、培训、出国、大公司的经历&#xff0c;还有很多很好的朋友。但再仔细一想&#xff0c;这十年中我至少浪费了五年时间&#xff0c;这五年可以足够让自己成长为一个优秀的程序员&#…

QT - 模型与视图

经典MVC模式中&#xff0c;M是指业务模型&#xff0c;V是指用户界面&#xff0c;C则是控制器&#xff0c;使用MVC的目的是将M和V的实现代码分离&#xff0c;从而使同一个程序可以使用不同的表现形式。其中&#xff0c;View的定义比较清晰&#xff0c;就是用户界面。 MVC 不是一…

银行 测试|测试开发 面试真题|面经 汇总

招银测开面经 一面 1.面向对象3大特征 2.java是否能多继承&#xff0c;怎么实现多继承 3.抽象类 4.数据库特性&#xff0c;隔离级别 5.sql语句查找 6.static关键字的使用 7.手撕&#xff1a;寻找字符串出现频率最高的字符 8.代码改进和测试 二面 1.先闲聊了几句&…

Python面向对象编程

本篇内容: 1、反射  2、面向对象编程  3、面向对象三大特性  4、类成员  5、类成员修饰符  6、类的特殊成员  7、单例模式 反射 python中的反射功能是由以下四个内置函数提供&#xff1a;hasattr、getattr、setattr、delattr&#xff0c;改四个函数分别用于对对象…

m基于GA遗传算法的高载能负荷响应优化控制模型matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 高载能企业执行子站接收负荷调整指令后&#xff0c;需将有功功率、无功功率调整总量合理分配给各用能设备/系统。研究高载能负荷响应优化控制模型&#xff0c;建立以高载能企业响应效益最优为目标…

ccf序列查询新解python满分_纯数学规律(学霸怎么想到的啊......)

题目 思路和代码 这题我也就看了好几个小时吧。终于&#xff01;有点懂了&#xff01; 上午看懂了用双指针写《下一个排序》后就在看这题。70分的代码很好写也很好想&#xff0c;就是模拟fx和gx&#xff0c;然后遍历一趟&#xff0c;得到最终的结果。 看了学霸的代码&#x…

使用桥梁振动自动识别车辆(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

Qt在线安装教程(详细图文)

Qt在线安装教程&#xff08;详细图文一、前言二、QT账号的注册三、QT的安装的镜像四、安装的过程一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;小伙伴们&#xff0c;让我们一起来学习Qt在线安装。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、QT账号…

js-mark新时代的网页标记容器

js-mark &#x1f58d;️️ ✨ 它提供了一组可交互操作的工具来注释网页内容 ✨&#x1f58d;️ js-mark是一个JavaScript库&#xff0c;用于在浏览器。他是一个可以在任何网页做标记的前端库, 它提供了一组可交互操作的工具来注释网页内容。 支持标记文本和 持久化存储与还原…

LSTM和双向LSTM讲解及实践

目录&#xff1a; RNN的长期依赖问题LSTM原理讲解双向LSTM原理讲解keras实现LSTM和双向LSTM RNN 的长期依赖问题 在上篇文章中介绍的循环神经网络RNN在训练的过程中会有长期依赖的问题&#xff0c;这是由于RNN模型在训练时会遇到梯度消失(大部分情况)或者梯度爆炸(很少&…

网络1323的分类行为

( A, B )---2*30*2---( 1, 0 )( 0, 1 ) 用网络分类A和B&#xff0c;让A是&#xff08;0&#xff0c;1&#xff09;&#xff08;1&#xff0c;1&#xff09;&#xff0c;让B是&#xff08;1&#xff0c;0&#xff09;&#xff08;1&#xff0c;1&#xff09;。测试集为&#xf…

[附源码]计算机毕业设计springboot学生在线考试系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

408 考研《操作系统》第一章第三节:中断和异常、系统调用

文章目录教程1.中断和异常1.1 中断的作用1.2 中断的类型1.2.1 外中断的处理过程1.2.1 内中断的处理过程1.3 中断机制的基本原理1.4 总结2. 系统调用2.1 什么是系统调用&#xff1f;2.2 小例子&#xff1a;为什么系统调用是必须的&#xff1f;2.3 什么功能要用系统调用实现&…

m基于随机接入代价的异构网络速率分配算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 无线接入技术发展迅速&#xff0c;异构网络并存的现象普遍存在&#xff1b;同时&#xff0c;随着终端用户数量的剧增、业务类型的多样化和高服务质量多媒体数据业务需求的增加&#xff0c;通过异…

磨金石教育插画技能干货分享|插画怎么配色才好看?

在绘画界&#xff0c;配色是非常重要的步骤&#xff0c;一幅作品能够展现出什么样的品质&#xff0c;配色起着举足轻重的作用。颜色配的好会给作品晋商添花&#xff0c;配的不好&#xff0c;就会让作品失去水准&#xff0c;缺少神韵。 所以想学好插画&#xff0c;就要在在配色上…