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

📄 tuner.lst

📁 一个LCD TV的源程序, 用的是realtek的IC
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.07   TUNER                                                                 09/26/2006 08:56:42 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE TUNER
OBJECT MODULE PLACED IN TUNER.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TUNER.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************************************
   2            TUNER.C
   3            Copyright (c) HIMAX Technologies Inc. All rights reserved.
   4          *******************************************************************************/
   5          #include "intrins.h"
   6          #include "MCU_IO.h"
   7          #include "COMMON.H"
   8          #include "Key.H"
   9          #include "MAIN.H"
  10          #include "i2c_control.h"
  11          #include "HX8824.h"
  12          #include "OSD.h"
  13          #include "rs232.h"
  14          
  15          #define PHILIPS_TUNER     0xC2     // AS pin floating
  16          #define PHILIPS_CONTROL   0xCE     // 0x86 taylor 2006/02/06
  17          #define TUNER 1
  18          #if (TUNER == 0)//Long
                #define PHILIPS_LOW_BAND  0xA0//Philips Tuner Low Bank Byte
                #define PHILIPS_MID_BAND  0x90//Philips Tuner Middle Bank Byte
                #define PHILIPS_HIGH_BAND 0x30//Philips Tuner High Bank Byte
                #define PHILIPS_DIV_ML    0x0CDC//Philips Tuner division between Low Bank and Middle Bank
                #define PHILIPS_DIV_HM    0x1F3C//Philips Tuner division between Middle Bank and High Bank
              #endif
  25          #if (TUNER == 1)//Short
  26            #define PHILIPS_LOW_BAND  0x01//Philips Tuner Low Bank Byte
  27            #define PHILIPS_MID_BAND  0x02//Philips Tuner Middle Bank Byte
  28            #define PHILIPS_HIGH_BAND 0x04//Philips Tuner High Bank Byte
  29            #define PHILIPS_DIV_ML    0x0D0E //Philips Tuner division between Low Bank and Middle Bank
  30            #define PHILIPS_DIV_HM    0x1E7C//Philips Tuner division between Middle Bank and High Bank
  31          #endif
  32          
  33          
  34          
  35          /* -------------------------------------------------------------------
  36            Name    :
  37            Purpose : Define Tuner table
  38            Passed  :
  39            Returns :
  40            Notes   :
  41            ------------------------------------------------------------------- */
  42          
  43          code unsigned char BIT_OPOR[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  44          code unsigned char BIT_OPAND[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  45          
  46            code unsigned int NTSC_J_CATV[126] = {
  47            0x0650,0x06b0,0x0710,0x0770,0x07b0,0x0810,0x0890,0x08f0,0x0950,0x09b0,
  48            0x0a10,0x0a70,0x0ad0,0x0b30,0x0b90,0x0bf0,0x0c50,0x0cb0,0x0d10,0x0d70,
  49            0x0dd0,0x0e30,0x0e90,0x0ef0,0x0f50,0x0fb0,0x1010,0x1070,0x10d0,0x1130,
  50            0x1190,0x11f0,0x1250,0x12b0,0x1310,0x1370,0x13d0,0x1430,0x1490,0x14f0,
  51            0x1550,0x15b0,0x1610,0x1670,0x16d0,0x1730,0x1790,0x17f0,0x1850,0x18b0,
  52            0x1910,0x1970,0x19d0,0x1a30,0x1a90,0x1af0,0x1b50,0x1bb0,0x1c10,0x1c70,
  53            0x1cd0,0x1d30,0x1d90,0x1df0,0x1e50,0x1eb0,0x1f10,0x1f70,0x1fd0,0x2030,
  54            0x2050,0x20b0,0x2110,0x2170,0x21d0,0x2230,0x2290,0x22f0,0x2350,0x23b0,
  55            0x2410,0x2470,0x24d0,0x2530,0x2590,0x25f0,0x2650,0x26b0,0x2710,0x2770,
C51 COMPILER V7.07   TUNER                                                                 09/26/2006 08:56:42 PAGE 2   

  56            0x27d0,0x2830,0x2890,0x28f0,0x2950,0x29b0,0x2a10,0x2a70,0x2ad0,0x2b30,
  57            0x2b90,0x2bf0,0x2c50,0x2cb0,0x2d10,0x2d70,0x2dd0,0x2e30,0x2e90,0x2ef0,
  58            0x2f50,0x2fb0,0x3010,0x3070,0x30d0,0x3130,0x3190,0x31f0,0x3250,0x32b0,
  59            0x3310,0x3370,0x33d0,0x3430,0x3490,0x34f0};
  60          
  61            code unsigned int NTSC_J_AIRTV[60] = {
  62            0x0650,0x06b0,0x0710,0x07b0,0x0810,0x0dd0,0x0e30,0x0e90,0x0ef0,0x0f50,
  63            0x0fb0,0x1010,0x2050,0x20b0,0x2110,0x2170,0x21d0,0x2230,0x2290,0x22f0,
  64            0x2350,0x23b0,0x2410,0x2470,0x24d0,0x2530,0x2590,0x25f0,0x2650,0x26b0,
  65            0x2710,0x2770,0x27d0,0x2830,0x2890,0x28f0,0x2950,0x29b0,0x2a10,0x2a70,
  66            0x2ad0,0x2b30,0x2b90,0x2bf0,0x2c50,0x2cb0,0x2d10,0x2d70,0x2dd0,0x2e30,
  67            0x2e90,0x2ef0,0x2f50,0x2fb0,0x3010,0x3070,0x30d0,0x3130,0x3190,0x31f0};
  68          
  69            code unsigned int NTSC_M_CATV[125] = {
  70            0x0770,0x0650,0x06B0,0x0710,0x07B0,0x0810,0x0DD0,0x0E30,0x0E90,0x0EF0,
  71            0x0F50,0x0FB0,0x1010,0x0A70,0x0AD0,0x0B30,0x0B90,0x0BF0,0x0C50,0x0CB0,
  72            0x0D10,0x0D70,0x1070,0x10D0,0x1130,0x1190,0x11F0,0x1250,0x12B0,0x1310,
  73            0x1370,0x13D0,0x1430,0x1490,0x14F0,0x1550,0x15B0,0x1610,0x1670,0x16D0,
  74            0x1730,0x1790,0x17F0,0x1850,0x18B0,0x1910,0x1970,0x19D0,0x1A30,0x1A90,
  75            0x1AF0,0x1B50,0x1BB0,0x1C10,0x1C70,0x1CD0,0x1D30,0x1D90,0x1DF0,0x1E50,
  76            0x1EB0,0x1F10,0x1F70,0x1FD0,0x2030,0x2090,0x20F0,0x2150,0x21B0,0x2210,
  77            0x2270,0x22D0,0x2330,0x2390,0x23F0,0x2450,0x24B0,0x2510,0x2570,0x25D0,
  78            0x2630,0x2690,0x26F0,0x2750,0x27B0,0x2810,0x2870,0x28D0,0x2930,0x2990,
  79            0x29F0,0x2A50,0x2AB0,0x2B10,0x0890,0x08F0,0x0950,0x09B0,0x0A10,0x2B70,
  80            0x2BD0,0x2C30,0x2C90,0x2CF0,0x2D50,0x2DB0,0x2E10,0x2E70,0x2ED0,0x2F30,
  81            0x2F90,0x2FF0,0x3050,0x30B0,0x3110,0x3170,0x31D0,0x3230,0x3290,0x32F0,
  82            0x3350,0x33B0,0x3410,0x3470,0x34D0};
  83          
  84            code unsigned int NTSC_M_AIRTV[69] = {
  85            0x0770,0x0650,0x06B0,0x0710,0x07B0,0x0810,0x0DD0,0x0E30,0x0E90,0x0EF0,
  86            0x0F50,0x0FB0,0x1010,0x2050,0x20B0,0x2110,0x2170,0x21D0,0x2230,0x2290,
  87            0x22F0,0x2350,0x23B0,0x2410,0x2470,0x24D0,0x2530,0x2590,0x25F0,0x2650,
  88            0x26B0,0x2710,0x2770,0x27D0,0x2830,0x2890,0x28F0,0x2950,0x29B0,0x2A10,
  89            0x2A70,0x2AD0,0x2B30,0x2B90,0x2BF0,0x2C50,0x2CB0,0x2D10,0x2D70,0x2DD0,
  90            0x2E30,0x2E90,0x2EF0,0x2F50,0x2F50,0x3010,0x3070,0x30D0,0x3130,0x3190,
  91            0x31F0,0x3250,0x32B0,0x3310,0x3370,0x33D0,0x3430,0x3490,0x34f0};
  92          
  93            code unsigned int PAL_CHINA_TV[125] = {
  94            0x058A,0x060A,0x068A,0x0742,0x07C2,0x0CF2,0x0D72,0x0DF2,0x0E72,0x0EF2,
  95            0x0F72,0x0FF2,0x1FE2,0x2062,0x20E2,0x2162,0x21E2,0x2262,0x22E2,0x2362,
  96            0x23E2,0x2462,0x24E2,0x2562,0x2862,0x28E2,0x2962,0x29E2,0x29D2,0x2AE2,
  97            0x2B62,0x2BE2,0x2C62,0x2CE2,0x2D62,0x2DE2,0x2E62,0x2EE2,0x2F62,0x2FE2,
  98            0x3062,0x30E2,0x3162,0x31E2,0x3262,0x32E2,0x3362,0x33E2,0x3462,0x34E2,
  99            0x3562,0x35E2,0x3662,0x36E2,0x3762,0x37E2,0x3862,0x38E2,0x3962,0x39E2,
 100            0x3A62,0x3AE2,0x3B62,0x3BE2,0x3C62,0x3CE2,0x3D62,0x3DE2,0x0972,0x09F2,
 101            0x0A72,0x0AF2,0x0B72,0x0BF2,0x0C72,0x1072,0x10F2,0x1172,0x11F2,0x1272,
 102            0x12F2,0x1372,0x13F2,0x1472};
 103          
 104          
 105          /* -------------------------------------------------------------------
 106            Name    : Tuner_Start
 107            Purpose : Transmit I2C start to tuner
 108            Passed  :
 109            Returns :
 110            Notes   :
 111            ------------------------------------------------------------------- */
 112          void Tuner_Start(void)
 113          {
 114   1        ioI2cSda = 1;
 115   1        _nop_();  _nop_();  _nop_();  _nop_();
 116   1        ioI2cScl = 1;
 117   1        _nop_();  _nop_();  _nop_();  _nop_();
C51 COMPILER V7.07   TUNER                                                                 09/26/2006 08:56:42 PAGE 3   

 118   1        ioI2cSda = 0;
 119   1        _nop_();  _nop_();  _nop_();  _nop_();
 120   1        ioI2cScl = 0;
 121   1        _nop_();  _nop_();  _nop_();  _nop_();
 122   1      }
 123          
 124          
 125          /* -------------------------------------------------------------------
 126            Name    : Tuner_Stop
 127            Purpose : Transmit I2C stop to tuner
 128            Passed  :
 129            Returns :
 130            Notes   :
 131            ------------------------------------------------------------------- */
 132          void Tuner_Stop(void)
 133          {
 134   1        ioI2cScl = 0;
 135   1        _nop_();  _nop_();  _nop_();  _nop_();
 136   1        ioI2cSda = 0;
 137   1        _nop_();  _nop_();  _nop_();  _nop_();
 138   1        ioI2cScl = 1;
 139   1        _nop_();  _nop_();  _nop_();  _nop_();
 140   1        ioI2cSda = 1;
 141   1        _nop_();  _nop_();  _nop_();  _nop_();
 142   1      }
 143          
 144          
 145          /* -------------------------------------------------------------------
 146            Name    : Tuner_Data_In
 147            Purpose : transmit I2C data to tuner
 148            Passed  :
 149            Returns :
 150            Notes   :
 151            ------------------------------------------------------------------- */
 152          bit Tuner_Data_In(unsigned char bytedata)
 153          {
 154   1        unsigned char i;
 155   1        bit ack;
 156   1      
 157   1        for(i = 0; i < 8; i++) {
 158   2          ioI2cSda=bytedata & 0x80;
 159   2          _nop_();  _nop_();  _nop_();  _nop_();
 160   2          ioI2cScl = 1;
 161   2          bytedata <<= 1;
 162   2          _nop_();  _nop_();  _nop_();  _nop_();
 163   2          ioI2cScl = 0;
 164   2          _nop_();  _nop_();  _nop_();  _nop_();
 165   2          }
 166   1      
 167   1        ioI2cSda = 1;
 168   1        _nop_();  _nop_();  _nop_();  _nop_();
 169   1        ioI2cScl = 1;
 170   1        _nop_();  _nop_();  _nop_();  _nop_();
 171   1        ack=ioI2cSda;
 172   1        _nop_();  _nop_();  _nop_();  _nop_();
 173   1        ioI2cScl = 0;
 174   1        _nop_();  _nop_();  _nop_();  _nop_();
 175   1        ioI2cSda = 0;
 176   1        _nop_();  _nop_();  _nop_();  _nop_();
 177   1      
 178   1        return ack;
 179   1      }
C51 COMPILER V7.07   TUNER                                                                 09/26/2006 08:56:42 PAGE 4   

 180          
 181          
 182          /* -------------------------------------------------------------------
 183            Name    : Initial_Tuner
 184            Purpose : initial tuner register
 185            Passed  :
 186            Returns :
 187            Notes   :
 188            ------------------------------------------------------------------- */
 189          void Initial_Tuner(void)
 190          {
 191   1              #if (TUNER == 1)
 192   1                      TunerError:
 193   1              Tuner_Start();
 194   1            if(Tuner_Data_In(PHILIPS_TUNER))            //taylor 2006/02/06
 195   1                goto TunerError;
 196   1              if(Tuner_Data_In(0x86))
 197   1                      goto TunerError;
 198   1              if(Tuner_Data_In(0x00))
 199   1                      goto TunerError;
 200   1              if(Tuner_Data_In(0x16))
 201   1                      goto TunerError;
 202   1              if(Tuner_Data_In(0x30))
 203   1                      goto TunerError;
 204   1              if(Tuner_Data_In(0x44))
 205   1                      goto TunerError;
 206   1              Tuner_Stop();
 207   1              //Puts_UART("Initial TUNER OK!\r\n");
 208   1          #endif
 209   1      }
 210          
 211          
 212          /* -------------------------------------------------------------------

⌨️ 快捷键说明

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