基于51单片机的锅炉水位温度压力检测系统仿真设计

发布者:快乐家庭最新更新时间:2024-03-15 来源: elecfans关键字:51单片机 手机看文章 扫描二维码
随时随地手机看文章

仿真图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。

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

2.仿真结果

开始仿真

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

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

48104c7a-78b4-11ee-939d-92fbcf53809c.jpg

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

482c4e7a-78b4-11ee-939d-92fbcf53809c.jpg

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

485401d6-78b4-11ee-939d-92fbcf53809c.jpg

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

4870affc-78b4-11ee-939d-92fbcf53809c.jpg

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

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

4890951a-78b4-11ee-939d-92fbcf53809c.jpg

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

48b98f92-78b4-11ee-939d-92fbcf53809c.jpg

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

48e40ce0-78b4-11ee-939d-92fbcf53809c.jpg

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

程序代码

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

494ade8e-78b4-11ee-939d-92fbcf53809c.jpg

原理图

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

49a84ca4-78b4-11ee-939d-92fbcf53809c.jpg

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

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

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

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

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

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


关键字:51单片机 引用地址:基于51单片机的锅炉水位温度压力检测系统仿真设计

上一篇:AT89S51单片机是什么?
下一篇:基于51单片机的电子钟闹钟温度显示设计

推荐阅读最新更新时间:2024-11-20 14:04

51单片机,C语言编程,控制指示灯闪烁的频率
c51单片机,c语言编程,关于指示灯定时闪烁的。 P1.0 P1.1 P1.2 P1.3上面各接有一个指示灯,P2.0接一个外接按键。 要求: 按一下按键P1.0以1Hz的频率闪烁 半周期为500ms 第二次按下按键P1.1以2Hz的频率闪烁 半周期为250ms 第三次按下按键P1.2以3Hz的频率闪烁 半周期为165ms 第四次按下按键P1.3以4Hz的频率闪烁 半周期为125ms 第五次按下按键P1.0以1Hz的频率闪烁 半周期为500ms 如此循环。 单片机外接6MHz晶振,如何写这个程序? 悬赏分:30 本程序有实用价值,在不同的工作状态,以不同的速度闪烁,可表现出不同的紧急程度。 系统的晶振是6MHz,则机器周
[单片机]
<font color='red'>51单片机</font>,C语言编程,控制指示灯闪烁的频率
AT89C2051单片机对足浴器温度控制系统的设计
足浴器的设计难点在于成本控制和温度控制系统的设计。近年来,开关电源技术的逐渐成熟,为小功率电源供电提供了一个高效率且低成本的方案,摒弃了传统的变压器降压、整流、三端稳压的低效率供电方式。而通过软件算法完善,例如PID算法的运用,可减少部分硬件开销,降低成本及系统复杂度,提高系统的稳定性。设计结合以上技术,着眼于成本最小化,性能最大化,实现了LED温度显示,双按键目标温度调节,高精度温控功能。由于主控芯片AT89C2051只有两组共16个IO引脚,2 kB的内存,因此需合理运用IO资源,程序设计简洁,合理分配内存空间。 1 系统结构设计 系统由供电、采样、按键、显示及单片机部分组成。 传感器负责采集温度值,传递给MCU,目标
[单片机]
AT89C20<font color='red'>51单片机</font>对足浴器<font color='red'>温度</font>控制系统的设计
8051单片机实战分析(以STC89C52RC为例) | 06 - 动态数码管驱动
1 动态扫描 那什么是动态扫描呢? 举个例子:有 2 个数码管,我们要显示“12”这个数字,可以先让高位的位选三极管导通,然后控制段选让其显示“1”,延时一定时间后再让低位的位选三极管导通,然后控制段选让其显示“2”。把这个流程以一定的速度循环运行就可以让数码管显示出“12”,由于交替速度非常快,人眼识别到的就是“12”这两位数字同时亮了。 在多个数码管显示数字的时候,我们可以轮流点亮数码管(一个时刻内只有一个数码管是亮的),利用人眼的视觉暂留现象(也叫余辉效应),就可以做到看起来是所有数码管都同时亮了,这就是动态显示,也叫做动态扫描。 那么一个数码管需要点亮多长时间呢?也就是说要多长时间完成一次全部数码管的扫描呢(很
[单片机]
80<font color='red'>51单片机</font>实战分析(以STC89C52RC为例) | 06 - 动态数码管驱动
51单片机实现8x8LED灯阵动态显示移动文字
我用的是普众科技51单片机,其他品牌的也行,只不过需要改下串口 话不多说,先上代码。 //test1.h #include reg51.h #include intrins.h typedef unsigned char u8; typedef unsigned int u16; sbit SRCLK=P3^6; sbit RCLK =P3^5; sbit SER =P3^4; void delay(u16 i); void DisPlay(); void Hc595SendByte(u8 dat); void moveP(); //hanshu.c #include test
[单片机]
8051单片机外扩ROM
首先,我们必须知道外扩ROM的地址,因为8051单片机采用了统一编址,无论是什么样的外部设备,都有一个地址。在这里外扩一片2764(8KB的ROM)。具体的电路图按照如下方式连接。ALE锁存信号接锁存器373的LE端。PSEN信号接2764的选通端。 在这里我们可以看到片外ROM的地址是0000H——1FFFH.片内只有4KB的ROM,地址是0000H——0FFFH。我们写一段测试代码,代码的功能是让P1.0接的LED灯闪烁。我们的代码从1000H这个地址起,也就是说,放在了外部ROM中。代码如下。 ;=============================================================
[单片机]
80<font color='red'>51单片机</font>外扩ROM
51单片机驱动DS12C887的时钟芯片C语言程序
本程序旨在读出DS12C887的时间,显示部分只做了分和秒的部分,已通过测试,详细注释很好用的。 #include absacc.h #include reg51.h #define uchar unsigned char #define MCA XBYTE /*寄存器A*/ #define MCB XBYTE /* 寄存器B*/ #define MCC XBYTE /* 寄存器C*/ #define MCD XBYTE /*寄存器D */ #define HOURW XBYTE /*时报警*/ #define SECONDW XBYTE /*秒报警*/ #define YEAR XB
[单片机]
51单片机阳历转农历(仅仅是阳历转阴历例程)
之前要做一个万年历,从论坛上辗转多处,最终发现以下这个阳历转换阴历的程序比较简单,数据带入可以直接使用,不过测试发现转换有问题,后面进行仿真调试找到问题所在,从而进而修改。不知道是我复制出错,还是自己不经意间修改才导致问题出现,已经修复,需要阳历转阴历的可以拿去。找不到具体来源,因此无法标志引用链接地址,如有侵权,联系删除。 问题所在:在SPDATE GetSpringDay(uchar GreYear,uchar GreMon,uchar GreDay)函数里面的参数定义,把Offset1定义为uchar类型,后面计算时Offset1数值溢出,将uchar改为uint后,数据不在溢出,进行上机测试,转换成功。 //公曆轉農曆(
[单片机]
基于51单片机的超声波测距系统的研究与设计
在日常生产生活中,很多场合如汽车倒车、机器人避障、工业测井、水库液位测量等需要自动进行非接触测距。超声波是指频率大于20 kHz的在弹性介质中产生的机械震荡波,其具有指向性强、能量消耗缓慢、传播距离相对较远等特点,因此常被用于非接触测距。由于超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力,此外超声波测量在实时、精度、价格也能得到很好的折衷。 为此,文中尝试以单片机AT89S52为核心,利用一对40 kHz压电超声传感器设计一款体积较小、价格低廉、精度较高、具有温度补偿、实时LCD显示和报警的超声波测距仪。 1 超声波测距原理 超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端
[单片机]
基于<font color='red'>51单片机</font>的超声波测距系统的研究与设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved