51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

这篇具有很好参考价值的文章主要介绍了51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


基于51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0056

1.主要功能:

基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用)

1.系统实时通过LCD1602显示水位检测值,锅炉炉膛温度值,锅炉内部压力值。

2、可对锅炉的水位上下限、炉膛温度上下限、压力上下限进行设置,第一行显示上限值,第二行显示下限值。

3、如果水位、温度、压力过限则蜂鸣器报警,通过LED指示报警类型。

4、默认水位下限值10cm,上限值40cm,压力下限值30kPa,压力上限值50kPa,温度下限值5℃,温度上限值105℃。

5、温度传感器使用DS18B20;水位传感器使用电位器模拟;压力传感器使用MPX4115。

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

以下为本设计资料展示图:

讲解视频

51单片机锅炉监测报警系统设计( proteus+程序+原理图+报告+讲解)

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

开始仿真后,调整温度变大,当温度106℃大于温度上限值105℃后蜂鸣器报警,温度上限指示灯亮起报警。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

调整温度变小,当温度4℃小于温度下限值5℃后蜂鸣器报警,温度下限红灯报警亮起。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

仿真中通过按键调整MPX4115压力传感器的值改变显示数值。调整压力变小,当压力调整到52kPa大于上限值,蜂鸣器报警,气压上限红灯报警亮起。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

调整压力变小,当压力调整到26kPa低于下限值,蜂鸣器报警,气压下限红灯报警亮起。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

仿真中通过按键调整RV2滑动变阻器模拟水位传感器的阻值随水位高低变化。上下箭头用于改变阻值的值。下箭头调低数值,上箭头调高数值。

调整水位变低,当水位调整到9CM低于下限值10CM,蜂鸣器报警,水位下限红灯报警亮起。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

调整水位变高,当水位调整到41CM高于上限值40CM,蜂鸣器报警,水位上限红灯报警亮起。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

开始仿真后,可以通过矩阵键盘的设置按键进入设置模式调整默认水位下限值、上限值、压力下限值、压力上限值、温度下限值和温度上限值。进入设置模式后LCD1602第一行显示上限值,第二行显示下限值。设置完成通过OK按键退出设置。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

以上仿真结果均符合设计要求。

3. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

mian函数:

#include "reg51.h"
#include"Ds18b20.h"
#include "ADC0832.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
sbit led1=P3^0;
sbit led2=P3^1;
sbit led3=P3^3;
sbit led4=P3^4;
sbit led5=P3^5;
sbit led6=P3^6;
//定义引脚
sbit beep=P3^7;//蜂鸣器
//公共变量
uchar time=0;
uchar mode=0;//测量模式、设置模式
//存储变量
uchar water=0;//水位
uchar press=0;//压力
int wendu=0;//温度
uchar water_L=10,water_H=40;//报警值
uchar press_L=30,press_H=50;
uchar wendu_L=5,wendu_H=105;
//显示变量
uchar hang1[]="war:000cm       ";//水位
uchar hang2[]="T:000 C P:000kPa";
uchar hang3[]="0000  ";
//矩阵键盘 无按键按下,返回0	按键值1-16
uchar key_scan()//按键检测
{
uchar i,j;
i=0;
j=0;
P1=0x0f;
if(P1!=0x0f) //检测有无按下
{
 switch(P1)//检测行
 {
  case 0x0e:i=1;break;
  case 0x0d:i=5;break;
  case 0x0b:i=9;break;
  case 0x07:i=13;
 }
 P1=0xf0;
 switch(P1)//检测列
 {
  case 0xe0:j=0;break;
  case 0xd0:j=1;break;
  case 0xb0:j=2;break;
  case 0x70:j=3;
 }
 while(P1!=0xf0);//等待按键松开
}
return i+j;	 
}

//主函数
void main()
{	
	uchar key=0;//按键值

	hang2[5]=0xdf;//圈
	Ds18b20Init();//传感器初始化
	init_1602();

	TMOD|=0X01;
	TH0=0X3C;//50ms	  (65536-50000)/256
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		 key=key_scan();//按键检测
		 if(key==13)//模式切换
		 	mode=1;
		 if(key==14)
		 	mode=0;
		 if(mode==1)//设置模式
		 {
		 	 if(key==1)//水位L加
			 {
			 	if(water_L<water_H)
					water_L++;
			 }
			 if(key==2)//水位L减
			 {
			 	if(water_L>0)
					water_L--;
			 }
			 if(key==3)//水位H加
			 {
			 	if(water_H<100)
					water_H++;
			 }
			 if(key==4)//水位H减
			 {
			 	if(water_H>water_L)
					water_H--;
			 }
			 //==================
			 if(key==5)//温度L加
			 {
			 	if(wendu_L<wendu_H)
					wendu_L++;
			 }
			 if(key==6)//温度L减
			 {
			 	if(wendu_L>0)
					wendu_L--;
			 }
			 if(key==7)//温度H加
			 {
			 	if(wendu_H<100)
					wendu_H++;
			 }
			 if(key==8)//温度H减
			 {
			 	if(wendu_H>wendu_L)
					wendu_H--;
			 }
			 //==================
			 if(key==9)//压力L加
			 {
			 	if(press_L<press_H)
					press_L++;
			 }
			 if(key==10)//压力L减
			 {
			 	if(press_L>0)
					press_L--;
			 }
			 if(key==11)//压力H加
			 {
			 	if(press_H<100)
					press_H++;
			 }
			 if(key==12)//压力H减
			 {
			 	if(press_H>press_L)
					press_H--;
			 }
		 }
	}
}
//定时器0中断
void Timer0() interrupt 1
{
	uchar i;
	if(time<10)//0.5s测量一次
		time++;
	else
	{
		time=0;
		water=ADC(1);//测量
		press=ADC(2);
		wendu=Ds18b20ReadTemp();
		//报警判断
		i=0;
		if(water>water_H)//水位超过上限值
		{
			i++;//i作为蜂鸣器报警标志位
			led2=0;//led低电平点亮
		}
		else
			led2=1;//led高电平点熄灭
		if(water<water_L)//水位低于下限值
		{
			i++;//i作为蜂鸣器报警标志位
			led1=0;//led低电平点亮
		}
		else
			led1=1;//led高电平点熄灭
		if(press>press_H)//压力
		{
			i++;
			led6=0;
		}
		else
			led6=1;
		if(press<press_L)
		{
			i++;
			led5=0;
		}
		else
			led5=1;
		if(wendu>wendu_H)//温度
		{
			i++;
			led4=0;
		}
		else
			led4=1;
		if(wendu<wendu_L)
		{
			i++;
			led3=0;
		}
		else
			led3=1;
		if(i>0)//蜂鸣器报警标志位大于1
			beep=0;//蜂鸣器响
		else
			beep=1;//蜂鸣器停
		//显示计算
		hang1[4]=water/100+0x30;//水位
		hang1[5]=water%100/10+0x30;
		hang1[6]=water%10+0x30;
		hang2[2]=wendu/100+0x30;//温度
		hang2[3]=wendu%100/10+0x30;
		hang2[4]=wendu%10+0x30;
		hang2[10]=press/100+0x30;//压力
		hang2[11]=press%100/10+0x30;
		hang2[12]=press%10+0x30;
		//显示清零
	//	write_string(1,0,"                ");
	//	write_string(2,0,"                ");
		//测量模式显示
		if(mode==0)
		{
			write_string(1,0,hang1);
			write_string(2,0,hang2);
		}
		else//设置模式显示
		{				
			//显示水位
			hang3[0]='W';//上限
			hang3[1]=water_H/100+0x30;
			hang3[2]=water_H%100/10+0x30;
			hang3[3]=water_H%10+0x30;
			write_string(1,0,hang3);
			hang3[0]=' ';//下限
			hang3[1]=water_L/100+0x30;
			hang3[2]=water_L%100/10+0x30;
			hang3[3]=water_L%10+0x30;
			write_string(2,0,hang3);
			//显示温度
			hang3[0]='T';//上限
			hang3[1]=wendu_H/100+0x30;
			hang3[2]=wendu_H%100/10+0x30;
			hang3[3]=wendu_H%10+0x30;
			write_string(1,6,hang3);
			hang3[0]=' ';//下限
			hang3[1]=wendu_L/100+0x30;
			hang3[2]=wendu_L%100/10+0x30;
			hang3[3]=wendu_L%10+0x30;
			write_string(2,6,hang3);
			//显示压力
			hang3[0]='P';//上限
			hang3[1]=press_H/100+0x30;
			hang3[2]=press_H%100/10+0x30;
			hang3[3]=press_H%10+0x30;
			write_string(1,12,hang3);
			hang3[0]=' ';//下限
			hang3[1]=press_L/100+0x30;
			hang3[2]=press_L%100/10+0x30;
			hang3[3]=press_L%10+0x30;
			write_string(2,12,hang3);
		}
	}
	TH0=0X3C;//50ms
	TL0=0XB0;
}

4. 原理图

原理图使用AD绘制,可供实物参考。

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

5. 设计报告

7506字设计报告,内容包括摘要,硬件设计、软件设计、软硬件框图、调试、结论等

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频),51单片机,51单片机,proteus,mongodb

6. 设计资料内容清单&&下载链接

资料下载链接(可点击):

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、仿真图

2、程序源码

3、开题报告

3、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

KEIL软件资料

Proteus软件资料

单片机学习资料

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url文章来源地址https://www.toymoban.com/news/detail-738970.html

到了这里,关于51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机智能输液器监控系统的设计

    ** 单片机设计介绍, 基于单片机智能输液器监控系统的设计   基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制,以下是一个基本的设计介绍: 硬件设计: 选型单片机(如STC89C52等)和相应的传感器模块(如流量传感器等)。 配置软件开发环境,如

    2024年01月25日
    浏览(47)
  • 【Proteus仿真】【Arduino单片机】水箱液位监控系统

    本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限阈值和工作模式,系统默认处于自动模式。 若检测水位高于上限,声光报警,开启抽水。若检测水位低于下限

    2024年02月20日
    浏览(44)
  • 单片机项目分享 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月16日
    浏览(70)
  • 基于stm32单片机的智能家居环境监控系统

    智能家居环境监控系统的整体电路主要由stm32单片机最小系统,光MQ-2烟雾传感器电路,红外人体检测电路,DS18B20温度传感器,LCD1602显示电路,水泵驱动电路,风扇驱动电路,LED指示灯,蜂鸣器报警电路;原理图如图: PCB如下: 1.通过MQ-2烟雾传感器及检测电路对周围环境中的

    2024年02月11日
    浏览(62)
  • 【单片机毕设选题】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月21日
    浏览(63)
  • 毕业设计 基于单片机的睡眠质量监控系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月05日
    浏览(81)
  • 【特纳斯电子】基于单片机的自习室监控系统-设计说明书

    资料查找方式: 特纳斯电子(电子校园网):搜索下面编号即可 T5042205M-LW 本论文介绍了一种基于单片机的自习室监控系统的设计与实现。该系统通过连接各种传感器和执行器,实现了显示时间、温度、湿度、座位情况等功能。用户可以通过按键进行设置,提供了便捷的操作

    2024年03月09日
    浏览(44)
  • 物联网选题分享 - 单片机森林火灾监控防护预警系统 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(59)
  • 单片机毕设 stm32智能鱼缸监控投喂系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年03月18日
    浏览(61)
  • 单片机毕设 stm32的火灾监控与可视化系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年04月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包