9851.c

来自「毕业设计的调频收音机的完整程序」· C语言 代码 · 共 70 行

C
70
字号
				   #include<regx51.h>
#include <intrins.h>
sbit FQ_UD_AD9851=P3^2;
sbit CLK_AD9851=P3^1;
sbit RST_AD9851= P3^0;  
unsigned long int freq = 0;
//unsigned char Control_AD9851 = 0x09; //  Phase0 ,power down mode and 6 REFCLK Multiplier enable
//unsigned char Control_AD9851 = 0x00; //  Phase0 ,power on   mode and 6 REFCLK Multiplier disable
unsigned char Control_AD9851 = 0x80; //  Phase0 ,power on   mode and 6 REFCLK Multiplier enable
unsigned char W1=0X0e;
unsigned char W2=0X38;
unsigned char W3=0Xe3;
unsigned char W4=0X8e;
void Parallel2Serial_AD9851(void)
{    FQ_UD_AD9851=0;
     CLK_AD9851=0;
     P1=Control_AD9851;
     CLK_AD9851=1;
     CLK_AD9851=0;

     P1=W1;
     CLK_AD9851=1;
     CLK_AD9851=0;

     P1=W2;
     CLK_AD9851=1;
     CLK_AD9851=0;

     P1=W3;
     CLK_AD9851=1;
     CLK_AD9851=0;

     P1=W4;
     CLK_AD9851=1;
     CLK_AD9851=0;

	 FQ_UD_AD9851=1;
     FQ_UD_AD9851=0;
}

void Set_Freq(float Freqency)
{   
     freq= (unsigned long int)(23.861*Freqency);	// SYSCLK = 180 MHz
   W4=(unsigned char)freq&0xff;
   freq=freq>>8;

   W3=(unsigned char)freq&0xff;
   freq=freq>>8;

   W2=(unsigned char)freq&0xff;
   freq=freq>>8;

   W1=(unsigned char)freq&0xff;
 	
   Parallel2Serial_AD9851();
}
void main(void)
{RST_AD9851=1;
 RST_AD9851=1;
 RST_AD9851=1;
 RST_AD9851=0;

	while(1)
	{ 
     Set_Freq(1000);//输出1KHZ频率
	}
		
	
}

⌨️ 快捷键说明

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