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

📄 ad9850-1.c

📁 基于AD9850的数字信号发生器c51原代码。编译通过。
💻 C
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
#include <intrins.h>
#include<ABSACC.H>		
//-----------------------定义管脚--------------------------------------------------------
#define  data_OUT P1
sbit FQ_UD=P3^0;          //AD9850信号更新申请 
sbit W_CLK=P3^1;          //写控制字时钟
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	  
//--------------------------------------------------------------------------------------------------
// 函数名称: delay
// 入口参数: N
// 函数功能:延时子程序,实现(16*N+24)us的延时 
// 系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动
//--------------------------------------------------------------------------------------------------
  void delay(unsigned  int N)  
  {
  int i; 
  for(i=0;i<N;i++);
  }
//--------------------------------------------------------------------------------------------------
// 函数名称: WRITE_AD9850
// 函数功能: 将控制字写入AD9850
//--------------------------------------------------------------------------------------------------
void WRITE_AD9850(void)
{  
     unsigned char i;
     FQ_UD=0;
     W_CLK=0;
	 delay(0);
	 CON_word[0]=CON_word[0]&0xFC; //置工作方式选择位为00
     for(i=0;i<5;i++)
     {
     data_OUT=CON_word[i];      //送控制字 
     W_CLK=0;
     delay(0);
     W_CLK=1;                   //上升延
     delay(0);
     }
     FQ_UD=1;               //上升延要求AD9850改变输出
} 
//--------------------------------------------------------------------------------------------------
// 函数名称:main
// 用户主函数
// 函数功能:主函数
//--------------------------------------------------------------------------------------------------
void main()
     {
	 FQ_UD=0;
	 WRITE_AD9850();
	 }

⌨️ 快捷键说明

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