📄 9851.c
字号:
#include<regx51.h>
#include <intrins.h>
sbit FQ_UD_AD9851=P3^2;
sbit CLK_AD9851=P3^1;
sbit RST_AD9851= P3^0;
unsigned long int freq = 0;
//unsigned char Control_AD9851 = 0x09; // Phase0 ,power down mode and 6 REFCLK Multiplier enable
//unsigned char Control_AD9851 = 0x00; // Phase0 ,power on mode and 6 REFCLK Multiplier disable
unsigned char Control_AD9851 = 0x80; // Phase0 ,power on mode and 6 REFCLK Multiplier enable
unsigned char W1=0X0e;
unsigned char W2=0X38;
unsigned char W3=0Xe3;
unsigned char W4=0X8e;
void Parallel2Serial_AD9851(void)
{ FQ_UD_AD9851=0;
CLK_AD9851=0;
P1=Control_AD9851;
CLK_AD9851=1;
CLK_AD9851=0;
P1=W1;
CLK_AD9851=1;
CLK_AD9851=0;
P1=W2;
CLK_AD9851=1;
CLK_AD9851=0;
P1=W3;
CLK_AD9851=1;
CLK_AD9851=0;
P1=W4;
CLK_AD9851=1;
CLK_AD9851=0;
FQ_UD_AD9851=1;
FQ_UD_AD9851=0;
}
void Set_Freq(float Freqency)
{
freq= (unsigned long int)(23.861*Freqency); // SYSCLK = 180 MHz
W4=(unsigned char)freq&0xff;
freq=freq>>8;
W3=(unsigned char)freq&0xff;
freq=freq>>8;
W2=(unsigned char)freq&0xff;
freq=freq>>8;
W1=(unsigned char)freq&0xff;
Parallel2Serial_AD9851();
}
void main(void)
{RST_AD9851=1;
RST_AD9851=1;
RST_AD9851=1;
RST_AD9851=0;
while(1)
{
Set_Freq(1000);//输出1KHZ频率
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -