大家好:
最近做多路温度测量装置,用K型热电偶,我想用MAX6675做测量信号转换,可以省很多事!
MAX接线电路就是这样:下面是链接
http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=MAX6675&in=27083&cl=2&lm=-1&pn=8&rn=1&di=39066360255&ln=258&fr=&fmq=&ic=0&s=&se=&sme=0&tab=&width=&height=&face=0#
问题:???
1.我T-引脚不接地,也就是不能判断热电偶是否短线时,测量值正确,漂在十度左右,漂是不是有点大,
我就在电源上加了个电容,漂还是那样???
2.我把T-引脚接地,也就是加上了判断热电偶是否短线,判断功能是有了,可以判断出是不是接了热电偶,
但是,温度测量值不对了,变小了(好像是小了冷端补尝了),怎么会事,怎么会这样???
谢各位高手...指点!!!我是不是哪里做的不对了,在线等候......在线等候......
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#include <c8051f340_2.h>
extern void Delay(void);
unsigned char MAX6675_H;
unsigned char MAX6675_L;
/*F*****************************************************************************
* PARAMS: void
*
* return: void
*-------------------------------------------------------------------------------
* PURPOSE: 函数
*-------------------------------------------------------------------------------
* NOTE:
*******************************************************************************/
void MAX6675CS_ID(unsigned char CS_CH)
{
switch(CS_CH)
{
case 1:
CS1 = 1;
break;
case 2:
CS2 = 1;
break;
case 3:
CS3 = 1;
break;
case 4:
CS4 = 1;
case 5:
CS5 = 1;
case 6:
CS6 = 1;
default:
NSSMD0 = 1; // Activate Slave Select
break;
}
}
/*F*****************************************************************************
* PARAMS: void
*
* return: void
*-------------------------------------------------------------------------------
* PURPOSE: 函数
*-------------------------------------------------------------------------------
* NOTE:
*******************************************************************************/
void MAX6675_Read (unsigned char CS_CH_ID)
{
// unsigned int SPI_data;
// Step1: READ MSB
MAX6675CS_ID(0,CS_CH_ID);
Delay();
SPI0DAT = 0x03;
while (!SPIF);
SPIF = 0;
MAX6675_H = SPI0DAT;
Delay();
// Step2: READ LSB
SPI0DAT = 0xC2;
while (!SPIF);
SPIF = 0;
MAX6675_L = SPI0DAT;
// Step3:
Delay();
MAX6675CS_ID(1,CS_CH_ID);
}
一周热门 更多>