虚心请教max6675测量抖动和误差大的问题

2020-01-26 13:06发布

最近需要用到温度检测,百度了一下发现max6675口碑不错就买了样片做实验。
用的51单片机,按照手册上说的连好。
测温函数自己写的,如下。
unsigned int Read_Temperature()
{
unsigned int getdata=0;
unsigned char i;

SCK=0;
CS=0;
SCK=1;//nop for bit 15
SCK=0;//nop for bit 15

for(i=0;i<12;i++)
        {
                SCK=1;
                getdata*=2;
                getdata=getdata|SO;
                SCK=0;
        }
CS=1;
return(getdata);
}
大约每秒读两次。
我现在的实际温度大约二十几度(没有温度计,凭身体感觉),显示一直是三十多,而且跳动,跳动幅度好几度。
按手册上说,这个ic的分辨率有0.25度,我的气温也比较稳定,不应该出这个现象啊。
请高手帮忙看看怎么回事,第一,温度偏差好几度,第二,输出温度值跳动。

输出数据 (原文件名:未命名.JPG)


单片机 (原文件名:照片0949.jpg)


6675 (原文件名:照片0950.jpg)


热电偶 (原文件名:照片0951.jpg)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。