📄 lcd_main.lst
字号:
C51 COMPILER V6.20c LCD_MAIN 04/15/2004 12:59:10 PAGE 1
C51 COMPILER V6.20c, 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 PRINT(.\Output\
-Lcd_main.lst) OBJECT(.\Output\Lcd_main.obj)
stmt level source
1 #define __MAIN__
2
3 #include "reg52.h"
4 #include "intrins.h"
5
6 #include "Header\MAIN_DEF.H"
7 #include "Header\CONFIG.H"
8 #include "Header\ACCESS.H"
9 #include "Header\LCD_COEF.H"
10 #include "Header\LCD_FUNC.H"
11 #include "Header\LCD_AUTO.H"
12 #include "Header\LCD_MSG.H"
13 #include "Header\LCD_MAIN.H"
14 #include "Header\LCD_OSD.H"
15 #include "Header\FONT.H"
16 #include "Header\OSD.H"
17 #include "Header\INITIAL.H"
18 #include "Header\FRAME_SYNC.H"
19 #include "Header\SRC_CTRL.H"
20 #include "Header\DDC.H"
21
22 #include "Header\uart.h"
23 #include "Header\DevOS.h"
24 #include "Header\Ksv.h"
25
26
27 #if (BURNIN_MODE)
void BurnIn()
{
static unsigned char Color = 1;
static unsigned char ColorCounter = 100;
unsigned char ucTemp;
if (ColorCounter)
ColorCounter -= 1;
else
{
Color += 1;
if (Color == 17) Color = 1;
ucTemp = 0x0d | (Color << 4);
if ( _ON == bPanel_Status)
{
Free_Background();
Wait_For_Event(EVENT_IEN_STOP); // Wait for Frame End
/*
RTDSetBit(OVL_CTRL_6D,0x3f,0x00); //Red
RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[0][Color]);
C51 COMPILER V6.20c LCD_MAIN 04/15/2004 12:59:10 PAGE 2
RTDSetBit(OVL_CTRL_6D,0x3f,0x40); //Green
RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[1][Color]);
RTDSetBit(OVL_CTRL_6D,0x3f,0x80); //Blue
RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[2][Color]);
*/
Set_Background_Color(BurnInColor[0][Color], BurnInColor[1][Color], BurnInColor[2][Color]);
RTDSetBit(VDIS_CTRL_20,0x5f,0x20 | DHS_MASK);
}
ColorCounter = 255;
}
}
#endif
70
71 void Set_Task(unsigned char state)
72 {
73 1 switch (state)
74 1 {
75 2 case STATE_POWERUP :
76 2 case STATE_SOURCECHANGE :
77 2
78 2 ucOSD_Page_Index = 0;
79 2 ucOSD_Item_Index0 = 0;
80 2 ucOSD_Item_Index1 = 0;
81 2 ucOSD_Item_Index2 = 0;
82 2
83 2 usTaskCnt = BEGIN_SOURCECHANGE;
84 2 break;
85 2
86 2 case STATE_MODECHANGE :
87 2
88 2 ucOSD_Page_Index = 0;
89 2 ucOSD_Item_Index0 = 0;
90 2 ucOSD_Item_Index1 = 0;
91 2 ucOSD_Item_Index2 = 0;
92 2
93 2 if (BEGIN_MODECHANGE > usTaskCnt)
94 2 {
95 3 usTaskCnt = BEGIN_MODECHANGE;
96 3 }
97 2 break;
98 2
99 2 case STATE_POWERDOWN :
100 2 // In this code, we do nothing
101 2 break;
102 2 }
103 1 }
104
105 void Run_Task(void)
106 {
107 1 // Task of each state :
108 1 // STATE0. (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
109 1 // - Show input source note text. Clear note text and go to State1 after 3sec or OSD window triggered
-.
110 1 // STATE1. (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
111 1 // - Wait for input signal being stable for 2 sec. When input signal changed,
112 1 // Input Mode Detector will set task state to 1 if current task state is 2. After 2sec, hint text
113 1 // will be shown if input isn't valid and no OSD window on screen and go to State2, else stay in ST
-ATE1.
114 1 // STATE2. (BEGIN_SHOWHINT > usTaskCnt >= 0)
C51 COMPILER V6.20c LCD_MAIN 04/15/2004 12:59:10 PAGE 3
115 1 // - If OSD window is on screen, go to State1. Else if input isn't valid, show hint text for 5sec and
-
116 1 // then turn off panel.
117 1
118 1 if (usTaskCnt) usTaskCnt -= 1;
119 1
120 1 if (BEGIN_MODECHANGE <= usTaskCnt)
121 1 {
122 2 // STATE0 : (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
123 2
124 2 if (ucOSD_Page_Index)
125 2 {
126 3 usTaskCnt = BEGIN_MODECHANGE;
127 3 }
128 2 }
129 1 else if (BEGIN_SHOWHINT <= usTaskCnt)
130 1 {
131 2 // STATE1 : (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
132 2
133 2 if (BEGIN_SHOWHINT == usTaskCnt)
134 2 {
135 3 // Stay in STATE1 if input signal is valid or OSD window is on screen
136 3 if (ucOSD_Page_Index || (MODE_NOSUPPORT != ucMode_Curr && MODE_NOSIGNAL != ucMode_Curr && !bOv
-erSpec))
137 3 {
138 4 usTaskCnt = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;
139 4 }
140 3 }
141 2 }
142 1 else
143 1 {
144 2 // Task State 2 : (BEGIN_SHOWHINT > usTaskCnt >= 0)
145 2
146 2 if (ucOSD_Page_Index)
147 2 {
148 3 usTaskCnt = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY; // Go back to Task State 1
149 3 }
150 2 else if (0 == usTaskCnt)
151 2 {
152 3 usTaskCnt = BEGIN_SHOWHINT - 1; // Stay in Task State 2
153 3 }
154 2 }
155 1 }
156
157
158 void ISP_Check_Sum(void)
159 {
160 1 #if (ISPACK)
RTDSetByte(DDC_SET_SLAVE_F0, 0x6a);
#endif
163 1 }
164
165 #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);
C51 COMPILER V6.20c LCD_MAIN 04/15/2004 12:59:10 PAGE 4
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
191
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -