ad9850.c

来自「DDS模块 EWB Quartus2编译 电子综合设计试验箱程序」· C语言 代码 · 共 51 行

C
51
字号
//*********************************************************
//File Name  :AD9850.c
//Author     :HCH 
//Date       :2005/8/25
//Desciption :AD9850的控制字串行加载程序
//			  d[0]..d[3]为32频率控制字,d[4]为0不用改
//*********************************************************

#include<reg51.h>
#define uchar unsigned char 
#define uint  unsigned int 

//修改引脚定义
sbit load=P2^0;	  //FQUD
sbit sclk=P2^1;	  //W_CLK
sbit sdata=P2^2;  //DATA


main()
{
    uchar i,j,temp;
	uchar d[5]={0x00,0x04,0xa,0x1,0}; //Frequency Word(FW)
                                      //FW=d[3]<<24+d[2]<<16+d[1]<<8+d[0]
	                                  //Fout=MCLK*FW/2^32
    load=0;	
	sclk=0;	
	sclk=1;
	sclk=0;
	load=1;
	load=0;

	for(i=0;i<5;i++)
	{
	    temp=d[i];
	    for(j=0;j<8;j++)
		{
		    sclk=0;
			if(temp&1) sdata=1;
			else sdata=0;
			sclk=1;
			temp=temp>>1;
		 }
	  }
	  load=1;
	  load=0;
	  while(1);
}
			


⌨️ 快捷键说明

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