⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad9851.c

📁 计算实用教程adadad9851实用教程
💻 C
字号:
#include<reg52.h>
#include<absacc.h>
#include<math.h>

#define uchar   unsigned char
#define uint   unsigned int
#define ulong   unsigned long

#define FRE1_A XBYTE [0x9000]        //频率控制字一正弦波,调幅载波,FSK载波f1,ASK,PSK载波
#define FRE1_B XBYTE [0x9001]
#define FRE1_C XBYTE [0x9002]
#define FRE1_D XBYTE [0x9003]
#define FRE2_A XBYTE [0x9005]        //频率控制字二 FSK载波f2
#define FRE2_B XBYTE [0x9006]
#define FRE2_C XBYTE [0x9007]
#define FRE2_D XBYTE [0x9008]
#define MODE   XBYTE [0x9004]
#define DDS_D0 XBYTE [0xc000]        //AM调制波控制字
#define DDS_D1 XBYTE [0xc001]
#define DDS_D2 XBYTE [0xc002]
#define DDS_D3 XBYTE [0xc003]
#define DA0832 XBYTE [0xd000]        //AM调制波幅度控制端口

sbit  PINPIAN=P1^3;   //1:5KHZ  0:10KHZ
sbit  AM_CS=P1^4;    //数子调制脉冲使能 低电平有效

void DDS(ulong F)
{
  ulong M;
  float fre=10.73621578383221;           //参数为0.1Hz精度的整数,故除10
  //fre=(float)(F);                      //fout=fosc*K/2e32
  //fre=fre*107.3621578383221;             //K=fout*2e32/fosc
  fre=fre*F;
  M=(ulong)(fre);                          //fosc=40.004480MHz
  DDS_D0=(uchar)(M&0x000000ff);
  DDS_D1=(uchar)((M>>8)&0x000000ff);
  DDS_D2=(uchar)((M>>16)&0x000000ff);
  DDS_D3=(uchar)((M>>24)&0x000000ff);
}
/********************************************************/
/*********AD9851**************/
void AD9851_DDS(ulong frequence)
{
  //float abc=23.858257297405;//fosc=40.004480*4.5;

  //float abc=29.826472471;   //fosc=23.999750*6;

  float abc=2.8636145307;                  //fosc=25.000000*6;  除10

  ulong ku;
  abc=abc*frequence;
  ku=(ulong)(abc);

  FRE1_D=(uchar)((ku>>24)&0x000000ff);

  FRE1_C=(uchar)((ku>>16)&0x000000ff);

  FRE1_B=(uchar)((ku>>8)&0x000000ff);

  FRE1_A=(uchar)(ku&0x000000ff);

  //MODE=0x01;
}
void main(void)
{
  DA0832=200;             //给0800的参考电压
  DDS(10000);

 AD9851_DDS(10000000);    //正弦信号产生
 MODE=0x01;              //SIN

 AD9851_DDS(1000000);
 MODE=0x02;              //FM

 MODE=0x03;              //ASK
 MODE=0x04;              //FSK
 MODE=0x05;              //PSK
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -