📄 c_root.lst
字号:
C51 COMPILER V8.08 C_ROOT 11/23/2007 00:57:17 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE C_ROOT
OBJECT MODULE PLACED IN .\Object\C_ROOT.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SourceFile\C_ROOT.C LARGE BROWSE INCDIR(.\IncludeFile;.\IncludeFile\Panel;.
-\IncludeFile\Font_Icon) DEFINE(T108) DEBUG OBJECTEXTEND PRINT(.\List\C_ROOT.lst) OBJECT(.\Object\C_ROOT.obj)
line level source
1 /*------------------------------------------------------------------------------
2 C_ROOT.C
3
4 Copyright 1995-1996 Keil Software, Inc.
5 ------------------------------------------------------------------------------*/
6
7 #include <reg51.h>
8 #include "Common.h"
9 #include "Global.h"
10 #include "ICControl.h"
11 #include "Initial.h"
12 #include "System.h"
13 #include "TWICreg.h"
14 #include "Timer0.h"
15 #include "VideoSourceSwitch.h"
16 #include "VideoDetect.h"
17 #include "OSD1CSL.h"
18 #include "OSD2CSL.h"
19 #include "E_OSDString.H"
20 #include "Keypad.h"
21 #include "EventPass.h"
22 #include "com.h"
23 #include "UIDraw.h"
24 #define _Myson8957_
25 #include "Myson8957.h"
26 /*****************************************************************************
27 * Public Function Prototypes *
28 *****************************************************************************/
29
30 void SysInterruptEnable(void);
31
32 static uWORD AutoDetcTime=0;
33 sbit VIDEO_RESET = P3^6; //T108 Reset pin by CS8957
34 sbit CHIP_RESET = P1^3;
35
36 void main(void) {
37 1 int i,j; // for ISP delay in RESET key press.
38 1
39 1 WTST = 10; //Myson Program wait state setting.
40 1 P1=0x00; // P1 for LOW on OSCilloscope
41 1 for(i=0;i<1000;i++)
42 1 for(j=0;j<1000;j++);
43 1 P1=0xFF; // P1 for High on OSCilloscope
44 1 PADMOD2=0x00;
45 1
46 1 VIDEO_RESET = 0; // Reset pin process
47 1 for(i=0;i<1000;i++) ;
48 1 VIDEO_RESET = 1; // T108 and CHIP... reset
49 1 CHIP_RESET = 0;
50 1 for(i=0;i<1000;i++) ;
51 1 CHIP_RESET = 1;
52 1
53 1 Initial();
54 1
C51 COMPILER V8.08 C_ROOT 11/23/2007 00:57:17 PAGE 2
55 1 #ifdef DEBUG_MODE
ShowMsg("Initial Step####\n\0");
#endif
58 1
59 1 EepPublic.cSource=0;
60 1 SourceSelect();
61 1 SysInterruptEnable();
62 1 DetectSignalStd();
63 1 Detect_Sig(0);
64 1 Show_Source();
65 1
66 1 font_draw_string("hello world\x0fe", 5, 4);
67 1
68 1 P1 &= 0xfc; //LED Green Lite.
69 1
70 1 while(1)
71 1 {
72 2
73 2 PoolingINT(); /* polling ir, keypad */
74 2 #if 1
75 2 // detect adc key
76 2 byMTV_ADCINT = 0x00; // Disable INT
77 2 byMTV_ADCSET = 0x01; // clock divider speed
78 2 byMTV_ADCEN1 = 0x80; // ADC Enable b7.
79 2 byMTV_ADCEN2 = 0x18; // ADC ch3,4 select
80 2 byMTV_ADCINT = 0x80; // ADC Int Enable
81 2 while(!(byMTV_ADCEN1 = 0x01)); // Until ADC ready flag
82 2 font_draw_hex_number((byMTV_ADC3H & 0x0f), 10, 5);
83 2 font_draw_hex_number(byMTV_ADC3L, 12, 5);
84 2 font_draw_hex_number((byMTV_ADC4H & 0x0f), 10, 7);
85 2 font_draw_hex_number(byMTV_ADC4L, 12, 7);
86 2 #endif
87 2
88 2 #ifdef AUTO_DETECT
89 2 AutoDetcTime++;
90 2 if(AutoDetcTime>=0x4ff)
91 2 {
92 3 // unsigned char adc;
93 3
94 3 /* detect input source */
95 3 AutoDetcTime=0x00;
96 3 if (uiaSrcMux1[EepPublic.cSource].SourceRoute==isrcVIDEO)
97 3 DetectSignalStd();
98 3 Detect_Sig(0);
99 3 IC_WritByte(TWIC_P0, 0xE2, 0x11);
100 3
101 3
102 3
103 3 //adc = 127;
104 3 //font_draw_dec_number(ADC_Result_H, 5, 6);
105 3 //font_draw_dec_number(ADC_Result_L, 6, 6);
106 3 /*
107 3 if (adc>0 && adc<0x10) m_cCurreKey = REMOTE_KEY_MENU;
108 3 else if (adc > 0x3f) m_cCurreKey = 0;
109 3 */
110 3 }
111 2 #endif
112 2
113 2 if(m_bTimer0Overflow)
114 2 {
115 3 m_bTimer0Overflow=0;
116 3 Timer0Stop();
C51 COMPILER V8.08 C_ROOT 11/23/2007 00:57:17 PAGE 3
117 3 OSD2Disable();
118 3 OSD1Disable();
119 3 }
120 2 if(m_cCurreKey!=0)
121 2 EventPass();
122 2
123 2 }
124 1 }
125 void SysInterruptEnable(void)
126 {
127 1 //IC_WritByte(TWIC_P0, INTMASK_REG, IC_ReadByte(TWIC_P0,INTMASK_REG)&0xF0);
128 1 IC_WritByte(TWIC_P0,INSTS2_REG,0x01);
129 1 Timer0Reset();
130 1 ET0 = 1; // Enable Timer0 interrupt
131 1 TR0 = 0;
132 1 EX0 = 1; // Enable Externel Interrup 0
133 1 EA = 1; // Enable Interrupt
134 1
135 1 byMTV_ADCSET = 0x01; // clock divider speed
136 1 byMTV_ADCEN1 = 0x80; // ADC Enable b7.
137 1 byMTV_ADCEN2 = 0x18; // ADC ch3,4 select
138 1 byMTV_ADCINT = 0x80; // ADC Int Enable
139 1 while(!(byMTV_ADCEN1 = 0x01)); // Until ADC ready flag
140 1
141 1 }
142
143 void CpuADCISR(void) interrupt 2
144 {
145 1 byMTV_ADCINT = 0x00; // Disable INT
146 1 #if 0
/* print debug message */
font_draw_dec_number((byMTV_ADC3H & 0x0f), 5, 5);
font_draw_dec_number(byMTV_ADC3L, 5, 6);
font_draw_hex_number((byMTV_ADC3H & 0x0f), 10, 5);
font_draw_hex_number(byMTV_ADC3L, 10, 6);
font_draw_dec_number((byMTV_ADC4H & 0x0f), 5, 7);
font_draw_dec_number( byMTV_ADC4L, 5, 8);
font_draw_hex_number((byMTV_ADC4H & 0x0f), 10, 7);
font_draw_hex_number( byMTV_ADC4L, 10, 8);
#endif
157 1 byMTV_ADCINT = 0x80; // Enable INT
158 1 }
159
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 384 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = 2 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
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 + -