📄 ad9850 version2 ok.c
字号:
//*********************************************************
//File Name :AD9850.c
//Author :GHL
//Date :2007/8/6
//Desciption :AD9850的控制字串行加载程序
//
//*********************************************************
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit load=P0^1; //FQUD
sbit sclk=P0^0; //W_CLK
sbit sdata=P0^2; //DATA
/*************************AD9850显示正弦波********************************/
AD9850(float freq)
{
float fw;
uchar i,j,temp;
uchar d[5];
fw=freq*34.359738368; //Frequency Word(FW)
//Fout=MCLK*FW/2^32
d[0]=(unsigned long)fw;
d[1]=(unsigned long)fw>>8;
d[2]=(unsigned long)fw>>16;
d[3]=(unsigned long)fw>>24;
d[4]=0;
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;
}
main()
{
AD9850(1000);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -