📄 lcd_main.lst
字号:
C51 COMPILER V7.06 LCD_MAIN 11/21/2005 13:47:28 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD_MAIN
OBJECT MODULE PLACED IN .\Output\Lcd_main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Code\Lcd_main.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS PR
-INT(.\Output\Lcd_main.lst) PREPRINT(.\Output\Lcd_main.i) OBJECT(.\Output\Lcd_main.obj)
stmt level source
1 //echo note :
2 //modify last date : 2004.07.16
3
4
5 #define __MAIN__
6
7 #include "reg52.h"
8 #include "intrins.h"
9
10 #include "Header\MAIN_DEF.H"
11 #include "Header\CONFIG.H"
12 #include "Header\ACCESS.H"
13 #include "Header\LCD_COEF.H"
14 #include "Header\LCD_FUNC.H"
15 #include "Header\LCD_AUTO.H"
16 #include "Header\LCD_MSG.H"
17 #include "Header\LCD_MAIN.H"
18 #include "Header\LCD_OSD.H"
19 #include "Header\FONT.H"
20 #include "Header\OSD.H"
21 #include "Header\INITIAL.H"
22 #include "Header\FRAME_SYNC.H"
23 #include "Header\SRC_CTRL.H"
24 #include "Header\DDC.H"
25
26 #include "Header\uart.h"
27 #include "Header\DevOS.h"
28 #include "Header\Ksv.h"
29
30 #include "Header\rgb_echo.H"
31 #include "Header\MTV512.h"
32
33 #if(BURNIN_MODE)
34 void BurnIn()
35 {
36 1
37 1 static unsigned char Color = 1;
38 1
39 1 static unsigned char ColorCounter = 100;
40 1
41 1 unsigned char ucTemp;
42 1
43 1 if (ColorCounter)
44 1 ColorCounter -= 1;
45 1 else
46 1 {
47 2
48 2 Color += 1;
49 2 if(Color == 17)
50 2 Color = 1;
51 2
52 2
53 2 ucTemp = 0x0d | (Color << 4);
54 2
C51 COMPILER V7.06 LCD_MAIN 11/21/2005 13:47:28 PAGE 2
55 2 // if (PANEL_ON == bPANEL_PWR)
56 2 if ( _ON == bPanel_Status)
57 2 {
58 3 Free_Background();
59 3 Wait_For_Event(EVENT_IEN_STOP); // Wait for Frame End
60 3
61 3 RTDSetBit(OVL_CTRL_6D,0x3f,0x00); //Red
62 3 RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[0][Color]);
63 3
64 3 RTDSetBit(OVL_CTRL_6D,0x3f,0x40); //Green
65 3 RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[1][Color]);
66 3
67 3 RTDSetBit(OVL_CTRL_6D,0x3f,0x80); //Blue
68 3 RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[2][Color]);
69 3
70 3 RTDSetBit(VDIS_CTRL_20,0x5f,0x20 | DHS_MASK);
71 3
72 3
73 3 }
74 2 ColorCounter = 255;
75 2
76 2 }
77 1 }
78 #endif
79
80 void Set_Task(unsigned char state)
81 {
82 1 switch (state)
83 1 {
84 2 case STATE_POWERUP :
85 2 case STATE_SOURCECHANGE :
86 2
87 2 ucOSD_Page_Index = 0;
88 2 ucOSD_Item_Index0 = 0;
89 2 ucOSD_Item_Index1 = 0;
90 2 ucOSD_Item_Index2 = 0;
91 2 b_rgb_VOLUME_STATUS = 0;
92 2
93 2 usTaskCnt = BEGIN_SOURCECHANGE;
94 2 break;
95 2
96 2 case STATE_MODECHANGE :
97 2
98 2 #if (RTDDEBUG == 0)
99 2 ucOSD_Page_Index = 0;
100 2 ucOSD_Item_Index0 = 0;
101 2 ucOSD_Item_Index1 = 0;
102 2 ucOSD_Item_Index2 = 0;
103 2 b_rgb_VOLUME_STATUS = 0;
104 2 #endif
105 2
106 2 if (BEGIN_MODECHANGE > usTaskCnt)
107 2 {
108 3 usTaskCnt = BEGIN_MODECHANGE;
109 3 }
110 2 break;
111 2 case STATE_POWERDOWN :
112 2 // In this code, we do nothing
113 2 break;
114 2 }
115 1 }
116
C51 COMPILER V7.06 LCD_MAIN 11/21/2005 13:47:28 PAGE 3
117 void Run_Task(void)
118 {
119 1 // Task of each state :
120 1 // STATE0. (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
121 1 // - Show input source note text. Clear note text and go to State1 after 3sec or OSD window triggered
-.
122 1 // STATE1. (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
123 1 // - Wait for input signal being stable for 2 sec. When input signal changed,
124 1 // Input Mode Detector will set task state to 1 if current task state is 2. After 2sec, hint text
125 1 // will be shown if input isn't valid and no OSD window on screen and go to State2, else stay in ST
-ATE1.
126 1 // STATE2. (BEGIN_SHOWHINT > usTaskCnt >= 0)
127 1 // - If OSD window is on screen, go to State1. Else if input isn't valid, show hint text for 5sec and
-
128 1 // then turn off panel.
129 1
130 1 if (usTaskCnt) usTaskCnt -= 1;
131 1
132 1
133 1 if (BEGIN_MODECHANGE <= usTaskCnt)
134 1 {
135 2 // STATE0 : (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
136 2
137 2 if (ucOSD_Page_Index)
138 2 {
139 3 usTaskCnt = BEGIN_MODECHANGE;
140 3 }
141 2 }
142 1 else if (BEGIN_SHOWHINT <= usTaskCnt)
143 1 {
144 2 // STATE1 : (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
145 2
146 2 if (BEGIN_SHOWHINT == usTaskCnt)
147 2 {
148 3 // Stay in STATE1 if input signal is valid or OSD window is on screen
149 3 if (ucOSD_Page_Index || (MODE_NOSUPPORT != ucMode_Curr && MODE_NOSIGNAL != ucMode_Curr && !bOv
-erSpec))
150 3 {
151 4 usTaskCnt = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;
152 4 }
153 3 }
154 2 }
155 1 else
156 1 {
157 2 // Task State 2 : (BEGIN_SHOWHINT > usTaskCnt >= 0)
158 2
159 2 if (ucOSD_Page_Index)
160 2 {
161 3 usTaskCnt = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY; // Go back to Task State 1
162 3 }
163 2 else if (0 == usTaskCnt)
164 2 {
165 3 usTaskCnt = BEGIN_SHOWHINT - 1; // Stay in Task State 2
166 3 }
167 2 }
168 1 }
169
170
171 void ISP_Check_Sum(void)
172 {
173 1
174 1 #if(ISPACK)
C51 COMPILER V7.06 LCD_MAIN 11/21/2005 13:47:28 PAGE 4
RTDSetByte(DDC_SET_SLAVE_F0,0x6a);
#endif
177 1
178 1
179 1 }
180
181 #if(USE_MCU_DDC)
void MCU_DDC_Process(void)
{
unsigned char i,j;
MCU_Init();
for(j=0;j<8;j++)
{
I2CRead(ADDR_EDID1, j*16, 16);
for( i = 0; i < 16; i++)
byMTV512_DDCRAMA[i+(j*16)] = Data[i]; // prepare DDC_RAM_1
}
Delay_Xms(250);
Delay_Xms(250);
Delay_Xms(250);
Delay_Xms(250);
Delay_Xms(250);
MCU_Init();
Firmware_Init();
EDID_Process();
EnableDDC();
}
#endif
208
209 void Signal_Stable(unsigned char Notify)
210 {
211 1 // When input format changed, OSD will be cleared. OSD_Proc() can only runs when input signal is stable.
212 1 if (bStable)
213 1 {
214 2 OSD_Dispatcher(Notify);
215 2
216 2
217 2 if (MODE_OSDFORCE == ucMode_Curr) // OSD force to reset
218 2 {
219 3 Reset_Mode();
220 3 Set_Task(STATE_MODECHANGE); // Notify Task State Machine
221 3 }
222 2 else
223 2 {
224 3 if (BEGIN_SHOWHINT <= usTaskCnt)
225 3 {
226 4
227 4
228 4 // if (PANEL_OFF == bPANEL_PWR)
229 4 if( _OFF == bPanel_Status)
230 4 {
231 5 Set_Panel(1); // Turn on panel
232 5 }
233 4
234 4 //RTDCodeW(OSD_Enable);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -