基于AD9854的DDS外围电路设计和程序 - 图文
前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图为AD9854外围电路!
以下是AD9854的控制程序!
//#include
#define uchar unsigned char
#define uint unsigned int #define schar signed char #define sint signed int
#define ulong unsigned long int //须主程序定义的参数 /
sbit ADDR0 =P2^0; // sbit ADDR1 =P2^1; // sbit ADDR2 =P2^2; // sbit ADDR3 =P2^3; // sbit ADDR4 =P2^4; // sbit ADDR5 =P2^5; // /
sbit AD_FUD =P3^7; //UP_DATA sbit RUN =P3^2;
sbit WR_LOW =P3^5; // WR sbit MASTER_RESET=P3^3;
bit bdata F_Flag,OneSec_Flag,Re_Flag,P_Flag; //
uchar SecOne; uchar Time_count; uchar AD_Addr; uchar dats;
uchar TAB_Data[40]; //
//初始化串口。配置定时器 // void
initial_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 TL1 = 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) //计时1秒钟 {
SecOne=0x00; OneSec_Flag=1; RUN=~RUN; } } //
void AD9854_delay(int time) {
int i;
for(i = 0; i < time; i++) {
_nop_(); _nop_(); _nop_(); _nop_(); } }
void TAB_DataWord() {
TAB_Data[0]=0x00; //00H Phase Adjust Register #1 <13:8> (Bits 15, 14 don't care) Phase #1 相位为0
TAB_Data[1]=0x00; //01H Phase Adjust Register #1 <7:0> 01H
TAB_Data[2]=0x00; //02H Phase Adjust Register #2 <13:8> (Bits 15, 14 don't care) Phase #2 相位为0
TAB_Data[3]=0x00; //03H Phase Adjust Register #1 <7:0> 03H //100M
TAB_Data[4]=0X31; //Frequency Tuning Word 1 <47:40>//623795E0184A TAB_Data[5]=0X1B; //Frequency Tuning Word 1 <39:32> TAB_Data[6]=0xE6; //Frequency Tuning Word 1 <31:24> TAB_Data[7]=0xE6; //Frequency Tuning Word 1 <23:16> TAB_Data[8]=0x53; //Frequency Tuning Word 1 <15:8> TAB_Data[9]=0x86; //Frequency Tuning Word 1 <7:0> //FTW2
TAB_Data[10]=0x31; //Frequency Tuning Word 2 <47:40
TAB_Data[11]=0x1B; //Frequency Tuning Word 2 <39:32> TAB_Data[12]=0xE6; //Frequency Tuning Word 2 <31:24> TAB_Data[13]=0xE6; //Frequency Tuning Word 2 <23:16> TAB_Data[14]=0x53; //Frequency Tuning Word 2 <15:8>
TAB_Data[15]=0x86; //Frequency Tuning Word 2 <7:0> //500KHZ //FTW
TAB_Data[16]=0x01; //Delta Frequency Word <47:40> TAB_Data[17]=0x47; //Delta Frequency Word <39:32> TAB_Data[18]=0xAE; //Delta Frequency Word <31:24> TAB_Data[19]=0x14; //Delta Frequency Word <23:16> TAB_Data[20]=0x7A; //Delta Frequency Word <15:8>
TAB_Data[21]=0xE1; //Delta Frequency Word <7:0> 三角波 //频率为0 //Upclok
TAB_Data[22]=0x00; //Update Clock <31:24> TAB_Data[23]=0x00; //Update Clock <23:16> TAB_Data[24]=0x00; //Update Clock <15:8>
TAB_Data[25]=0xF0; //Update Clock <7:0> //系统出现寄存器更新信号reg. Int Update Clk.=0;外部更新
TAB_Data[26]=0x00; //Ramp Rate Clock <19:16> (Bits 23, 22, 21, 20 don't care) TAB_Data[27]=0x00; //Ramp Rate Clock <15:8> TAB_Data[28]=0x00; //Ramp Rate Clock <7:0>
TAB_Data[29]=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_Data[30]=0x20; //Don't Care(0),PLL Range(1),Bypass PLL(1),Ref Mult 4(0),Ref Mult 3(0),Ref Mult 2(0),Ref Mult 1(0),Ref Mult 0(0).
TAB_Data[31]=0x10; //CLR ACC1(0),CLR ACC2(0),Triangle(0)(三角波),SRC QDAC(0),Mode
2(0),Mode 1(0),Mode 0(0),Int Update Clk(0). 注意
TAB_Data[32]=0x50; //Don't Care(0),Bypass_Inv_Sinc(0),OSK EN(0),OSK INT(0),Don't Care(0),Don't Care(0),LSB First(0),SDO_Active(0).
TAB_Data[33]=0x00; //Output Shape Key I Mult <11:8> (Bits 15, 14, 13, 12 don't care)
TAB_Data[34]=0x0F; //Output Shape Key I Mult <7:0>
TAB_Data[35]=0x00; //Output Shape Key Q Mult <11:8> (Bits 15, 14, 13, 12 don't care)
TAB_Data[36]=0x0F; //Output Shape Key Q Mult <7:0> TAB_Data[37]=0xFF; //Output Shape Key Ramp Rate <7:0>
TAB_Data[38]=0x00; //QDAC <11:8> (Bits 15, 14, 13, 12 don't care)
TAB_Data[39]=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_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(); //系统初始化 Init9854();
TAB_DataWord(); …… 此处隐藏:2344字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




