📄 ad9850.h
字号:
/*----------------------------------------------
heat file name ad9850.h
dds chip is ad8950
----------------------------------------------*/
// ad9850 init
void AD9850_init(void)
{
Set_DDSRST;
Clr_DDSRST;
}
/* dds_freq()*/
void DDS_Freq(unsigned char Fq_Word[5])
{
char i ;
unsigned char Mid_Value,Mid_Value1 ;
Clr_FQ_UD ;
for(i=0;i<5;i++)
{
//线路板上DDSD3和DDSD4画反了,所以 //rpdatf4 >> rpdatf3 //rpdatf3 >> rpdatf4
/*
Mid_Value = Fq_Word[i] ;
Mid_Value1 = Fq_Word[i] ;
Mid_Value &= 0x08 ;
if ( Mid_Value ) bitset(Fq_Word[i],4);
else bitclr(Fq_Word[i],4);
Mid_Value1 &= 0x10 ;
if (Mid_Value1 ) bitset(Fq_Word[i],3);
else bitclr(Fq_Word[i],3);
*/
rPDATF = Fq_Word[i] ;
Set_W_CLK ;
Clr_W_CLK ;
}
Set_FQ_UD ;
}
/*------------------------------------------
Fq_change()
Fq_Value * 214 = to 9850 freq_Word
-------------------------------------------*/
void Freq_Change(unsigned long Fq_Value)
{
unsigned char Fq_Word[5];
char i ;
unsigned char Mid_Value,Mid_Value1 ;
/*
unsigned long Mid ;
float Mid_Val ;
Mid_Val = Fq_Value / 1000000 ;
Mid = Mid_Val * 4294967295 ;
Mid_Val = Mid/20 ;
Fq_Value = Mid_Val * 1000000 ;
*/
Fq_Value = Fq_Value * 214 ;
Fq_Word[0] = 0 ;
/*
Fq_Word[1] = (Fq_Value & 0xff000000)>>24 ;
Fq_Word[2] = (Fq_Value & 0x00ff0000)>>16 ;
Fq_Word[3] = (Fq_Value & 0x0000ff00)>>8 ;
Fq_Word[4] = (Fq_Value & 0x000000ff) ;
*/
Fq_Word[1] = 0x06 ;
Fq_Word[2] = 0x60 ;
Fq_Word[3] = 0xB0 ;
Fq_Word[4] = 0xC0 ;
//CC16180 1MHZ
//660B0C0 0.5MHZ
DDS_Freq(Fq_Word);
}
/*
100 0101 1100 1100 0010 1010 0000
100 | 0101 1100 | 1100 1010 | 1111 1100 342.01khz
110 | 0110 0000 | 1011 0000 | 1100 0000 500.00khz
110 | 0110 0000 | 1010 1000 | 1100 0000
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -