资源简介
51控制AD9852 频率幅度可调

代码片段和文件信息
#include“delay.h“
#include“typedefine.h“
#include“ad9852.h“
unsigned char AD9852_Data[6];
//={0x400xA70x0D0x740xDA0x00};
unsigned char Dutyfactor_Data[2];
unsigned int Dutyfactor;
unsigned long Crystal_CLOCK=50000000;
unsigned long base_SYSCLK=250000000;
unsigned char Triangle_bit;
unsigned char AD9852_Reset_flag;
unsigned char Chirp_freq_changes_direction;
unsigned char OutputShapedKeying_enable_flag=1;
unsigned char OutputSincFilter_enable_flag=0;
unsigned char Triangle_bit=0;
unsigned char AD9852_Reset_flag=1;
bdata unsigned char temp;
sbit temp0=temp^0;
sbit temp1=temp^1;
sbit temp2=temp^2;
sbit temp3=temp^3;
sbit temp4=temp^4;
sbit temp5=temp^5;
sbit temp6=temp^6;
sbit temp7=temp^7;
void AD9852_Write_Reg (uchar ADDRuchar *AD9852_Data) //根据已有的地址ADDR和DATA 写数据到AD9852
{
char numi;
AD9852_Set_IORESET;
DelayMs(2);
AD9852_Clr_IORESET;
AD9852_Set_CS;
AD9852_Clr_SCLK;
if(ADDR==0||ADDR==1||ADDR==8||ADDR==9||ADDR==0x0b)
num=2;
else if(ADDR==0x0a)
num=1;
else if(ADDR==6)
num=3;
else if(ADDR==5||ADDR==7)
num=4;
else num=6;
AD9852_Clr_CS;
// AD9852_Clr_IOUD;
temp=ADDR;
for(i=7;i>=0;i--)
{
AD9852_Clr_SCLK;
AD9852_SDIO=temp7;
AD9852_Set_SCLK;
temp<<=1;
}
for(;num>0;num--)
{
temp=AD9852_Data[num-1];
for(i=7;i>=0;i--)
{
AD9852_Clr_SCLK;
AD9852_SDIO=temp7;
AD9852_Set_SCLK;
temp<<=1;
}
}
// DelayMs(5);
// AD9852_Set_IOUD;
AD9852_Set_IOUD;
DelayMs(2);
AD9852_Clr_IOUD;
AD9852_Clr_SCLK;
AD9852_Set_CS;
}
/*****************************************************
发送控制字
*****************************************************/
void Send_Con(uint Con_word)
{
uchar i;
AD9852_Clr_CS; //低电平使数据有效
for(i=0;i<16;i++) //传输16位控制字
{
AD9852_SDIO=Con_word&0x8000; //最高位不变,最高位赋给SDATA
Con_word<<=1; //控制字左移一位,准备下一次
AD9852_SCLK=0; //产生下降沿,传输SDATA
AD9852_SCLK=1;
}
AD9852_Set_CS; //高电平,无效
}
/*void AD9852_Write_Reg(uchar Addruchar *pDatuchar DataLen)
{
uchar i=0;
AD9852_Set_IORESET;
DelayUs2x(10);
AD9852_Clr_IORESET;
AD9852_ByteSend(Addr);
for(i=0;i {
AD9852_ByteSend(pDat[i]);
}
AD9852_Set_IOUD;
DelayUs2x(100);
AD9852_Clr_IOUD;
}
*/
void AD9852_Set_Frequency(uchar ADDR_FREQulong frequency)
{
//FTW = (Desired Output Frequency × 2^N)/SYSCLK
double k;
unsigned long j;
//2^48/1M=281474976.710656
k=(2147483648/N*4/CLK);
k=k*512/15625;
k=k*frequency;
j=k/65536;
k=(k/65536-j)*65536;
AD9852_Data[2]=j;
j>>=8;
AD9852_Data[3]=j;
j>>=8;
AD9852_Data[4]=j;
j>>=8;
AD9852_Data[5]=j;
j=k;
AD9852_Data[0]=0x88;
AD9852_Data[1]=0x88;
AD9852_Write_Reg(ADDR_FREQAD9852_Data);
}
/*void AD9852_Set_Delta_Frequency(ulong frequency)
{
unsigned long long FTW=281474976710656/base_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-12-02 10:31 DDS模块\
文件 6589 2012-07-08 18:12 DDS模块\ad9852.c
文件 2754 2012-07-08 18:13 DDS模块\ad9852.h
文件 13849 2012-07-08 18:24 DDS模块\ad9852.LST
文件 14700 2012-07-08 18:24 DDS模块\ad9852.OBJ
文件 463 2011-08-06 09:45 DDS模块\delay.c
文件 651 2011-08-06 11:47 DDS模块\delay.h
文件 1502 2012-07-08 18:24 DDS模块\delay.LST
文件 1120 2012-07-08 18:24 DDS模块\delay.OBJ
文件 2499 2011-08-10 10:03 DDS模块\LCD.c
文件 189 2011-08-10 10:03 DDS模块\LCD.h
文件 4918 2011-08-10 11:56 DDS模块\LCD.LST
文件 5513 2011-08-10 11:56 DDS模块\LCD.OBJ
文件 6812 2012-07-08 18:24 DDS模块\main.c
文件 14297 2012-07-08 18:24 DDS模块\main.LST
文件 19024 2012-07-08 18:24 DDS模块\main.OBJ
文件 31003 2012-07-08 18:24 DDS模块\Signal Generator
文件 11353 2012-07-08 18:24 DDS模块\Signal Generator.hex
文件 81 2012-07-08 18:24 DDS模块\Signal Generator.lnp
文件 27645 2012-07-08 18:24 DDS模块\Signal Generator.M51
文件 2940 2011-08-29 11:01 DDS模块\Signal Generator.opt.bak
文件 2065 2011-08-06 12:16 DDS模块\Signal Generator.Uv2.bak
文件 58199 2013-12-02 10:31 DDS模块\Signal Generator.uvopt
文件 13573 2012-06-28 17:08 DDS模块\Signal Generator.uvproj
文件 2940 2011-08-27 16:57 DDS模块\Signal Generator_Opt.Bak
文件 2233 2011-08-06 11:50 DDS模块\Signal Generator_Uv2.Bak
文件 59363 2013-11-30 14:06 DDS模块\Signal Generator_uvopt.bak
文件 146 2011-08-06 11:50 DDS模块\typedefine.h
- 上一篇:labview音乐喷泉
- 下一篇:PIC16LF1829程序
相关资源
- 解读AT89C2051遥控接收器电路设计原理
- 电路图天天读19:局域网中红外遥控发
- 语音识别LD3320开发资料包含51代码
- 51单片机通信采样proteus仿真方波转化
- 基于89C51的智能台灯
- 51智能排课系统大课表版v5.1.3中文免费
- Beginning STM32: Developing with FreeRTOS libo
- MODERN ROBOTICS MECHANICS PLANNING AND CONTROL
- 51 单片机 红外避障小车 大集合136
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
评论
共有 条评论