基于AD9854的DDS外圍電路設(shè)計(jì)和程序_第1頁
基于AD9854的DDS外圍電路設(shè)計(jì)和程序_第2頁
基于AD9854的DDS外圍電路設(shè)計(jì)和程序_第3頁
基于AD9854的DDS外圍電路設(shè)計(jì)和程序_第4頁
基于AD9854的DDS外圍電路設(shè)計(jì)和程序_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、前段時間非常忙,AD9854這個芯片真是整的我頭好疼,雖然在網(wǎng)上也查了大量的資料,不過關(guān)于AD9854使用的資料真是少之又少,無奈,只好自己去研究DATASHEET,好在終于實(shí)現(xiàn)了,并且通過調(diào)試,輸出波形穩(wěn)定!現(xiàn)在把我的設(shè)計(jì)法出來供大家使用參考。原理圖和PCB圖為AD9854外圍電路!以下是AD9854的控制程序!/#include <reg51f.h>#include "sst89x5xxrd2.h"#include <intrins.h>#define USE_KEY 0#define uchar unsigned char#define uin

2、t unsigned int#define schar signed char#define sint signed int#define ulong unsigned long int/須主程序定義的參數(shù)/sbit ADDR0 =P20; /sbit ADDR1 =P21; /sbit ADDR2 =P22; /sbit ADDR3 =P23; /sbit ADDR4 =P24; /sbit ADDR5 =P25; /sbit AD_FUD =P37; /UP_DATAsbit RUN =P32; sbit WR_LOW =P35; / WRsbit MASTER_RESET=P33; bi

3、t bdata F_Flag,OneSec_Flag,Re_Flag,P_Flag;/uchar SecOne; uchar Time_count; uchar AD_Addr; uchar dats;uchar TAB_Data40;/初始化串口。配置定時器/ voidinitial_system() EA = 0; TMOD=0x21; /初始化定時器0 PCON=0x00; SCON=0x50; TH0 = 0xdc; /10毫秒定時, 采用晶體11.0592 定時器0,方式1 TL0 = 0x00; TH1 = 0xfd; /波特率9600 采用晶體11.0592 定時器1,方式1 T

4、L1 = 0xfd; TR0 =1; /開啟定時器0 TR1 =1; /開啟定時器0 ET0 =1; /時鐘0 ES =0; /開串口中斷 EA = 1 ; / 使能所有中斷void Timer0() interrupt 1 using 3 TH0 = 0xdc; /10毫秒 采用晶體11.0592 定時器0,方式1 TL0 = 0x00; SecOne+; if(SecOne>200) /計(jì)時1秒鐘 SecOne=0x00; OneSec_Flag=1; RUN=RUN; /void AD9854_delay(int time) int i; for(i = 0; i < tim

5、e; i+) _nop_(); _nop_(); _nop_(); _nop_(); void TAB_DataWord() TAB_Data0=0x00; /00H Phase Adjust Register #1 <13:8> (Bits 15, 14 don't care)Phase #1 相位為0 TAB_Data1=0x00; /01H Phase Adjust Register #1 <7:0> 01H TAB_Data2=0x00; /02H Phase Adjust Register #2 <13:8> (Bits 15, 14 do

6、n't care)Phase #2 相位為0 TAB_Data3=0x00; /03H Phase Adjust Register #1 <7:0> 03H /100M TAB_Data4=0X31; /Frequency Tuning Word 1 <47:40>/623795E0184A TAB_Data5=0X1B; /Frequency Tuning Word 1 <39:32> TAB_Data6=0xE6; /Frequency Tuning Word 1 <31:24> TAB_Data7=0xE6; /Frequency

7、Tuning Word 1 <23:16> TAB_Data8=0x53; /Frequency Tuning Word 1 <15:8> TAB_Data9=0x86; /Frequency Tuning Word 1 <7:0> /FTW2 TAB_Data10=0x31; /Frequency Tuning Word 2 <47:40 TAB_Data11=0x1B; /Frequency Tuning Word 2 <39:32> TAB_Data12=0xE6; /Frequency Tuning Word 2 <31:24

8、> TAB_Data13=0xE6; /Frequency Tuning Word 2 <23:16> TAB_Data14=0x53; /Frequency Tuning Word 2 <15:8> TAB_Data15=0x86; /Frequency Tuning Word 2 <7:0> /500KHZ /FTW TAB_Data16=0x01; /Delta Frequency Word <47:40> TAB_Data17=0x47; /Delta Frequency Word <39:32> TAB_Data18=

9、0xAE; /Delta Frequency Word <31:24> TAB_Data19=0x14; /Delta Frequency Word <23:16> TAB_Data20=0x7A; /Delta Frequency Word <15:8> TAB_Data21=0xE1; /Delta Frequency Word <7:0> 三角波 /頻率為0 /Upclok TAB_Data22=0x00; /Update Clock <31:24> TAB_Data23=0x00; /Update Clock <23:1

10、6> TAB_Data24=0x00; /Update Clock <15:8> TAB_Data25=0xF0; /Update Clock <7:0> /系統(tǒng)出現(xiàn)寄存器更新信號reg. Int UpdateClk.=0;外部更新 TAB_Data26=0x00; /Ramp Rate Clock <19:16> (Bits 23, 22, 21, 20 don't care) TAB_Data27=0x00; /Ramp Rate Clock <15:8> TAB_Data28=0x00; /Ramp Rate Clock &l

11、t;7:0> TAB_Data29=0x10; /Don't Care(0),Don't Care(0),Don't Care(0),Comp PD(1),Reserved_Always Low(0),QDAC PD(0),DAC PD(0),DIG PD(0). TAB_Data30=0x20; /Don't Care(0),PLL Range(1),Bypass PLL(1),Ref Mult 4(0),RefMult 3(0),Ref Mult 2(0),Ref Mult 1(0),Ref Mult 0(0). TAB_Data31=0x10; /C

12、LR ACC1(0),CLR ACC2(0),Triangle(0)(三角波),SRC QDAC(0),Mode2(0),Mode 1(0),Mode 0(0),Int Update Clk(0). 注意 TAB_Data32=0x50; /Don't Care(0),Bypass_Inv_Sinc(0),OSK EN(0),OSK INT(0),Don'tCare(0),Don't Care(0),LSB First(0),SDO_Active(0). TAB_Data33=0x00; /Output Shape Key I Mult <11:8> (Bi

13、ts 15, 14, 13, 12 don'tcare) TAB_Data34=0x0F; /Output Shape Key I Mult <7:0> TAB_Data35=0x00; /Output Shape Key Q Mult <11:8> (Bits 15, 14, 13, 12 don'tcare) TAB_Data36=0x0F; /Output Shape Key Q Mult <7:0> TAB_Data37=0xFF; /Output Shape Key Ramp Rate <7:0> TAB_Data38=

14、0x00; /QDAC <11:8> (Bits 15, 14, 13, 12 don't care) TAB_Data39=0x0F; /QDAC <7:0> (Data is required to be in twos complement format) void AD9854_ParallelSendByte(uchar addr,uchar data1) / WR_LOW=0; /lhyaddr WR_LOW=WRB _nop_(); P2=addr&0x3F; _nop_(); P1=data1; WR_LOW=0; /lhyaddr WR

15、_LOW=WRB _nop_(); WR_LOW=1; _nop_(); _nop_(); WR_LOW=0; /lhyaddr WR_LOW=WRB data0=*(SWord+i); AD9854_ParallelSendByte(Special_addr,data0); AD9854_delay(5); void Init9854(void) WR_LOW=0; AD_FUD=0; MASTER_RESET=0;/ void main(void) uchar i; MASTER_RESET=0; initial_system(); /系統(tǒng)初始化 Init9854(); TAB_DataW

16、ord(); MASTER_RESET=0; _nop_(); _nop_(); _nop_(); _nop_(); MASTER_RESET=1; AD9854_delay(30); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); MASTER_RESET=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); AD9854_delay(500); AD9854_delay(500); AD9854_delay(500); for (i=0;i<40;i+) dats=TAB_Datai; AD_Addr=i; AD9854_ParallelSendByte(AD_Addr,dats); _nop_(); AD_FUD=0; _nop_(); _nop_(); _nop_(); AD_FUD=1; AD9854_delay(80); _nop_(); _nop_(); AD_FUD=0; while(1) if(OneSec_Flag=1) _nop_(); _nop_(); _nop_(); AD9854_delay(80); _nop_(); _nop_(); _nop_();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論