PLL-LMX2325 C程序,用于锁相环频率控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PLL-LMX2325 C程序,用于锁相环频率控制

#include

#include

sbit KEY1=P1^2;

sbit KEY2=P1^3;

sbit KEY3=P1^4;

sbit BCLK=P1^5;

sbit BDATA=P1^6;

sbit BLE=P1^7;

void d_send(unsigned long int BYT);

unsigned long int cal_shu(unsigned long int lasts);

void d_senda(int DBYT);

void delay(void);

void delay1(void);

//unsigned int crc16l(unsigned char *ptr,unsigned char len);

unsigned long int X;

//unsigned int crc;

char flag;

main()

{

EA=0;

SP=0x70;

RS0=0;

RS1=0;

P1=0XDF;

flag=0;

delay1();

delay1();

d_senda(0x0101);

delay1();

delay1();

X=8070;

d_send(cal_shu(X));

delay1();

while(1)

{

if (flag==1)

{

d_send(cal_shu(X));

flag=0;

}

if (KEY1==0)

{

delay();

delay();

if (KEY1==0)

{

X+=2;

flag=1;

}

}

if (KEY2==0)

{

delay();

delay();

if (KEY2==0)

{

X=8070;

flag=1;

}

}

if (KEY3==0)

{

delay();

delay();

if (KEY3==0)

{

X-=2;

flag=1;

}

}

}

}

//**********延时约20ms********** void delay(void)

{

unsigned char i;

unsigned char l;

for(i=15;i>=1;i--)

{

for(l=250;l>=1;l--);

}

//**********延时约1s**********

void delay1(void)

{

unsigned char i;

for(i=32;i>=1;i--)

{

delay();

}

}

//********写16位数据子程序******** void d_senda(int DBYT)

{

unsigned char i;

BCLK=0;

BLE=0;

for(i=16;i>=1;i--)

{

BDA TA=DBYT&0X8000;

DBYT=DBYT<<1;

BCLK=1;

BCLK=0;

}

BLE=1;

}

//********写19位数据子程序******** void d_send(unsigned long int BYT)

{

unsigned char i;

unsigned long int S;

BCLK=0;

BLE=0;

S=BYT;

for(i=19;i>=1;i--)

{

BDA TA=S&0X800000;

S=S<<1;

BCLK=1;

BCLK=0;

}

BLE=1;

}

unsigned long int cal_shu(unsigned long int lasts)

{

char intL;

unsigned long int lonX;

lonX=lasts>>6;

intL=lasts&0x3f;

lonX<<=7;

lonX+=intL;

lonX<<=6;

return lonX;

}

/*unsigned int crc16l(unsigned char *ptr,unsigned char len) {

unsigned char i;

while(len--)

{

for(i=0x80;i!=0;i>>1)

{

if((crc&0x8000)!=0) {crc<<=1;crc^=0x1021;}

else crc<<=1;

if((*ptr&i)!=0) crc^=0x1021;

}

ptr++;

}

return(crc);

窗体底端

相关文档
最新文档