pt100_init.c

来自「温度仪表软件」· C语言 代码 · 共 62 行

C
62
字号
#include"reg52.h"

#include"my_type.h"
#include"function.h"  
#include"global_var.h"	   
#include"interface.h"

/****向EEPROM中写斜率K和内码值AD****/
void pt100_init()
{
	float *p;
	uchar i,addr;
	for(i=0;i<5;i++)
	{	
		p = &pt100_K[4*i];
		addr = 0x00+16*i;
		write_nbyte(0xa0,addr,(uchar*)p,16);  // 斜率K
		delay(50);
	}
	for(i=0;i<3;i++)
	{	
	    uint *s;
		s= &pt100_AD[8*i];
		addr = 0x50+16*i;	  // 每页EEPROM的个数用十六进制表示
		write_nbyte(0xa0,addr,(uchar*)s,16);   //内码值AD
		delay(50);
	}		
}
/*****从EEPROM中读四个字节****/
pt100_read4(uchar addr)
{
	float temp4;
	float *p;
	read_nbyte(0xa1,addr,(uchar*)p,4);
	temp4=*p;	
	return temp4;
}
/*****从EEPROM中读两个字节****/
pt100_read2(uchar addr)
{
	uint temp2;
	uint *s;
	read_nbyte(0xa1,addr,(uchar*)s,2);
	temp2 = *s;	
	return temp2;
}
/*****将内码值转换成温度值****/
void pt100_shift(ad_num)
{		  
	uint a,b,i;
	float c;
	for(i=0;i<17;i++)
	{
		a=pt100_read2(0x50+2*i);
		b=pt100_read2(0x52+2*i);
		c=pt100_read4(0x00+4*i);
		if(a<ad_num && ad_num<b)
	   		{
	  		 	ad_temp=(ad_num-a)*c+(-50)+10*i;
	   	   	}
	  }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?