基于51单片机的温度检测监测报警系统设计

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)


微信公众号:创享日记
发生关键词:单片机温度检测
获取原理图源文件+程序源文件+仿真源文件+报告+相关资料


基于51单片机的温度监测报警系统
由STC89C51单片机+液晶1602显示+DS18B20温度传感器+按键模块+报警模块构成具体功能:
①采用DS18B20温度传感器测温并用LCD1602显示;
②按键为设置按键,包括加键和减键,可设置上下限温度报警值;
③当温度超过设定的上或下限时,相应的指示灯亮,蜂鸣器报警;
④温度测量范围0到99.9摄氏度,精度为0.1摄氏度。

可用于课程设计学习参考,资料详细完整。


硬件框图

在这里插入图片描述


程序流程图

①主程序流程图
在这里插入图片描述

②测温流程图
在这里插入图片描述

③报警阈值设定
在这里插入图片描述

④报警模块
在这里插入图片描述


原理图

在这里插入图片描述


仿真模型
在这里插入图片描述


其他详细资料请移步公众号下载。

在这里插入图片描述

  • 15
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
你可以使用51单片机的外部中断来检测按键的按下和松开事件。当按键按下时,你可以读取温度传感器的数据,并将其显示在数码管上。同时,你还需要设置一个阈值,当温度超过该阈值时,在数码管上显示警告信息。 以下是一个简单的示例代码,供参考: ```c #include <reg51.h> sbit Key = P1^0; // 按键连接到P1口的第0位 sbit D1 = P2^0; // 数码管第一位连接到P2口的第0位 sbit D2 = P2^1; // 数码管第二位连接到P2口的第1位 sbit D3 = P2^2; // 数码管第三位连接到P2口的第2位 sbit D4 = P2^3; // 数码管第四位连接到P2口的第3位 unsigned char temperature = 0; // 温度变量 unsigned char threshold = 30; // 温度阈值 void delay(unsigned int time) { unsigned int i, j; for (i = time; i > 0; i--) for (j = 110; j > 0; j--); } void display(unsigned char num) { unsigned char code digit[] = { 0xC0, // 数字0 0xF9, // 数字1 0xA4, // 数字2 0xB0, // 数字3 0x99, // 数字4 0x92, // 数字5 0x82, // 数字6 0xF8, // 数字7 0x80, // 数字8 0x90 // 数字9 }; P0 = digit[num]; } void main() { EA = 1; // 全局中断使能 EX0 = 1; // 外部中断0使能 while (1) { display(temperature); // 显示温度 if (temperature > threshold) { D4 = 1; // 超过阈值时点亮警告灯 } else { D4 = 0; // 温度在阈值范围内时关闭警告灯 } delay(100); // 延时一段时间,用于数码管显示刷新 } } void keyInterrupt() interrupt 0 { if (Key == 0) { // 检测按键按下事件 temperature++; // 温度递增 if (temperature > 99) { temperature = 0; // 温度达到最大值后重新从0开始 } } } ``` 请注意,此示例仅演示了基本的按键检测温度显示功能。你需要根据实际情况进行适当修改和扩展。另外,你还需要根据具体的硬件连接情况进行相应的引脚配置和数码管显示函数的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶绿体不忘呼吸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值