messure.c

来自「系统按键显示都具有,不同的I/O口,具有很大的参考价值」· C语言 代码 · 共 96 行

C
96
字号
#include <messure.h>

void Init7710()
{
	//初始化7710,向7710写控制字
	//普通测量模式,放大倍数待定,通道0,电源正常,字长24位,输出电流源关,熔断电流源关,单极输入,滤波参数最大
	//则控制字为00 8f ff
	long ControlWord;
	ControlWord = 0x2C804E;
	WriteControlRegister(ControlWord);
}

long ReadMessureData()
{
//	unsigned char TData[3];
	long tdata;
	unsigned char i;
	tdata=0;
	EA = 0;
	DRDY = 1;
	A0 = 1;
	TFS = 1; 
	RFS = 0;
	SCLK = 0;
	while(DRDY);
	if (DRDY==0)
	{
		for(i=0;i<24;i++)
		{
			tdata=tdata<<1;
			SDATA = 1;
			SCLK = 1;
			SCLK = 0;
			if (SDATA == 1)
				tdata = tdata + 1 ;
		}
	}
	RFS = 1;
	TFS = 1;
	A0 = 1;
	EA = 1;
	Delay(200);
	return tdata;
}
long ReadControlWord()
{
//	unsigned char TData[3];
	long tdata;
	unsigned char i;
	tdata=0;
	A0 = 0;
	TFS = 1; 
	RFS = 0;
	SCLK = 0;
	for(i=0;i<24;i++)
	{
		tdata=tdata<<1;
		SDATA = 1;
		SCLK = 1;
		if (SDATA == 1)
			tdata = tdata + 1 ;
		SCLK = 0;
	}
	RFS = 1;
	A0 =1;
	Delay(200);
	return tdata;
}

void WriteControlRegister(long ControlWord)
{
	unsigned char i;
	long temp;
	temp = 0;
	A0 = 0;
	RFS = 1;
	TFS = 0;
	SCLK = 0;
	for(i=24;i>0;i--)
	{	
			temp = ControlWord>>(i-1);
			SDATA =(bit)(temp&0x00000001);
			SCLK = 1;
			SCLK = 0;
	}
	A0 = 1;
	RFS = 1;
	TFS = 1;
	Delay(2000);
}

void Delay(unsigned int time)
{
	while(time--){;}
}

⌨️ 快捷键说明

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