想要一个80C51单片机控制ad9850的汇编程序,能用按键调节的·最好能加显示

发布网友 发布时间:2022-04-27 00:09

我来回答

2个回答

热心网友 时间:2023-11-13 09:06

我用过AD9850 是8根数据线,3根控制线(不是地址线),程序如下

#define AD9850 P1OUT //数据
#define W_CLK_H P6OUT|=BIT4 //时钟线
#define W_CLK_L P6OUT&=~BIT4
#define FQ_UP_H P6OUT|=BIT5
#define FQ_UP_L P6OUT&=~BIT5
#define RSET_H P6OUT|=BIT6 //复位线
#define RSET_L P6OUT&=~BIT6
long unsigned int f=1000,A9850temp=0;
uchar sendon=1;
uchar Mdata[5]=;

void Deal()
{
double pinlv;
uchar i;
pinlv=f;
pinlv*=107.3742; //系数要根据实际的外接晶振频率而定 本设计有源晶振40M
A9850temp=(long unsigned)pinlv;

Mdata[4]=A9850temp&0x000000ff;
Mdata[3]=(A9850temp>>8)&0x000000ff;
Mdata[2]=(A9850temp>>16)&0x000000ff;
Mdata[1]=(A9850temp>>24)&0x000000ff;
FQ_UP_L;
_NOP();
FQ_UP_H;
_NOP();
FQ_UP_L;
_NOP();
W_CLK_L;

for(i=0;i<5;i++)
{

AD9850=Mdata[i];
W_CLK_H;
delay(200);
W_CLK_L;

}
delay(200);
FQ_UP_H;

}

void AD9850Init()
{ W_CLK_L;
delay(200);
FQ_UP_L;
delay(200);
RSET_H;
delay(200);
RSET_L;
f=100000;
}

void AD9850fun()

}

热心网友 时间:2023-11-13 09:07

我只能弄C语言

热心网友 时间:2023-11-13 09:06

我用过AD9850 是8根数据线,3根控制线(不是地址线),程序如下

#define AD9850 P1OUT //数据
#define W_CLK_H P6OUT|=BIT4 //时钟线
#define W_CLK_L P6OUT&=~BIT4
#define FQ_UP_H P6OUT|=BIT5
#define FQ_UP_L P6OUT&=~BIT5
#define RSET_H P6OUT|=BIT6 //复位线
#define RSET_L P6OUT&=~BIT6
long unsigned int f=1000,A9850temp=0;
uchar sendon=1;
uchar Mdata[5]=;

void Deal()
{
double pinlv;
uchar i;
pinlv=f;
pinlv*=107.3742; //系数要根据实际的外接晶振频率而定 本设计有源晶振40M
A9850temp=(long unsigned)pinlv;

Mdata[4]=A9850temp&0x000000ff;
Mdata[3]=(A9850temp>>8)&0x000000ff;
Mdata[2]=(A9850temp>>16)&0x000000ff;
Mdata[1]=(A9850temp>>24)&0x000000ff;
FQ_UP_L;
_NOP();
FQ_UP_H;
_NOP();
FQ_UP_L;
_NOP();
W_CLK_L;

for(i=0;i<5;i++)
{

AD9850=Mdata[i];
W_CLK_H;
delay(200);
W_CLK_L;

}
delay(200);
FQ_UP_H;

}

void AD9850Init()
{ W_CLK_L;
delay(200);
FQ_UP_L;
delay(200);
RSET_H;
delay(200);
RSET_L;
f=100000;
}

void AD9850fun()

}

热心网友 时间:2023-11-13 09:07

我只能弄C语言

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com