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

📄 lmx1501.c

📁 LMX1501频率合成芯片使用子程序,经本人测试通过.输出是600MHZ的信号,参考频率12.8MHZ
💻 C
字号:
#include <AT89X52.H>
#include <MAIN.H>
#include <PORT.H>
#include <LMX1501.H>
//#include <lcd_1602.h>
#define ref_cy 12800 // 10240 or 12800
#define bj 25        //设置步进为25K

void Init_LMX1501(void)
{
 LMX1501_LE = 0;
 LMX1501_CLK = 0;
}
//****************************
void DELAY1(void)
{}
//*********************************
void PLL_1501(long int pl)
{
unsigned int pllnt,plln,pllr;
unsigned char plla; 
unsigned char i;	
 
 pllr=ref_cy/bj;   //晶体参考频率计数器   8~16383
 pllnt=pl/bj;      //工作频率除步进,总计数值
 plln=pllnt/128;    //
 plla=pllnt%128;    //

 //发送参考分频寄存器
LMX1501_DATA=0;   //发送前置分频值时 64=1 128=0
LMX1501_CLK=1;
    DELAY1();
LMX1501_CLK=0;

 i=14;
 do                  //发送R (14位)
  {
   LMX1501_DATA=(pllr&0x2000);
   LMX1501_CLK=1;
     DELAY1();
   LMX1501_CLK=0;
   pllr<<=1;
  }while(--i!=0);

LMX1501_DATA=1;   //发送控制码,当为参考分频值时 CONTROL=1
LMX1501_CLK=1;
  DELAY1();
LMX1501_CLK=0;  //LCD=0x6800; 

LMX1501_LE = 1;
   DELAY1();
LMX1501_LE = 0;

 //发送分频寄存器
 i=11;
 do                  //发送N (11位)
  {
   LMX1501_DATA=(plln&0x400);//0100 0000 0000
   LMX1501_CLK=1;
   DELAY1();
   LMX1501_CLK=0;
   plln<<=1;
  }while(--i!=0);
i=7;
 do                 //发送A (7位)
  {
   LMX1501_DATA=(plla&0x40);
   LMX1501_CLK=1;
     DELAY1();
   LMX1501_CLK=0;
   plla<<=1;
  }while(--i!=0);

LMX1501_DATA=0;   //发送控制码,当为分频值时 CONTROL=0
LMX1501_CLK=1;
    DELAY1();
LMX1501_CLK=0;

LMX1501_LE = 1;
   DELAY1();
LMX1501_LE = 0;

}

⌨️ 快捷键说明

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