📄 initial.lst
字号:
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE INITIAL
OBJECT MODULE PLACED IN .\Output\Initial.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Code\Initial.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Output\I
-nitial.lst) OBJECT(.\Output\Initial.obj)
stmt level source
1 #define __INITIAL__
2
3 #include "Header\Lcd_main.h"
4 #include "reg52.h"
5 #include "Header\Access.h"
6 #include "Header\config.h"
7 #include "intrins.h"
8 #include "Header\Lcd_func.h"
9 #include "Header\Initial.h"
10 #include "Header\OSD.h"
11 #include "Header\Src_Ctrl.h"
12 #include "Header\Frame_Sync.h"
13 //#include "Power_Ctrl.h"
14
15 void MCU_Init(void)
16 {
17 1 #if (MCU_TYPE == MCU_STD8051)
18 1 IE = 0x00; // Disable all interrupts
19 1 TMOD = 0x11; // Program Timer0 & Timer1 to Mode#1
20 1 TR0 = 0; // Stop Timer0
21 1 TF0 = 0; // Clear Timer0 Overflow Bit
22 1 TL0 = TIME0_COUNTER_LBYTE; // Load Timer0 low-byte (for 20ms)
23 1 TH0 = TIME0_COUNTER_HBYTE; // Load Timer0 high-byte (for 20ms)
24 1 TR1 = 0; // Stop Timer1
25 1 TF1 = 0; // Clear Timer1 Overflow Bit
26 1 TL1 = TIME1_COUNTER_LBYTE; // Load Timer1 low-byte (for 1ms)
27 1 TH1 = TIME1_COUNTER_HBYTE; // Load Timer1 hifh-byte (for 1ms)
28 1 IE = 0x8a; // Enable interrupts of Timer0 and Timer1
29 1 #else
IE = 0x00; // Disable all interrupts
TMOD = 0x11; // Program Timer0 & Timer1 to Mode#1
TR0 = 0; // Stop Timer0
TF0 = 0; // Clear Timer0 Overflow Bit
TL0 = TIME0_COUNTER_LBYTE; // Load Timer0 low-byte (for 20ms)
TH0 = TIME0_COUNTER_HBYTE; // Load Timer0 high-byte (for 20ms)
TR1 = 0; // Stop Timer1
TF1 = 0; // Clear Timer1 Overflow Bit
TL1 = TIME1_COUNTER_LBYTE; // Load Timer1 low-byte (for 1ms)
TH1 = TIME1_COUNTER_HBYTE; // Load Timer1 hifh-byte (for 1ms)
IE = 0x86; // Enable interrupts of Timer0 and Timer1
// IE = 0x8a; // Enable interrupts of Timer0 and Timer1
// TR1 = 1;
TR0 = 1;
M512_PadMode1=0xff;
M512_PadMode2=0x80;
// M512_PadMode3=0x20;
M512_PadMode3=0x83;
M512_PadMode6=0x00;
M512_PadMode7=0x40;
// MCU_WriteVideoPower(0);
M512_Port55=0;
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 2
#endif
56 1 }
57
58 void Firmware_Init(void)
59 {
60 1 #if (MCU_TYPE == MCU_STD8051)
61 1 bLIGHT_PWR = LIGHT_OFF;
62 1 bPANEL_PWR = PANEL_OFF;
63 1 bPanel_Status = _OFF;
64 1 #else
MCU_WriteBacklightPower(LIGHT_OFF);
MCU_WritePanelPower(PANEL_OFF);
bPanel_Status = _OFF;
#endif
69 1
70 1 MCU_Init();
71 1 RTDSetBit(HOSTCTRL_02, 0xfb, 0x00); // RTD turn on
72 1
73 1 #if (MCU_TYPE == MCU_STD8051)
74 1
75 1 #if (RESET_TYPE == RESET_IN)
bRTD_RST = 0;
Delay_Xms(10);
do
{
// Wait for reset complete
bRTD_RST = 1;
Delay_Xms(2);
}
while (!bRTD_RST);
#else
86 1 RTDSetBit(HOSTCTRL_02, 0xff, 0x01); // Start RTD Software Reset
87 1 Delay_Xms(20);
88 1 RTDSetBit(HOSTCTRL_02, 0xfe, 0x00); // Stop RTD Software Reset
89 1 #endif
90 1
91 1 #else
#if (RESET_TYPE == RESET_IN)
MCU_WriteRtdReset(LOW);
Delay_Xms(10);
do
{
// Wait for reset complete
MCU_WriteRtdReset(HIGH);
Delay_Xms(10);
}
while (MCU_ReadRtdReset()!=HIGH);
#else
RTDSetBit(HOSTCTRL_02, 0xff, 0x01); // Start RTD Software Reset
Delay_Xms(20);
RTDSetBit(HOSTCTRL_02, 0xfe, 0x00); // Stop RTD Software Reset
#endif
#endif
110 1
111 1 RTDCodeW(RTD_PWUP_INI);
112 1
113 1 #if (HDCP_ENABLE)
RTDCodeW(BKSV);
KEYCodeW(HDCP_KEY_A_Port);
#endif
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 3
117 1
118 1 // Issac :
119 1 // Code below is for previous IC(before RTD2523)
120 1 RTDSetByte(HOSTCTRL_02, 0x00); // Wake RTD up
121 1 // RTDSetByte(DPLL_CTRL_D0, 0x11); // Enable DPLL
122 1
123 1 RTDSetByte(VDIS_SIGINV_21, 0x00 | DISP_EO_SWAP | DISP_RB_SWAP | DISP_ML_SWAP); // DHS, DVS, DEN,
- DCLK MUST NOT be inverted.
124 1
125 1 RTDSetBit(VDIS_CTRL_20, 0xfd, 0x21); // DHS, DVS, DEN, DCLK and data are clamped to 0
126 1
127 1 RTDSetBit(DIS_TIMING0_3A, 0xff, 0x20); // Force display timing enable
128 1 RTDSetBit(DIS_TIMING0_3A, 0xdf, 0x00); // Stop forcing
129 1
130 1 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
131 1
132 1 RTDSetBit(VDIS_CTRL_20, 0xfe, 0x00); // Stop display timing
133 1
134 1 RTDSetByte(HOSTCTRL_02, 0x02); // Put RTD2020 back into power-saving mode
135 1 // RTDSetByte(DPLL_CTRL_D0, 0x10); // Disable DPLL
136 1
137 1 // Issac
138 1 // Code above is for previous IC(before RTD2523)
139 1
140 1 RTDCodeW(RTD_DDC_TABLE);
141 1 RTDCodeW(RTD_IO_INI);
142 1
143 1 #if (!SOURCE_AUTO_SCAN)
PowerDown_VDC();
#endif
146 1
147 1 PowerDown_TMDS();
148 1 PowerDown_LVDS();
149 1
150 1 Delay_Xms(20);
151 1
152 1 // Check and initial EEPROM if necessary
153 1 Check_EEPROM();
154 1 Delay_Xms(10);
155 1
156 1 // Turn timer0 on. Let's go ~~~
157 1 TR0 = 1;
158 1 }
159
160 void Power_Up_Init(void) // Do once when power up
161 {
162 1 #if (MCU_TYPE == MCU_STD8051)
163 1 bLIGHT_PWR = LIGHT_OFF;
164 1 bPANEL_PWR = PANEL_OFF;
165 1 bPanel_Status = _OFF;
166 1 #else
MCU_WriteBacklightPower(LIGHT_OFF);
MCU_WritePanelPower(PANEL_OFF);
bPanel_Status = _OFF;
#endif
171 1
172 1 RTDSetBit(HOSTCTRL_02, 0xfb, 0x00); // RTD turn on
173 1
174 1 Reset_RTD();
175 1
176 1 #if (ADC_DEFFERENTIAL)
177 1 RTDSetBit(ADC_DIFF_MODE_EC, 0xff, 0x40); //Differential mode
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 4
178 1 #else
RTDSetBit(ADC_DIFF_MODE_EC, 0xbf, 0x00); //Single endded mode
#endif
181 1
182 1 #if (TUNE_APLL)
183 1 RTDSetByte(DV_TOTAL_STATUS_3D, 0x40); //clear PE Max value
184 1 #endif
185 1
186 1 #if (!SOURCE_AUTO_SCAN)
PowerDown_VDC();
#endif
189 1
190 1 PowerDown_LVDS();
191 1
192 1 #if (TMDS_ENABLE)
193 1 RTDSetByte(ANG_PERFORMANCE2_A3, 0x26); // Go about the TMDS impedence match
194 1 RTDSetByte(ANG_PERFORMANCE2_A3, 0x36);
195 1 #endif
196 1
197 1 RTDSetBit(OVL_CTRL_6D, 0xc7, (stGUD1.INPUT_SOURCE & 0xe0) >> 2);
198 1
199 1 #if (SPREAD_SPECTRUM)
200 1 RTDSetBit(DPLL_N_D2, 0xff, 0x20); // DPLL spread spectrum Enable
201 1 #endif
202 1
203 1 Init_Input_Source(); // Initial Mode & OSD
204 1 }
205
206 void Reset_RTD(void)
207 {
208 1 #if (MCU_TYPE == MCU_STD8051)
209 1
210 1 #if (RESET_TYPE == RESET_IN)
bRTD_RST = 0;
Delay_Xms(10);
do
{
// Wait for reset complete
bRTD_RST = 1;
Delay_Xms(6);
}
while (!bRTD_RST);
#else
221 1 RTDSetBit(HOSTCTRL_02, 0xff, 0x01); // Start RTD Software Reset
222 1 Delay_Xms(20);
223 1 RTDSetBit(HOSTCTRL_02, 0xfe, 0x00); // Stop RTD Software Reset
224 1 #endif
225 1
226 1 #else
#if(RESET_TYPE == RESET_IN)
MCU_WriteRtdReset(LOW);
Delay_Xms(10);
do
{
// Wait for reset complete
MCU_WriteRtdReset(HIGH);
Delay_Xms(6);
}
while (MCU_ReadRtdReset()!=HIGH);
#else
RTDSetBit(HOSTCTRL_02, 0xff, 0x01); // Start RTD Software Reset
C51 COMPILER V6.20c INITIAL 04/15/2004 12:59:04 PAGE 5
Delay_Xms(20);
RTDSetBit(HOSTCTRL_02, 0xfe, 0x00); // Stop RTD Software Reset
#endif
#endif
245 1
246 1 // Initial scalar & free background display
247 1 RTDCodeW(RTD_PWUP_INI);
248 1
249 1 #if (HDCP_ENABLE)
RTDCodeW(BKSV);
KEYCodeW(HDCP_KEY_A_Port);
#endif
253 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -