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

📄 jack.h

📁 LC72131 PLL C源程序
💻 H
字号:
/*
#define SET_GPIO_R(dwPorts)       Gpio_Opr(SET_READ,dwPorts)
#define SET_GPIO_W(dwPorts)       Gpio_Opr(SET_WRITE,dwPorts)
#define SET_GPIO_HI(dwPorts)      Gpio_Opr(SET_HI,dwPorts)
#define SET_GPIO_LOW(dwPorts)     Gpio_Opr(SET_LOW,dwPorts)
#define GET_GPIO_DATA(dwPorts)    Gpio_Opr(GET_DATA,dwPorts)

#define TUNER_CE	(0x00100000) //TUNER -->CE
#define TUNER_CL	(0x00040000) //TUNER-->CLK
#define TUNER_DA	(0x00080000)//(0x00000000) TUNER-->DATA
#define TUNER_READ_DA	(0x00800000)//(0x00000000)
*/
#include <Gpio51.h>
#include <iic.h>
UINT16 mode1_send_data;	//p0~p15 
BYTE   mode1_ctl_data;

BYTE mode2_send_data0;	 
BYTE mode2_send_data1;	 
BYTE mode2_send_data2;	 




#define  inmode1_start 0x14 // input mode1 address
#define  inmode2_start 0x94 // input mode2 address
#define  outmode_start 0x54  //output mode address


// formulate: am: 0x2b2-->0x2b2, dec(0x2b2) * ref frequency(3) - IF(450) = 1620khz;
//            fm: 0x7b2-->0x7b2, dec(0x7b2) * ref frequency(25) * 2 - IF( 10700 ) = 87800khz
#define AM_FREQ_MAX  0x2b20 // 1620k, ref 3khz
#define AM_FREQ_MIN  0x1440 // 522k,  ref 3khz 
#define FM_FREQ_MIN  0x7b2  //87.8MHZ, ref 25khz 
#define FM_FREQ_MAX  0x942  //108Mhz, ref 25khz

/*
sbit    SNS=in1_data3^7; 
sbit    DVS=in1_data3^6;
sbit    CTE=in1_data3^5;
sbit    DNC=in1_data3^4;
sbit    R00=in1_data3^3;
sbit    R11=in1_data3^2;
sbit    R22=in1_data3^1;
sbit    R33=in1_data3^0;
*/
//#define SET_SNS(d)  ((d) ? (in1_data3|=(1<<7)) : (in1_data3&=~(1<<7)) )

#define SET_SNS(d)  ((d) ? (mode1_ctl_data|=(1<<7)) : (mode1_ctl_data&=~(1<<7)) )
#define SET_DVS(d)  ((d) ? (mode1_ctl_data|=(1<<6)) : (mode1_ctl_data&=~(1<<6)) )
#define SET_CTE(d)  ((d) ? (mode1_ctl_data|=(1<<5)) : (mode1_ctl_data&=~(1<<5)) )
#define SET_XS(d)   ((d) ? (mode1_ctl_data|=(1<<4)) : (mode1_ctl_data&=~(1<<4)) )
#define SET_R0(d)  ((d) ? (mode1_ctl_data|=(1<<3)) : (mode1_ctl_data&=~(1<<3)) )
#define SET_R1(d)  ((d) ? (mode1_ctl_data|=(1<<2)) : (mode1_ctl_data&=~(1<<2)) )
#define SET_R2(d)  ((d) ? (mode1_ctl_data|=(1<<1)) : (mode1_ctl_data&=~(1<<1)) )
#define SET_R3(d)  ((d) ? (mode1_ctl_data|=(1<<0)) : (mode1_ctl_data&=~(1<<0)) )



//  in2_data1:
/*
sbit    IOC1      = in2_data1^7;  output
sbit    IOC2      = in2_data1^6;  output
sbit    IO1       = in2_data1^5;  /ST_LED
sbit    IO2       = in2_data1^5;  /FM
sbit    BDSW1     = in2_data1^3;  /MW/LW
sbit    STSW      = in2_data1^2;  /MO/ST
sbit    BDSW2     = in2_data1^1;  /AM/FM
sbit    IFSW      = in2_data1^0;  IF(MUTE) REQ
*/      
#define STSW            (mode2_send_data0&(1<<2))

#define SET_IOC1(d)     ((d) ? (mode2_send_data0|=(1<<7)) : (mode2_send_data0&=~(1<<7)) )
#define SET_IOC2(d)     ((d) ? (mode2_send_data0|=(1<<6)) : (mode2_send_data0&=~(1<<6)) )
#define SET_IO1(d)      ((d) ? (mode2_send_data0|=(1<<5)) : (mode2_send_data0&=~(1<<5)) )
#define SET_IO2(d)      ((d) ? (mode2_send_data0|=(1<<4)) : (mode2_send_data0&=~(1<<4)) )
#define SET_BDSW1(d)    ((d) ? (mode2_send_data0|=(1<<3)) : (mode2_send_data0&=~(1<<3)) )
#define SET_STSW(d)     ((d) ? (mode2_send_data0|=(1<<2)) : mode2_send_data0&=~(1<<2)) )
#define SET_BDSW2(d)   	((d) ? (mode2_send_data0|=(1<<1)) : (mode2_send_data0&=~(1<<1)) )
#define SET_IFSW(d) 	((d) ? (mode2_send_data0|=(1<<0)) : (mode2_send_data0&=~(1<<0)) )


//  in2_data2:
/*
sbit    DNC       = in2_data2^7; //SDC0
sbit    DOC0      = in2_data2^6;
sbit    DOC1      = in2_data2^5;
sbit    DOC2      = in2_data2^4;
sbit    UL0       = in2_data2^3;
sbit    UL1       = in2_data2^2;
sbit    DZ0       = in2_data2^1;
sbit    DZ1       = in2_data2^0;
*/
#define SET_DNC(d)    ((d) ? (mode2_send_data1|=(1<<7)) : (mode2_send_data1&=~(1<<7)) )
#define SET_DOC0(d)   ((d) ? (mode2_send_data1|=(1<<6)) : (mode2_send_data1&=~(1<<6)) )
#define SET_DOC1(d)   ((d) ? (mode2_send_data1|=(1<<5)) : (mode2_send_data1&=~(1<<5)) )
#define SET_DOC2(d)   ((d) ? (mode2_send_data1|=(1<<4)) : (mode2_send_data1&=~(1<<4)) )
#define SET_UL0(d)    ((d) ? (mode2_send_data1|=(1<<3)) : (mode2_send_data1&=~(1<<3)) )
#define SET_UL1(d)    ((d) ? (mode2_send_data1|=(1<<2)) : (mode2_send_data1&=~(1<<2)) )
#define SET_DZ0(d)    ((d) ? (mode2_send_data1|=(1<<1)) : (mode2_send_data1&=~(1<<1)) )
#define SET_DZ1(d) 	  ((d) ? (mode2_send_data1|=(1<<0)) : (mode2_send_data1&=~(1<<0)) )


//  in2_data3:
/*
sbit    GT0       = in2_data3^7; 
sbit    GT1       = in2_data3^6;
sbit    TBC       = in2_data3^5; //SDC1
sbit    DLC       = in2_data3^4;
sbit    IFS       = in2_data3^3;
sbit    TEST0     = in2_data3^2;
sbit    TEST1     = in2_data3^1;
sbit    TEST2     = in2_data3^0;
*/
#define SET_GT0(d)    ((d) ? (mode2_send_data2|=(1<<7)) : (mode2_send_data2&=~(1<<7)) )
#define SET_GT1(d)    ((d) ? (mode2_send_data2|=(1<<6)) : (mode2_send_data2&=~(1<<6)) )
#define SET_TBC(d)    ((d) ? (mode2_send_data2|=(1<<5)) : (mode2_send_data2&=~(1<<5)) )
#define SET_DLC(d)    ((d) ? (mode2_send_data2|=(1<<4)) : (mode2_send_data2&=~(1<<4)) )
#define SET_IFS(d)    ((d) ? (mode2_send_data2|=(1<<3)) : (mode2_send_data2&=~(1<<3)) )
#define SET_TEST0(d) ((d) ? (mode2_send_data2|=(1<<2)) : (mode2_send_data2&=~(1<<2)) )
#define SET_TEST1(d) ((d) ? (mode2_send_data2|=(1<<1)) : (mode2_send_data2&=~(1<<1)) )
#define SET_TEST2(d) ((d) ? (mode2_send_data2|=(1<<0)) : (mode2_send_data2&=~(1<<0)) )

void jack_main(void);
void send_MSB(BYTE value);
void send_LSB(BYTE value);
void mode1_send_24bit_data(void);
void mode2_send_24bit_data(void);
void cmd_end(void);
void AM_FM_SELECT(void);
UINT32 read_24bit_outup_data(void);
void Amautosearch( BYTE autosearch_status );
void Fmautosearch( BYTE autosearch_status );
void Amautosearch( BYTE autosearch_status );
void init_ic(void);
void init_value(void);
void Amstepsearch( BYTE step_up_flag );
void Fmstepsearch( BYTE step_up_flag );


⌨️ 快捷键说明

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