9851.c
来自「AD9851的驱动程序」· C语言 代码 · 共 61 行
C
61 行
#include <mega16.h>
#include <delay.h>
//------------端口操作宏定义------------------//
#define W_CLK PORTD.0
#define FQ_UD PORTD.1
#define RSET PORTD.2
#define WDATA PORTC
unsigned long f_freq;
unsigned int p_phase;
void updatedds()
{
FQ_UD=0;
W_CLK=0;
WDATA=p_phase<<3;
WDATA|=0x01;
W_CLK=1;
W_CLK=0;
WDATA=(f_freq>>24)&0xff;
W_CLK=1;
W_CLK=0;
WDATA=(f_freq>>16)&0xff;
W_CLK=1;
W_CLK=0;
WDATA=(f_freq>>8)&0xff;
W_CLK=1;
W_CLK=0;
WDATA=f_freq&0xff;
W_CLK=1;
FQ_UD=1;
W_CLK=0;
}
void sendfreq(unsigned long freq)
{
FQ_UD=0;
f_freq=freq*29.826162;
updatedds();
FQ_UD=1;
FQ_UD=0;
}
void sendphase(unsigned int phase)
{
FQ_UD=0;
p_phase=phase;
updatedds();
FQ_UD=1;
FQ_UD=0;
}
void main()
{
DDRC=0xff;
DDRD=0xff;
while(1)
{
sendfreq(1000);
sendphase(1);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?