我增大采样间隔时间也是不行,不知道是怎样的原因,请各位大神帮我分析分析。
10 个解决方案
#1
这个芯片只有在CS为高的时候,才进行温度转换,检查程序是否在读完数据后,让cs变高
#2
在程序中,一次转换完毕之后,CS确定为0,而且在Proteus中仿真的可以了。
#3
以下是我写的程序:
/***************************************************************************************/
void Max6675_Init(void)
{
T_CS=1;
T_CLK=0;
}
/***************************************************************************************/
uint Read_Max6675(void)
{
uint date;
uchar i;
uchar k;
T_CS=0;
Delay(20);
for(i=16;i>0;i--)
{
Delay(20);
T_CLK=1;
Delay(20);
k=T_SO;
date|=(k<<(i-1));
k=0;
T_CLK=0;
Delay(20);
}
T_CS=1;
T_CLK=0;
return(date);
}
/***************************************************************************************/
float Max6675_Process(uint date)
{
float value;
date&=0x7fff;
date>>=3;
value=date*0.25;
return (value);
}
/***************************************************************************************
#4
打错了,确定为1
#5
T-要接地
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
#6
T-要接地
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
问题终于解决了,软件没有太大的 问题,解决的办法是:加更大的采样间隔时间,就可以了。
#7
恭喜lz
#8
大家好!我的MAX6675 低位不正常。室温,就显示125左右。
怎么解决,我的是 500MS 读一次温度。
怎么解决,我的是 500MS 读一次温度。
#9
需要您的帮助QQ2032897425 读取温度不稳定
#10
楼主能程序发给我一份吗?我也遇到了同样的问题......
#1
这个芯片只有在CS为高的时候,才进行温度转换,检查程序是否在读完数据后,让cs变高
#2
这个芯片只有在CS为高的时候,才进行温度转换,检查程序是否在读完数据后,让cs变高
在程序中,一次转换完毕之后,CS确定为0,而且在Proteus中仿真的可以了。
#3
这个芯片只有在CS为高的时候,才进行温度转换,检查程序是否在读完数据后,让cs变高
以下是我写的程序:
/***************************************************************************************/
void Max6675_Init(void)
{
T_CS=1;
T_CLK=0;
}
/***************************************************************************************/
uint Read_Max6675(void)
{
uint date;
uchar i;
uchar k;
T_CS=0;
Delay(20);
for(i=16;i>0;i--)
{
Delay(20);
T_CLK=1;
Delay(20);
k=T_SO;
date|=(k<<(i-1));
k=0;
T_CLK=0;
Delay(20);
}
T_CS=1;
T_CLK=0;
return(date);
}
/***************************************************************************************/
float Max6675_Process(uint date)
{
float value;
date&=0x7fff;
date>>=3;
value=date*0.25;
return (value);
}
/***************************************************************************************
#4
这个芯片只有在CS为高的时候,才进行温度转换,检查程序是否在读完数据后,让cs变高
在程序中,一次转换完毕之后,CS确定为0,而且在Proteus中仿真的可以了。
打错了,确定为1
#5
T-要接地
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
#6
T-要接地
T_CS=1;
T_CLK=0;
这两句顺序应该对调,
T_CLK=0;
_nop_();
T_CS=1;
另外延时不需要那么长时间
问题终于解决了,软件没有太大的 问题,解决的办法是:加更大的采样间隔时间,就可以了。
#7
恭喜lz
#8
大家好!我的MAX6675 低位不正常。室温,就显示125左右。
怎么解决,我的是 500MS 读一次温度。
怎么解决,我的是 500MS 读一次温度。
#9
需要您的帮助QQ2032897425 读取温度不稳定
#10
楼主能程序发给我一份吗?我也遇到了同样的问题......