📄 nvram.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 + -