ad9850-c程序-设计源代码_第1页
ad9850-c程序-设计源代码_第2页
ad9850-c程序-设计源代码_第3页
ad9850-c程序-设计源代码_第4页
ad9850-c程序-设计源代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页ad9850-c程序-设计源代码ad9850-c程序-源代码

#include

#include

floatl,m,n,q,z;

doublek;

//定义管脚

#definedata_OUTP1

sbitFQ_UD=P3^0;//AD9850信号更新申请

sbitW_CLK=P3^1;

sbitFESET="P3"^2;//写控制字时钟

unsignedcharCON_word[5];

//Worddata[7]data[6]data[5]data[4]data[3]data[2]data[1]data[0]

//W0PhasebPhaseb3Phaseb2Phaseb1Phaseb0PowerDownControlControl

//W1Freq-b31Freq-b30Freq-b29Freq-b28Freq-b27Freq-b26Freq-b25Freq-b24

//W2Freq-b23Freq-b22Freq-b21Freq-b20Freq-b19Freq-b18Freq-b17Freq-b16

//W3Freq-b15Freq-b14Freq-b13Freq-b12Freq-b11Freq-b10Freq-b9Freq-b8

//W4Freq-b7Freq-b6Freq-b5Freq-b4Freq-b3Freq-b2

//

//函数名称:delay

//入口参数:N

//函数功能:延时子程序,实现(16*N+24)us的延时

//系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动

//

//voiddelay(unsignedintN)

//{

//inti;

//for(i=0;i//}

//

//

/*******************************************************/

voidFreq_Adjust(longvalue_Freq)

{

unsignedinti;

longf;

unsignedcharL4,L3,L2,L1,L0;

FQ_UD=0;

f="value"_Freq*86;

L0=0x28;

L4=f

L3=(f>>8)

L2=(f>>16)

L1=(f>>24)

CON_word[0]=L0;

CON_word[4]=L4;

CON_word[3]=L3;

CON_word[2]=L2;

CON_word[1]=L1;

FQ_UD=0;

W_CLK=0;

//delay(0);

_nop_();_nop_();_nop_();_nop_();_nop_();

CON_word[0]=CON_word[0]//置工作方式选择位为00

for(i=0;i=0

Delay1ms(150);

break;

}

}

if(m>=0

}

if(z==14)

{

gotoBEGAIN;

}

if(z==15)

{

GotoXY(0,1);

Print(

GotoXY(9,1);

Print("OK!!");

Delay1ms(1000);

break;

}

if(l==1)

{k=z;}

if(l==2)

{

k="k"*10+z;

}

if(l==3)

{

k="k"*10+z;

}

if(l==4)

{

k="k"*10+z;

}

if(l==5)

{

k="k"*10+z;

}

if(l==6)

{

k="k"*10+z;

}

if(l==7)

{

k="k"*10+z;

}

if(l==8)

{

k="k"*10+z;

}

if(l>8||k>25000000)

{

GotoXY(0,1);

Print("ERROR!!");

Delay1ms(500);

gotoBEGAIN;

}

IntToStr(k,

GotoXY(0,1);

Print(

P2=0XF0;

Delay1ms(150);

}

FQ_UD=0;

Freq_Adjust(k);

while(1)

{

GotoXY(0,0);

Print("THEPLDISPLAY");

IntToStr(k,

GotoXY(0,1);

Print(

m="keynum"();

if(m==10)

{Delay1ms(300);

if(k>=30000000){k=30000000;}

else{k="k"+1000;}

}

if(m==11)

{Delay1ms(300);

if(k<=0){k=0;}

else{k=k-1000;}

}

if(m==14)

{

gotoBEGAIN;

}

}

}

AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合

成。可编程DDS系统的核心是相位累加器,它由一个加法器和一个N位相位寄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论