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

📄 ad7008.c

📁 DDS 单片机控制AD7008 产生正弦波
💻 C
字号:
#include "AD7008.h"

void write(unsigned char dat)
{
     P0 = dat;
     WR1 = 0;
     WR1 = 1;
}
void load(unsigned char reg_addr)
{
     P0 = reg_addr;
     LOAD = 1;
     LOAD = 0;
}
void Init_AD7008()
{
     LOAD = 0;
     WR   = 1;
     FSELECT = 0;
     SendCM(0x00);
     SendFW(1000,0);
     SendFW(0,1);
     SendPW(0);
}
void SendCM(unsigned char c)
{
     write(c);
     load(COMMAND);
}
void SendFW(unsigned long f,unsigned char s)
{
    unsigned char fw4,fw3,fw2,fw1;
    unsigned long k1;
    
    k1=f*FW_1Hz;
    fw4=k1/0x1000000;
    fw3=k1%0x1000000/0x10000;
    fw2=k1%0x10000/0x100;
    fw1=k1%0x100;

    write(fw4);
    write(fw3);
    write(fw2);
    write(fw1);
    load(FREQ0 | s);
}
void SendPW(unsigned int p)
{
    unsigned char pw2,pw1;
    pw2=p/0x100;
    pw1=p%0x100;

    write(pw2);
    write(pw1);
    load(PHASE);
}
void SendIQMOD(unsigned long a)
{
    unsigned char aw3,aw2,aw1;
    aw3 = a/0x10000;
    aw2 = (a%0x10000)/0x100;
    aw1 = a%0x100;

    write(aw3);
    write(aw2);
    write(aw1);
    load(IQMOD);
}

⌨️ 快捷键说明

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