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

📄 tea5757.lst

📁 本程序演示 :以非利普TEA5767 为核心的
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   TEA5757                                                               05/12/2009 22:59:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEA5757
OBJECT MODULE PLACED IN TEA5757.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TEA5757.C LARGE OPTIMIZE(7,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*以下是FM.h*/
   2          
   3          /****************************************************************************/
   4          /* MODULE:                                                                          */
   5          /* 
   6           FM.h
   7          */ 
   8          /****************************************************************************/
   9          /*
  10           *   TCC Version 0.0
  11           *   Copyright (c) telechips, Inc.
  12           *   ALL RIGHTS RESERVED
  13          */
  14          /****************************************************************************/
  15          
  16          //dddxxx
  17          #include "tcc760.h"
*** WARNING C318 IN LINE 17 OF TEA5757.C: can't open file 'tcc760.h'
  18          
  19          #ifdef RADIO_MCU
              //#define  fm_pwr_off  HwGDATA_D &= ~(1 << 19) // Fm power off
              //#define  fm_pwr_on  HwGDATA_D |= (1 << 19) // Fm power on
              
              #define   mcu_slaveaddr    0x54
              #define   COM_RADIO_STATE  0x40
              #define   COM_RADIO_FREQ  0x41
              #define   RADIO_SET_STERO  0x10
              #define   RADIO_SET_PWR   0x20
              #define  RADIO_SET_SENS_005 0x00
              #define  RADIO_SET_SENS_010 0x80
              #define  RADIO_SET_SENS_030 0x40
              #define  RADIO_SET_SENS_150 0xc0
              #define   RADIO_AUTOSCAN_UP 0x01
              #define   RADIO_AUTOSCAN_DOWN 0x02
              #define   RADIO_MANUSCAN_UP 0x04
              #define   RADIO_MANUSCAN_DOWN 0x08
              #define   RADIO_FM    0x00
              #define   RADIO_AM    0x01
              
              #define   RADIODELAY    100
              
              enum{
               PRESET_MODE_OFF,
               PRESET_MODE_ON,
               NO_MODE,
               MANUAL_ADD_CH
              };
              
              #define  off    0
              #define  on    1
              #define  up    1 
              #define  down   0
              
              #define MAX_PRESET_NUM 20
              
C51 COMPILER V7.50   TEA5757                                                               05/12/2009 22:59:41 PAGE 2   

              typedef struct BANKOFRADIO {
               unsigned char IsPreset ;
               unsigned char IsStereo;
               unsigned short LastUseFMHz;
               unsigned short Presetbank[MAX_PRESET_NUM] ;
               unsigned char LastUsePresetNum;
               unsigned char LastBand;
              } FMRADIO;
              
              extern unsigned int fm_khz; 
              extern FMRADIO RadioData;
              
              extern void  delay720(unsigned int count);
              extern void  fm_init(void);
              extern void fmw_stand_by_rtn(unsigned char onoff);
              extern void fmw_stereo_rtn(unsigned char onoff);
              
              extern void mcu_send_state(void);
              extern unsigned char mcu_read_radio_state(void);
              extern unsigned int  mcu_read_radio_freq(void);
              extern void Radio_manual_scan(unsigned char dir);
              extern void Radio_auto_scan(unsigned char dir);
              
              #else
  79          #define  fm_slaveaddr 0xc0    // FM modules slave addr
  80          #define  fm_pwr_off  HwGDATA_A |= (1 << 13); // Fm power off
  81          #define  fm_pwr_on  HwGDATA_A &= ~(1 << 13); // Fm power on
  82          
  83          enum{
  84           PRESET_MODE_OFF,
  85           PRESET_MODE_ON,
  86           NO_MODE,
  87           MANUAL_ADD_CH
  88          };
  89          
  90          #define  off    0
  91          #define  on    1
  92          #define  up    1 
  93          #define  down   0
  94          #define  all_level  0
  95          #define  lo_level  1
  96          #define  mid_level  2
  97          #define  hi_level  3
  98          #define  japan   1  // Japan band
  99          #define  us_eu   0  // US/EU band
 100          #define  xtal_32768  1  // set the x-tal to 32.768 KHz
 101          #define  xtal_13m  0  // set the x-tal to 13 MHz
 102          #define  ref_65_en  1  // 6.5 MHz reference for PLL enabled
 103          #define  ref_65_dis  0  // 6.5 MHz reference not enabled
 104          #define  deemph75  1  // deemphasis time constant is 75 us
 105          #define  deemph50  0  // deemphasis time constant is 50 us
 106          
 107          #define  hi_side   1  // FM module's high-side injcetion
 108          #define  lo_side   0  // FM module's low-side injection
 109          
 110          
 111          // when you do not use the autonomous search mode of the FM module, set the scan level and step
 112          #define  scan_level 6  // the available values are 0 ~ 15
 113          #define  scan_step 100  // KHz unit
 114          
 115          extern unsigned int fm_khz; 
 116          
C51 COMPILER V7.50   TEA5757                                                               05/12/2009 22:59:41 PAGE 3   

 117          extern void delay720(unsigned int count);
 118          extern void fm_init(void);
 119          extern void LCD_DisplayChannelForFM(int InputHz);
 120          extern void fmw_stand_by_rtn(unsigned char onoff);
 121          extern unsigned char fm_wr_rtn(unsigned char *ptr);
 122          
 123          // Struct for Radio data
 124          
 125          #define MAX_PRESET_NUM 20
 126          
 127          typedef struct BANKOFRADIO {
 128           unsigned char  IsPreset ;
 129           unsigned char IsStereo;
 130           unsigned short LastUseFMHz;
 131           unsigned short Presetbank[MAX_PRESET_NUM] ;
 132           unsigned char LastUsePresetNum;
 133          } FMRADIO;
 134          
 135          extern FMRADIO RadioData;
 136          extern unsigned char fm_wr_byte[5];
 137          extern unsigned char fm_hilo_optimal(unsigned int fm_freq);
 138          extern void fmw_pll_rtn(unsigned char hilo, unsigned int fm_freq);
 139          extern void fmw_all_mute_rtn(unsigned char onoff);
 140          extern unsigned char fm_wr_rtn(unsigned char *ptr);
 141          extern void fmw_stand_by_rtn(unsigned char onoff);
 142          extern void fmw_stereo_rtn(unsigned char onoff);
 143          extern void delay720(unsigned int count);
 144          extern unsigned int fm_auto_scan_detect(unsigned char dir);
 145          extern unsigned char fm_auto_scan(unsigned char dir);
 146          extern void fm_manual_scan(unsigned char dir);
 147          #endif
 148          
 149          /****************************************************************************/
 150          /* MODULE:                                                                          */
 151          /* FM.c
 152           
 153          */ 
 154          /****************************************************************************/
 155          /*
 156           *   TCC Version 0.0
 157           *   Copyright (c) telechips, Inc.
 158           *   ALL RIGHTS RESERVED
 159          */
 160          /****************************************************************************/
 161          
 162          #include "main.h"
*** WARNING C318 IN LINE 162 OF TEA5757.C: can't open file 'main.h'
 163          #include "fm/FM.h"
*** WARNING C318 IN LINE 163 OF TEA5757.C: can't open file 'fm/FM.h'
 164          #include "kernel/telechips.h"
*** WARNING C318 IN LINE 164 OF TEA5757.C: can't open file 'kernel/telechips.h'
 165          #include "i2c/i2c.h"
*** WARNING C318 IN LINE 165 OF TEA5757.C: can't open file 'i2c/i2c.h'
 166          
 167          FMRADIO   RadioData;
 168          
 169          #ifdef RADIO_INCLUDE
              #ifdef RADIO_MCU
              unsigned char radio_state = RADIO_SET_STERO|RADIO_SET_SENS_150;
              unsigned int radio_freq ;  
              unsigned char command_buff[2];
              unsigned char receive_data[2];
C51 COMPILER V7.50   TEA5757                                                               05/12/2009 22:59:41 PAGE 4   

              unsigned int fm_khz; 
              unsigned char radio_pwron_counter=0;
              
              void delay720(unsigned int count)
              {
                for(;count>0;count--) ;
               // 1:0.84, 5:1.36, 10:1.96, 20:3.20, 30:4.48, 60:8.04, 80:10.6, 90:11.6, 100:13
              }
              
              void fmw_stand_by_rtn(unsigned char onoff)  //radio power onoff
              {
              // if(onoff)
              //  fm_pwr_on;
              // else
              //  fm_pwr_off;
               if(onoff)
                {
                radio_state &= ~RADIO_SET_PWR;
                radio_pwron_counter=1;
                }
               else   radio_state |= RADIO_SET_PWR;
               mcu_send_state();
               
              }
              
              void fmw_stereo_rtn(unsigned char onoff)
              {
              
               //radio_state &= 0xcf;
               //if(onoff)
               // radio_state |= RADIO_SET_STERO;
               //else   radio_state |= RADIO_SET_MONO;
               if(onoff)
                radio_state |= RADIO_SET_STERO;
               else   radio_state &= ~RADIO_SET_STERO;
               mcu_send_state();
              }
              
              unsigned char mcu_rd_rtn(unsigned char subadr,unsigned char *ptr, unsigned char bytes)
              {
               return (unsigned char)(i2c_read((unsigned int)I2C_FM, (unsigned char)mcu_slaveaddr, subadr, ptr, bytes));
              }
              
              unsigned char mcu_wr_rtn(unsigned char subadr,unsigned char *ptr, unsigned char bytes)
              {
               return (unsigned char)(i2c_write((unsigned int)I2C_FM, (unsigned char)mcu_slaveaddr, subadr, ptr, bytes))
             -;
              }
              
              void mcu_set_state(unsigned char *com)
              {
               mcu_wr_rtn(COM_RADIO_STATE,com,1);
              }
              
              void mcu_set_freq(unsigned char *com)
              {
               mcu_wr_rtn(COM_RADIO_FREQ,com,2);
              }
              
              void mcu_read_state(unsigned char *com)
              {
               mcu_rd_rtn(COM_RADIO_STATE,com,1);
C51 COMPILER V7.50   TEA5757                                                               05/12/2009 22:59:41 PAGE 5   

              }
              
              void mcu_read_freq(unsigned char *com)
              {
               mcu_rd_rtn(COM_RADIO_FREQ,com,2);
              }
              
              void mcu_send_state(void)
              {
               command_buff[0] = radio_state;
               mcu_set_state(command_buff);
              }
              void mcu_manuscan_up(void)
              {
               radio_state &= 0xf0;

⌨️ 快捷键说明

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