加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
登录/注册
立即注册,领取新人专属福利!
  • 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于51单片机的水泵【热效率,LCD1602,热电偶,上下限】(仿真)

2024/12/30
1147
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

有需要资料的可了解一下.docx

共1个文件

主要是用两个E型热电偶测量水泵进出口温差,温差传给单片机(有水泵效率的经验公式)用单片机程序算出效率并显示出来。

主要硬件是两个E型热电偶,分别接MAX31855芯片通信AT89C52,然后通过单片机编程算出效率再显示效率。设置效率的范围,要是超出范围就报警。

#include "MAX31855.h"
#include "intrins.h"

//最高位是符号	 TCE
//返回温度,精度0.01
float max_read1() //发送i到addr
{
	uchar i;
	uint k=0;
	float j=0;
	max_sck1=0;
	k=0;
	_nop_();
	max_cs1=0;
	for(i=0;i<16;i++)
	{
		max_sck1=1;
		_nop_();
		if(max_so1)
			k++;
		max_sck1=0;
		k<<=1;
		_nop_();
	}	
	max_cs1=1;
	if((k & 0x8000)>0)//负数
	{
		i=1;
		k=k & 0x7fff;
		k=k>>2;
		k=~k;//反码加一
		k++;
		j=k;
		j=-j;
	}
	else
	{
		k>>=2;
		j=k;
	}
	//计算温度,误差0.5%
	j=j*0.151-23.626;
	return j;
}

//最高位是符号	 TCE
//返回温度,精度0.01
float max_read2() //发送i到addr
{
	uchar i;
	uint k=0;
	float j=0;
	max_sck2=0;
	k=0;
	_nop_();
	max_cs2=0;
	for(i=0;i<16;i++)
	{
		max_sck2=1;
		_nop_();
		if(max_so2)
			k++;
		max_sck2=0;
		k<<=1;
		_nop_();
	}	
	max_cs2=1;
	if((k & 0x8000)>0)//负数
	{
		i=1;
		k=k & 0x7fff;
		k=k>>2;
		k=~k;//反码加一
		k++;
		j=k;
		j=-j;
	}
	else
	{
		k>>=2;
		j=k;
	}
	//计算温度,误差0.5%
	j=j*0.151-23.626;
	return j;
}

资料借鉴于此纷传

  • 有需要资料的可了解一下.docx
    下载
点赞
收藏
评论
分享
加入交流群
举报

相关推荐