欢迎来到天天文库
浏览记录
ID:1660309
大小:324.00 KB
页数:7页
时间:2017-11-12
《基于ad9854的dds外围电路设计和程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图为AD9854外围电路!以下是AD9854的控制程序!//#include #include "sst89x5xxrd2.h"#include #define USE_KEY 0#def
2、ine uchar unsignedchar#define uint unsignedint#define schar signedchar#define sint signedint#define ulong unsignedlongint//须主程序定义的参数/sbit ADDR0 =P2^0; //sbit ADDR1 =P2^1; //sbit ADDR2 =P2^2; //sbit ADDR3 =P2^3;
3、 //sbit ADDR4 =P2^4; //sbit ADDR5 =P2^5; ///sbit AD_FUD =P3^7; //UP_DATAsbit RUN =P3^2; sbit WR_LOW =P3^5; //WRsbit MASTER_RESET=P3^3; bitbdataF_Flag,OneSec_Flag,Re_Flag,P_Flag;//uchar SecOne; uchar Tim
4、e_count; uchar AD_Addr; uchar dats;uchar TAB_Data[40];////初始化串口。配置定时器//voidinitial_system() { EA=0; TMOD=0x21; //初始化定时器0 PCON=0x00; SCON=0x50; TH0=0xdc; //10毫秒定时, 采用晶体11.0592 定时器0,方式1 TL0=0x00; TH1=0xfd;
5、 //波特率9600 采用晶体11.0592 定时器1,方式1 TL1=0xfd; TR0=1; //开启定时器0 TR1=1; //开启定时器0 ET0=1; //时钟0 ES =0; //开串口中断 EA=1; //使能所有中断}voidTimer0()interrupt1using3{ TH0=0xdc; //10
6、毫秒 采用晶体11.0592 定时器0,方式1 TL0=0x00; SecOne++; if(SecOne>200) //计时1秒钟 { SecOne=0x00; OneSec_Flag=1; RUN=~RUN; }}//voidAD9854_delay(inttime) { inti; for(i=0;i7、 { _nop_(); _nop_(); _nop_(); _nop_(); } }voidTAB_DataWord(){ TAB_Data[0]=0x00; //00HPhaseAdjustRegister#1<13:8>(Bits15,14don'tcare)Phase#1相位为0 TAB_Data[1]=0x00; //01HPhaseAdjustRegister#1<7:0>01H TAB_Data[2]=08、x00; //02HPhaseAdjustRegister#2<13:8>(Bits15,14don'tcare)Phase#2相位为0 TAB_Data[3]=0x00; //03HPhaseAdjustRegister#1<7:0>03H //100M TAB_Data[4]=0X31; //FrequencyTuningWord1<47:40>//623795E0184A TAB_Data[5]=0X1B; //FrequencyTuningWord1<39:32> TAB_Da
7、 { _nop_(); _nop_(); _nop_(); _nop_(); } }voidTAB_DataWord(){ TAB_Data[0]=0x00; //00HPhaseAdjustRegister#1<13:8>(Bits15,14don'tcare)Phase#1相位为0 TAB_Data[1]=0x00; //01HPhaseAdjustRegister#1<7:0>01H TAB_Data[2]=0
8、x00; //02HPhaseAdjustRegister#2<13:8>(Bits15,14don'tcare)Phase#2相位为0 TAB_Data[3]=0x00; //03HPhaseAdjustRegister#1<7:0>03H //100M TAB_Data[4]=0X31; //FrequencyTuningWord1<47:40>//623795E0184A TAB_Data[5]=0X1B; //FrequencyTuningWord1<39:32> TAB_Da
此文档下载收益归作者所有