📄 dds9834.c
字号:
#include <absacc.h>
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <DDS9834.h>
sbit FCLK= P1^6;
sbit FData= P1^7;
sbit FSYNC= P1^5;
sbit FRst= P1^4;
void WriteData(unsigned char aa,unsigned char bb)
{
unsigned char a[8];
unsigned char b[8];
unsigned char i;
FSYNC=1;
FCLK=1;
a[0]=(aa<<0>>7)&0x01;
a[1]=(aa<<1>>7)&0x01;
a[2]=(aa<<2>>7)&0x01;
a[3]=(aa<<3>>7)&0x01;
a[4]=(aa<<4>>7)&0x01;
a[5]=(aa<<5>>7)&0x01;
a[6]=(aa<<6>>7)&0x01;
a[7]=(aa<<7>>7)&0x01;
b[0]=(bb<<0>>7)&0x01;
b[1]=(bb<<1>>7)&0x01;
b[2]=(bb<<2>>7)&0x01;
b[3]=(bb<<3>>7)&0x01;
b[4]=(bb<<4>>7)&0x01;
b[5]=(bb<<5>>7)&0x01;
b[6]=(bb<<6>>7)&0x01;
b[7]=(bb<<7>>7)&0x01;
FSYNC=0;
for(i=0;i<=7;i++)
{
FData=a[i];
FCLK=0;
_nop_();
FCLK=1;
_nop_();
}
for(i=0;i<=7;i++)
{
FData=b[i];
FCLK=0;
_nop_();
FCLK=1;
_nop_();
}
FSYNC=1;
FCLK=1;
}
void DDS_Rst()
{
// FRst=1;
// _nop_();
FRst=0;//0000 0000 1001 11 01 0100 1001 0110
WriteData(0x01,0x00);//(0b00000001,0b00000000)//PIN/SW=0 bit,RST=1
WriteData(0x21,0x00);//(0b00100001,0b00000000);//Write Freq
// WriteData(0x41,0x03);//(0b01000001,0b00000011);//01 000FBA9
// WriteData(0x7B,0xA9);//(0b01111011,0b10101001);//50M->12K
WriteData(0x40,0x27);// 0b01000000 0b00100111) //009D496
WriteData(0x54,0x95);// 0b01010100 0b10010110
WriteData(0xC1,0x00);//(0b11000001,0b00000000);//Phase->0
WriteData(0x00,0x00);//(0b00000000,0b00000000);//Rst->0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -