⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cs5532.h

📁 精密光功率的测量
💻 H
字号:
/*--------------------------------------------------------------------------
CS5532.H
自编24位AD CS5532控制命令函数
--------------------------------------------------------------------------*/

#ifndef __CS5532_H__
#define __CS5532_H__

#define		negative	1
#define		positive	0

sbit	CS5532=P1^0;	//CS5532接口
sbit	SDI=P1^1;
sbit	SDO=P1^2;
sbit	SCLK=P1^3;

bit		symbol_flag;	//正负标志位

void	cs5532_writecommand(uchar	command)
{
	uchar	data	i;
	SCLK=0;
	CS5532=0;
	for(i=0;i<8;i++)
	{
		if(((command<<i)&0x80)==(0x80))
			SDI=1;
		else
			SDI=0;
			_nop_();
			SCLK=1;
			_nop_();
			SCLK=0;
	}
}

long	cs5532_readdata(void)
{
	uchar	data	i;
	ulong	data	read_data=0;
	SDO=1;
	SCLK=0;
	SDI=0;
	CS5532=0;
	while(SDO==1);
	_nop_();
	for(i=0;i<8;i++)
	{
		SDI=0;
		SCLK=1;
		_nop_();
		SCLK=0;
	}
	for(i=0;i<32;i++)
	{
		read_data=read_data<<1;
		SCLK=0;
		_nop_();
		SCLK=1;
		if(SDO==1)
			read_data=read_data|0x01;
		else
			read_data=read_data|0x00;
		_nop_();
	}
	read_data=read_data>>8;
	if((read_data&0x00800000)==0x00800000)
	{
		symbol_flag=negative;
		read_data=~read_data;
		read_data=read_data&0x00ffffff;
		read_data=read_data+1;
	}
	else
		symbol_flag=positive;
	return(read_data);
}

void	cs5532_initialize(void)
{
	uchar	data	i;
	for(i=0;i<15;i++)
	cs5532_writecommand(0xff);
	cs5532_writecommand(0xfe);   //初始化模数转化器
	_nop_();_nop_();_nop_();
	cs5532_writecommand(0xc0);
}

#endif

⌨️ 快捷键说明

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