91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: 其他
  • 標簽: AD9852??DDS??

資源簡介

完整的AD9852程序。。。。。。。。。。。 適合初學者,簡單易懂。。。

資源截圖

代碼片段和文件信息

#include?“main/main.h“
u8?ftw1[6]ftw2[6];
void?delayUs(long?t)
{
t?=?t?/?3;
while(t?--);
}
#define?nop(t)??delayUs(t)
void?delay_main(unsigned?int?mdelay_main) //延時子程序
{ unsigned?int?i;
for(;mdelay_main>0;mdelay_main--)
{ for(i=0;i<120;i++)
{;}
}
}?

void?set_freq(float?xfloat?y)
{
u8?k;
float?ftwtemp;
ftw=(x*coeff)/200;
for(k=9;k>3;k--)//計算頻率1的控制字
{
temp=floor(ftw/256);//取商
temp=ftw-temp*256;//取余
ftw1[k-4]=(u8)temp;//轉換成十六進制單片機寄存器最高位對應頻率控制字最低位
ftw/=256;
}
ftw=(y*coeff)/200;
for(k=9;k>3;k--)//計算頻率2的控制字
{
temp=floor(ftw/256);//取商
temp=ftw-temp*256;//取余
ftw2[k-4]=(u8)temp;//轉換成十六進制單片機寄存器最高位對應頻率控制字最低位
ftw/=256;
}
// for(k=0;k<6;k++) //寫頻率控制字1
// *(??? ????????????????????(&dds1)????+k*256)=ftw1[k];
// for(k=0x00;k<0x06;k++)//寫頻率控制字2
// *(??? ????????????????????(&dds2)????+k*256)=ftw2[k];
//取最終的地址的內容 取地址???地址加i

//寫頻率控制字1??
*((&dds1)??)=ftw1[0];
*((&dds2)????)=ftw1[1];
*((&dds3)????)=ftw1[2];
*((&dds4)????)=ftw1[3];
*((&dds5)????)=ftw1[4];
*((&dds6)???)=ftw1[5];
//寫頻率控制字2
*((&dds7)??)=ftw2[0];
*((&dds8)????)=ftw2[1];
*((&dds9)????)=ftw2[2];
*((&dds10)????)=ftw2[3];
*((&dds11)????)=ftw2[4];
*((&dds12)???)=ftw2[5];
}
void?Updata_Deltaword(void)
{?
// u8?k;
unsigned?char??deltaword[6]={0x000x800x000x000x000x00};?//40bit?=?585.9khz
//for(k=0;k<6;k++) //寫頻率控制字1
//*(??? ????????????????????(&delta)????+k)=deltaword[k];
??? //寫48位斜率計數器值
*((&delta1)?? )=deltaword[5];
*((&delta2)???? )=deltaword[4];
*((&delta3)???? )=deltaword[3];
*((&delta4)??? )=deltaword[2];
*((&delta5)???? )=deltaword[1];
*((&delta6)?? )=deltaword[0];
}
void?Updata_Ramprateword(void)
{
unsigned?char??ramprateword[3]={0x000x750x30};?????//?時間步進?現取100us?最大6990.506us
//寫Ramp?Rate寄存器的值
*((&ramp_rate1)??)=ramprateword[2];
*((&ramp_rate2)??)=ramprateword[1];
*((&ramp_rate3)??)=ramprateword[0];

}
void?set_phase(u16?xu16?y)
{
u8?phase_word1[2]phase_word2[2];
phase_word1[1]=x%256;
phase_word1[0]=(x/256)%256;
phase_word2[1]=y%256;
phase_word2[0]=(y/256)%256;
//寫相位值1
*((&phase1)??)=phase_word1[0];
*((&phase2)??)=phase_word1[1];
//寫相位值2
*((&phase3)??)=phase_word2[0];
*((&phase4)??)=phase_word2[1];
// for(k=0;k<2;k++)
// *(??? ????????????????????(&phase1)????+k)=phase_word1[k];
//取最終的地址的內容 取地址???地址加i
// for(k=0;k<2;k++)
// *(??? ????????????????????(&phase2)????+k)=phase_word2[k];
}
void?bpsk(void)
{
reset=1;nop(200);reset=0;
pll=0x14;//5倍頻
osk=0x40;

評論

共有 條評論