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

📄 dds.c

📁 51单片机编写的DDS的串行驱动之类的c语言程序
💻 C
字号:
//-----------------函数声明、通用变量定义-------------------------------------------------------- 
#include <reg51.h> 
#include <intrins.h> 

sbit FQ_UD=P1^0; //AD9850信号更新申请 

unsigned char CON_word[5]; 
//Word data[7] data[6] data[5] data[4] data[3] data[2] data[1] data[0] 
//W0 Phase b Phase b3 Phase b2 Phase b1 Phase b0 Power Down Control Control 
//W1 Freq-b31 Freq-b30 Freq-b29 Freq-b28 Freq-b27 Freq-b26 Freq-b25 Freq-b24 
//W2 Freq-b23 Freq-b22 Freq-b21 Freq-b20 Freq-b19 Freq-b18 Freq-b17 Freq-b16 
//W3 Freq-b15 Freq-b14 Freq-b13 Freq-b12 Freq-b11 Freq-b10 Freq-b9 Freq-b8 
//W4 Freq-b7 Freq-b6 Freq-b5 Freq-b4 Freq-b3 Freq-b2 Freq-b1 Freq-b0 
//-------------------------------------------------------------------------------------------------- 
// 函数名称: delay 
// 入口参数: N 
// 函数功能:延时子程序,实现(16*N+24)us的延时 
// 系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动 
//-------------------------------------------------------------------------------------------------- 
void delay(unsigned int N) 
{ 
	int i; 
	for(i=0;i<N;i++); 
} 
//-------------------------------------------------------------------------------------------------- 
// 函数名称: AD9850_init 
// 入口参数: 无 
// 函数功能: 初始化设置 设置串口工作方式 
//-------------------------------------------------------------------------------------------------- 
void AD9850_init(void) //初始化 
{ 
	FQ_UD=0; 
	SCON=0; //串口工作在方式0;不允许串行口接收数据,先写通讯寄存器 
} 
//-------------------------------------------------------------------------------------------------- 
// 函数名称: WRITE_AD9850 
// 函数功能: 将控制字写入AD9850 
//-------------------------------------------------------------------------------------------------- 
void WRITE_AD9850(void) 
{ 
	int i; 
	FQ_UD=0; 
	delay(0); 
//CON_word[0]=CON_word[0]&amt;0xFC; //置工作方式选择位为00 
	for(i=4;i>=0;i--) { 
		SCON=0; 
		SBUF=CON_word[i]; //送通讯寄存器命令 
		while(TI==0); //等待发送完成 
		TI=0; //TI清"0" 
	} 
	FQ_UD=1; //上升延要求AD9850改变输出 
} 
//-------------------------------------------------------------------------------------------------- 
// 函数名称:main 
// 用户主函数 
// 函数功能:主函数 
//-------------------------------------------------------------------------------------------------- 
void main() 
{ 
	AD9850_init(); 
	WRITE_AD9850(); 
} 

⌨️ 快捷键说明

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