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

📄 nvram.lst

📁 t112 参考文件
💻 LST
字号:
C51 COMPILER V7.50   NVRAM                                                                 01/12/2006 13:31:12 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE NVRAM
OBJECT MODULE PLACED IN .\Obj\NVRAM.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\Comm\NVRAM.C BROWSE INCDIR(.\Include\;.\Source\;.\Include\Panel\;.\I
                    -nclude\GammaTable\) DEFINE(T106) DEBUG OBJECTEXTEND PRINT(.\NVRAM.lst) OBJECT(.\Obj\NVRAM.obj)

line level    source

   1          #include <reg51.h>
   2          #include "common.h"
   3          #include "Struct.h"
   4          #include "system.h"
   5          #include "NVRam.h"
   6          #include "TW10xReg.h"
   7          #include "TwoWire.h"
   8          #include "KeyPad.h"
   9          #include "Video.h"
  10          #include "gamma.h"
  11          #include "T101_Util.h"
  12          
  13          EEPVIDEO   idata EepVideo;      
  14          #ifdef NVRAM
  15          extern uWORD IDATA m_wBuff[3];
  16          extern uCHAR IDATA m_cBuff[4];
  17          #ifdef TV
              extern bit m_bAir_Cable;
              #endif
  20          void EEPLoadPubData(void)
  21          {
  22   1              if(!(ReadPort()&kyMENU))
  23   1      //      if((ReadPort()&kyMENU))
  24   1              {
  25   2                      InitEEPRom();
  26   2                      OSDResetVideoData();
  27   2                      while(!(ReadPort()&kyMENU))     {};
  28   2              }
  29   1              else
  30   1              {
  31   2                      if(I2CReadByte(0xA0, 0x00) != '1' || I2CReadByte(0xA0, 0x01)!= '0' || I2CReadByte(0xA0, 0x02)!= '1' )
  32   2                      {
  33   3                              InitEEPRom();
  34   3                              OSDResetVideoData();
  35   3                      }
  36   2                      else
  37   2                              I2CReadBytes(EEPVIDEOBLOCK, 0x04, (uCHAR *)&EepVideo, EEPVIDEOSIZE);
  38   2              }
  39   1      #ifdef TV
                      if(I2CReadByte(EEPVIDEOBLOCK, idVIDEO_FLAG_INDEX)&0x01)
                      {
                              m_bAir_Cable=1;
                      }
                      else
                      {
                              m_bAir_Cable=0;
                      }
              #endif
  49   1              OSDSetVideoValues();
  50   1              EEPSaveVideoData();
  51   1      }
  52          
  53          void InitEEPRom(void)
  54          {
C51 COMPILER V7.50   NVRAM                                                                 01/12/2006 13:31:12 PAGE 2   

  55   1              I2CWriteByte(EEPBLOCK0, 0x00, '1');
  56   1              twdDelay(NVRDELAY);
  57   1              I2CWriteByte(EEPBLOCK0, 0x01, '0');
  58   1              twdDelay(NVRDELAY);
  59   1              I2CWriteByte(EEPBLOCK0, 0x02, '1');
  60   1      
  61   1      }
  62          
  63          void OSDResetVideoData(void)
  64          {
  65   1              EepVideo.cBright        = V_BRIGHT_DEF;
  66   1              EepVideo.cContrast      = V_CONTRAST_DEF ;
  67   1              EepVideo.cSharp         = V_SHARP_DEF;
  68   1              EepVideo.cHue           = V_HUE_DEF;
  69   1              EepVideo.cSat           = V_SAT_DEF;
  70   1              EepVideo.cVolume        = 0x80;
  71   1              EepVideo.cGamma         = 0;
  72   1      }
  73          
  74          void OSDSetVideoValues(void)
  75          {
  76   1      //      I2CWriteByte(VIDEO_ADDR,VSHARP,(I2CReadByte(VIDEO_ADDR,VSHARP)&0xF0)|EepVideo.cSharp);
  77   1          I2CWriteByte(TW101+4,0x80,V_SHARP_MSK|(EepVideo.cSharp<<1));
  78   1      //      I2CWriteByte(VIDEO_ADDR,VBRIGHT,EepVideo.cBright);
  79   1      //      I2CWriteByte(VIDEO_ADDR,VCONTRAST,EepVideo.cContrast);
  80   1              I2CWriteByte(TW101,VBRIGHT,EepVideo.cBright);
  81   1              I2CWriteByte(TW101,VCONTRAST,EepVideo.cContrast);
  82   1              I2CWriteByte(VIDEO_ADDR,VSAT,EepVideo.cSat);
  83   1              I2CWriteByte(VIDEO_ADDR,VHUE,EepVideo.cHue-0x80);
  84   1              LoadGammaTable(EepVideo.cGamma);
  85   1      #ifdef LG_7
                      I2CWriteByte(TW101+4, 0x80, 0x25);
              #endif
  88   1      }
  89          
  90          void EEPSaveVideoData(void)
  91          {
  92   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_CONTRAST_INDEX,EepVideo.cContrast );
  93   1              twdDelay(NVRDELAY);
  94   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_BRIGHT_INDEX, EepVideo.cBright);
  95   1              twdDelay(NVRDELAY);
  96   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SHARP_INDEX, EepVideo.cSharp);
  97   1              twdDelay(NVRDELAY);
  98   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_HUE_INDEX, EepVideo.cHue);
  99   1              twdDelay(NVRDELAY);
 100   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SAT_INDEX, EepVideo.cSat);
 101   1              twdDelay(NVRDELAY);
 102   1              I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_VOLUME_INDEX, EepVideo.cVolume);
 103   1      }
 104          #ifdef TV
              
              void EEPSaveTVChannel(uCHAR cTVNum, uWORD wTVFreq)
              {
                      if(m_bAir_Cable)
                      {
                      I2CWriteByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+cTVNum*2, (uCHAR)(wTVFreq>>8));
                      twdDelay(NVRDELAY);
                      I2CWriteByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+cTVNum*2+1, (uCHAR)(wTVFreq&0x00FF));
                      twdDelay(NVRDELAY);
                      }
                      else
                      {
C51 COMPILER V7.50   NVRAM                                                                 01/12/2006 13:31:12 PAGE 3   

                      I2CWriteByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+cTVNum*2, (uCHAR)(wTVFreq>>8));
                      twdDelay(NVRDELAY);
                      I2CWriteByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+cTVNum*2+1, (uCHAR)(wTVFreq&0x00FF));
                      twdDelay(NVRDELAY);
                      }
              }
              
              
              
              #endif
 127          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    320    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     13    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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