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 + -
显示快捷键?