📄 dds test.c
字号:
#include<stdio.h>
#include<reg52.h>
#include<intrins.h>
#define DATA P3 //8位的数据
sbit FQ_UD = P1^1; //频率更新
sbit W_CLK = P1^2;
sbit RESET = P1^0;
unsigned char code ddsfreqdata[5]={0x01,0x0f,0xaA,0xaa,0xaa}; //第一位至第五位分别存放W0,W1,W2,W3,W4
//数据发送从W0~W4
/**********************************
**********************************
延时
*********************************
*********************************/
void delayms(unsigned int time) //延时约time个ms
{
unsigned char i=120;
while(--time)
{
while(--i);
}
}
void delay50us(unsigned int time) //延时约time个us
{
unsigned char i=5;
while(--time)
{
while(--i) ;
}
}
void ddsinit()
{
FQ_UD=0;
W_CLK=0;
RESET=1;
delayms(5);
RESET=0;
delayms(1);
}
void sendfreqdata()
{
unsigned char i;
for(i=0;i<5;i++)
{
DATA=ddsfreqdata[i];
_nop_();
_nop_();
W_CLK=1;
_nop_();_nop_();_nop_();
W_CLK=0; _nop_(); _nop_();
}
FQ_UD=1;
_nop_();_nop_();
FQ_UD=0;
}
void main()
{
ddsinit();
sendfreqdata();
delayms(2000);
delay50us(1);
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -