volcontrol.c

来自「采用AD9851设计的一个产生50M 方波」· C语言 代码 · 共 105 行

C
105
字号
//volcontrol.c

#include "volcontrol.h"

#define SCALE 20

void delay2(void)
{
	unsigned char i=255;
	for (;i>0;i--);
}


void Outdat(int Data)
{
	unsigned char i;

	DA_DI = 0;


	Data = Data <<2;

	DA_CS = 1;
	DA_CLK = 0;
	delay2();
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();

	DA_CS = 0;
//////////////////////////////////////////////
//送出4个高字节
	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();
		
	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();

	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();
		
	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();
//////////////////////////////////////////////
	Data = Data<<4;
	for (i= 0 ; i < 10; i++)
	{
		if ( (Data & 0x8000) == 0x8000 )
			DA_DI = 1;
		else DA_DI = 0;

		Data = Data<<1;

		DA_CLK = 1;
		delay2();
		DA_CLK = 0;
		delay2();
	}

	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();
		
	DA_DI = 0;
	DA_CLK = 1;
	delay2();
	DA_CLK = 0;
	delay2();

	DA_CS = 1;


}

void SetVoltage(int v)
{
	int Data;

	Data = v / SCALE;
	
	if (Data>1024)
		Data = 1024;





	Outdat(Data);
}

⌨️ 快捷键说明

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