欢迎来到天天文库
浏览记录
ID:11362197
大小:324.00 KB
页数:7页
时间:2018-07-11
《基于ad9854的dds外围电路设计和程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图为AD9854外围电路!以下是AD9854的控制程序!//#include #include "sst89x5xxrd2.h"#include #define USE_KEY 0#define
2、 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 Time_count;
4、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; //波特率9600
5、 采用晶体11.0592 定时器1,方式1 TL1=0xfd; TR0=1; //开启定时器0 TR1=1; //开启定时器0 ET0=1; //时钟0 ES =0; //开串口中断 EA=1; //使能所有中断}voidTimer0()interrupt1using3{ TH0=0xdc; //10毫秒 采用晶体11.059
6、2 定时器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_(); } }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]=0x00; //02HPhaseAdjust8、Register#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_(); } }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]=0x00; //02HPhaseAdjust
8、Register#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
此文档下载收益归作者所有