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

📄 fq1216.h

📁 PHILIPS FQ1286高频头c51驱动程序
💻 H
字号:
//fq1216 driver

#define fq1216_rf   0xc0
#define fq1216_if   0x86

#define UP_IF   5875 //for fq1286 //3890 for fq1216 
#define DN_IF   3980

#define MIN_IPF   4800    // 48 MHZ
#define MAX_IPF   140000  // 1400 MHZ

#define MAX_CH_NO   30     

unsigned char pdivider_lo;
unsigned char pdivider_hi;

unsigned long in_freq = 18425;
unsigned long lo_freq;

unsigned char digit5;
unsigned char digit4;
unsigned char digit3;
unsigned char digit2;
unsigned char digit1;
unsigned char digit0;
unsigned char fine_value = 20;
unsigned char digit_pos = 20;
/*
unsigned int code ch_tab[100] = {
4955, 5755, 6555, 7705, 8505,
11205,12005,12805,13605,14405,
15205,16005,16805,17605,18405,
19205,20005,20805,21605,22405,
23205,24005,24805,25605,26405,
27205,28005,28805,29605,30405,
31205,32005,32805,33605,34405,
35205,36005,36805,37605,38405,
39205,40005,40805,41605,42405,
43205,44005,44805,45605,46305,

47105,47905,48705,49505,50305,
51105,51905,52705,53505,54305,
55105,55905,60705,61505,62305,
63105,63905,64705,65505,66305,
67105,67905,68705,69505,70305,
71105,71905,72705,73505,74305,
75105,75905,76705,77505,78305,
79105,79905,80705,81505,82305,
83105,83905,84705,85505,86305
}
*/ 

void init_fq1216(void)
{

    lo_freq = in_freq + fine_value*5 - 100;
	digit5  = lo_freq/100000 + 0x30;
	lo_freq = lo_freq%100000;
    digit4  = lo_freq/10000 + 0x30;
	lo_freq = lo_freq%10000;
    digit3  = lo_freq/1000 + 0x30;
	lo_freq = lo_freq%1000;
    digit2  = lo_freq/100 + 0x30;
	lo_freq = lo_freq%100;
    digit1  = lo_freq/10 + 0x30;
	lo_freq = lo_freq%10;
    digit0  = (lo_freq&0xff) + 0x30;

tcom_data(0x0d);    //for trace
tcom_data(0x0a);    //for trace
//dis_data(digit5);  //for trace
tcom_data(digit5);    //for trace
//dis_data(digit4);  //for trace
tcom_data(digit4);    //for trace
//dis_data(digit3);  //for trace
tcom_data(digit3);    //for trace
//dis_data(digit2);  //for trace
tcom_data(digit2);    //for trace
//dis_data(digit1);  //for trace
tcom_data(digit1);    //for trace
//dis_data(digit0);  //for trace
tcom_data(digit0);    //for trace
tcom_data(0x20);    //for trace
//tcom_data(0x0d);    //for trace
//tcom_data(0x0a);    //for trace

}

void wr_fq1216_rf(void)
{   
    lo_freq = in_freq + UP_IF;
	lo_freq = lo_freq + fine_value*5 - 100;
	lo_freq = lo_freq*16/100;   
    pdivider_lo = lo_freq&0xff;
    pdivider_hi = ((lo_freq>>8)&0xff);
	i2c_data = pdivider_lo;	
	i2c_write(fq1216_rf,pdivider_hi);
    if(in_freq < 15800)
	{
       i2c_data = 0x41;
	   i2c_write(fq1216_rf,0x86);
    }
    else if(in_freq < 44200)
	{
       i2c_data = 0x42;
	   i2c_write(fq1216_rf,0x86);
    }
	else
	{
       i2c_data = 0x44;
	   i2c_write(fq1216_rf,0x86);
    }

	i2c_data = 0xa0;
	i2c_write_without_subaddr(fq1216_rf);
}

void wr_fq1216_if_i(void)
{  
    i2c_data = 0x56;
	i2c_write(fq1216_if,0x00);

    i2c_data = 0x30;//0x30;//0x70;
	i2c_write(fq1216_if,0x01);
//    i2c_data = 0x70;//0x70;
//	i2c_write_without_subaddr(fq1216_if);

    i2c_data = 0x44;//0x44;//0x4a;
	i2c_write(fq1216_if,0x02);
//    i2c_data = 0x4a;//0x4a;
//	i2c_write_without_subaddr(fq1216_if);
}

void wr_fq1216_if_dk(void)
{  
    i2c_data = 0x56;
	i2c_write(fq1216_if,0x00);

    i2c_data = 0x70;//0x30;//0x70;
	i2c_write(fq1216_if,0x01);
//    i2c_data = 0x70;//0x70;
//	i2c_write_without_subaddr(fq1216_if);

    i2c_data = 0x4b;//0x44;//0x4a;
	i2c_write(fq1216_if,0x02);
//    i2c_data = 0x4a;//0x4a;
//	i2c_write_without_subaddr(fq1216_if);
}

void rd_fq1216_if(void)
{
    i2c_data = 0xff;
//	i2c_read_without_subaddr(fq1216_if,0x00);
	i2c_read_without_subaddr(fq1216_if);
}

⌨️ 快捷键说明

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