最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

有沒(méi)有用過(guò)ADF4118的高手

作者:archy 欄目:通信技術(shù)
有沒(méi)有用過(guò)ADF4118的高手
各位大俠,我才接觸ADF4118。用51進(jìn)行控制,但為什么我的程序老是控制不了頻率呢?鎖不住。那位大俠幫我看一下
//*****************************
//***    L BAND PLL    ***
//***    ODU C 4.9GHz 數(shù)字鎖定 p=32  pd=10M
//*****************************
#include <intrins.h>
#include "math.h"
#include "absacc.h"
#include "reg51.h"

#define LOW 0
#define HIGH 1
#define TRUE     1
#define FALSE     ~TRUE

sbit CLK=P3^1;    //  時(shí)鐘信號(hào)
sbit DATA=P3^0;   //  數(shù)據(jù)信號(hào)
sbit LE=P2^7;     //  使能信號(hào)
sbit key=P2^6;     //

unsigned CHAR REFCOUNT1=0x00;
unsigned CHAR REFCOUNT2=0x01;
unsigned CHAR REFCOUNT3=0x00;
unsigned CHAR NCOUNT1=0x00;
unsigned CHAR NCOUNT2=0x17;
unsigned CHAR NCOUNT3=0x9d;
unsigned CHAR FUNCTION1=0x00;
unsigned CHAR FUNCTION2=0x00;
unsigned CHAR FUNCTION3=0x93;

void delay(void)
{
    unsigned int i;
    for(i=0;i<100;i++);
}
/****************************************************************************
*    Prototype: void I_start(void);
*    Function: start I2C,start condition:when SCL=HIGH,SDA from HIGH to LOW
*     I2C是一種芯片間的通訊方式,采用兩條線進(jìn)行通訊,一條數(shù)據(jù)線,一條時(shí)鐘線。
****************************************************************************/
void PLL_start( void ) {
    
        
    LE=LOW;    //0,START

}

/****************************************************************************
*    Prototype: void I_stop(void);
*    Function: stop I2C,stop condition:when SCL=HIGH,SDA from LOW to HIGH
****************************************************************************/
void PLL_stop( void ) {
    


    LE=HIGH;   //1,STOP

}


/****************************************************************************
*    Prototype: bit I_clock(void);
*    Function: Provide CLK for I2C BUS,return SDA when CLK is HIGH,
*              the function can be used in data transmitting and receiving
****************************************************************************/
void PLL_clock( void ) {
    CLK = LOW ;    
    CLK = HIGH ;
    _nop_();
    CLK = LOW ;    

}

/****************************************************************************
*    Prototype: bit I_send(byte I_data);
*    Function: send 8 bit data and ask an ACK signal
*              if receive ACK return 1(TRUE),or else return 0(FALSE)
****************************************************************************/
void PLL_send( unsigned CHAR I_data ) {
    unsigned CHAR i ;
    // send 8 bit data
    for ( i=0 ; i<8 ; i++ )         //發(fā)8位
    {
        DATA = (bit)( I_data & 0x80) ;    //置DATA為最高位和1與的結(jié)果
        I_data = I_data << 1 ;    //I_data左移1位
        PLL_clock() ;    //發(fā)送DATA值
    }
}
/****************************************************************************
*    Prototype: bit I_send(byte I_data);
*    Function: send 8 bit data and ask an ACK signal
*              if receive ACK return 1(TRUE),or else return 0(FALSE)
****************************************************************************/
void PLL_send5( unsigned CHAR I_data ) {
    unsigned CHAR i ;
    I_data = I_data << 3 ;    //I_data左移1位
    // send 8 bit data
    for ( i=0 ; i<5 ; i++ )         //發(fā)8位
    {
        DATA = (bit)( I_data & 0x80) ;    //置DATA為最高位和1與的結(jié)果
        I_data = I_data << 1 ;    //I_data左移1位
        PLL_clock() ;    //發(fā)送DATA值
    }
}



void main(){
unsigned    CHAR    j;
PLL_start();
PLL_send5(FUNCTION1);
PLL_send(FUNCTION2);
PLL_send(FUNCTION3);
PLL_stop();

PLL_start();
PLL_send5(REFCOUNT1);
PLL_send(REFCOUNT2);
PLL_send(REFCOUNT3);
PLL_stop();

PLL_start();
PLL_send5(NCOUNT1);
PLL_send(NCOUNT2);
PLL_send(NCOUNT3);
PLL_stop();
key=0;
PLL_start();
while(1)
{
    delay();
    if(key)
    {
        PLL_start();
        PLL_send5(FUNCTION1);
        PLL_send(FUNCTION2);
        PLL_send(FUNCTION3);
        PLL_stop();

        PLL_start();
        PLL_send5(REFCOUNT1);
        PLL_send(REFCOUNT2);
        PLL_send(REFCOUNT3);
        PLL_stop();

        PLL_start();
        PLL_send5(NCOUNT1);
        PLL_send(NCOUNT2);
        PLL_send(NCOUNT3);
        PLL_stop();    
        PLL_start();
    }
}


}

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)教室內(nèi)無(wú)線通信方案,歡迎大家討論
鎖相環(huán)問(wèn)題
弱問(wèn)
紅外觸摸屏
問(wèn)關(guān)于TC35I返回已發(fā)短信條數(shù)的問(wèn)題
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)