?? main.lst
字號:
C51 COMPILER V8.05a MAIN 01/05/2009 15:57:47 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\OBJ\Main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\Main.C LARGE BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\List\
-Main.lst) OBJECT(.\OBJ\Main.obj)
line level source
1 /******************************************************************************\
2 Project Version: MTKCARDVD()
3 ********************************************************************************
4 Filename: MAIN.c
5
6 Author: Alan chan
7
8 Company: CoreTek/ACT Company
9
10 ********************************************************************************
11 File Version: 1.01
12 File Created: July 2007
13
14 Compiled Using: keil uVision2 Version 2.23
15
16 ********************************************************************************
17 Files Required:
18
19 ********************************************************************************
20 File Description:
21
22 ********************************************************************************
23 File History:
24
25 --------------------------------------------------------------------------------
26 Date Name Description
27 --------------------------------------------------------------------------------
28 Mar. 2007 Alan Chan File Created
29
30 \******************************************************************************/
31 #define _MAIN_
32 #include "stdio.h"
33 #include "string.h"
34
35 #include "global.h"
36 #include "irkey.h"
37 #include "key.h"
38 #include "task.h"
39 #include "comdvd.h"
40 #include "e2prom.h"
41
42 #include "tv.h"
43
44 #define MCU_CS_CLK_SWAP
45 #ifdef MARTIN_TEST_CHANNNEL_NUMBER_SHOW
46 extern void vFreAFCAdjLoop(void);
47 #else
extern void vFreAFCAdj(void); //02Aug08
#endif
50 extern BYTE bTV_ADC_Read(void); //29Aug08
51 #ifdef MARTIN_TUNER_XF6A_PAL_M_NOT_SYNC
52 extern void vPalMBugAdj(void); //martin 17Sep08 test
53 #endif
54 // Init variables
C51 COMPILER V8.05a MAIN 01/05/2009 15:57:47 PAGE 2
55 void vInitVar(void)
56 {
57 1 BYTE i;
58 1
59 1 // timer 0 variables
60 1 bTimer20ms = 0;
61 1 wTimer0Count =100;
62 1
63 1 // i2c variables
64 1 vInitialI2C();
65 1
66 1 // dvd com variables
67 1 DvdRxIndex = DataOutValid = 0;
68 1 for (i=0;i<(DVD_STATUS_BYTE-1);i++)
69 1 {
70 2 ShadowDvdInfo[i] = 0; //otiose??? Invalid
71 2 }
72 1 for (i=0;i<CAR_INFO_BYTE;i++)
73 1 {
74 2 ShadowCarInfo[i] = 0; //otiose ?? ?Invalid
75 2 }
76 1 mSetDvdIr();//05Aug08
77 1
78 1 #ifdef MARTIN_TEST_CHANNNEL_NUMBER_SHOW
79 1 fgAFCADJState = FREQUENCY_ADJ_IDLE; //04Aug08
80 1 #endif
81 1
82 1 // fgDVDTVCMD=0;
83 1 // fgChangeTV=0;
84 1
85 1 #ifdef MARTIN_TUNER_XF6A_PAL_M_NOT_SYNC
86 1 bPalMAdj=1; //17Sep08
87 1 #endif
88 1 fgTvVersion= TV_VERSION_VALUE; //31Jul08
89 1 _bSearchPercent=fgTvVersion;
90 1
91 1 // IR variables init
92 1 vInitIRVar();
93 1 }
94
95 // Init IO
96 void vInitIO()
97 {
98 1 #ifdef MARTIN_CS8955_IO_PORT //martin 08May08 add
99 1 CS8955_PADMOD0=0x00;
100 1 CS8955_PADMOD1=0x00;
101 1 #ifdef SUPPORT_UART_PRINTF
102 1 CS8955_PADMOD2=0x00;//martin 16Oct08 0x34; 0x34; //0xa0; P3.0,P3.1,P1.5,P1.6 Set " 0" for I/O PORT wi
-th printf variable
103 1 #else
CS8955_PADMOD2=0xa0; //0xE0; Set " 1" for (Master IIC) HSDA1 HSCL1,HSDA2,HSCL2, with download software
#endif
106 1 #endif
107 1
108 1
109 1 P0 = 0xff;
110 1 P1 = 0xff; //0xfe; martin 08May08 //set P1.0(tv_pwr)=0
111 1 P2 = 0xff; //set P2.0(dvd_do)=1, P2.1(dvd_di)=1, P2.2(dvd_clk)=1
112 1 P3 = 0xff; //0xcf; martin 08May08 //set P3.2(IR)=1,P3.3(dvd_cs)=1, P3.4(tv_sda)=0, P3.5(tv_scl
-)=0;
113 1
114 1 CS8955_OPTION |= 0x10; //set master IIC==ISCL/ISDA(P3.4,P3.5);set master IIC frequency=100K(specificati
C51 COMPILER V8.05a MAIN 01/05/2009 15:57:47 PAGE 3
-on:PAGE 11)
115 1 CS8955_INTEN=0xe0; //enable TXBBUF RCBBUF INT
116 1 CS8955_SLVBADR=0x80|(0x4c>>1); //Enable marter IIC B,Set master IIC B address
117 1
118 1 }
119
120 #ifndef MARTIN_MCU_NO_IR
// Init IR Interrupt
void vInitIRInt(void)
{
// IR Remote Control
EX0 = 0; //Disable INT 0 Interrupt
IT0 =1; // INT 0 high level control valid, //Enable edge trigger
}
#endif
129
130 // Init Interrupt
131 void vInitAllInt(BIT enable)
132 {
133 1 if (enable)
134 1 {
135 2 #ifndef MARTIN_DVD_COMM_NOT_SUPPORT_INT
CS8955_EINT1PEN = 0x80;
// DVD com
EX1 =0x01; // Enable INT1 interrupt
IT1 =0x01; // / INT1 low / high control valid,
#endif
141 2 #ifndef MARTIN_MCU_NO_IR
// IR Remote Contro Use the INT4 Pin and Function
vInitIRInt();
#endif
145 2 }
146 1 else
147 1 {
148 2 // DVD com
149 2 #if 1 //#ifndef MARTIN_DVD_COMM_NOT_SUPPORT_INT
150 2 EX1 = 0x00; // Disable INT1 interrupt
151 2 IT1 = 0x00; // INT 1 low level control valid,
152 2 #endif
153 2 #ifndef MARTIN_MCU_NO_IR //martin 08May08
// IR Remote Control
EX0 = 0; // Disable INT0 interrupt
#endif
157 2 }
158 1 }
159
160 // Init Timer0
161 void vInitTimer()
162 {
163 1 TMOD|=0x01; // set timer0 in mode1 16 bit timer
164 1 TH0=0xEC;
165 1 TL0=0x78;
166 1
167 1 TF0 = 0; //clear timer0 flag
168 1 PT0= 0; // priority Timer0 level
169 1 ET0=1; // enable timer0 interrupt
170 1 TR0=0; // stop timer0
171 1 }
172
173 #ifdef SUPPORT_UART_PRINTF //26Aug08
174 void DRS232LogS(char *pcStr)
175 {
C51 COMPILER V8.05a MAIN 01/05/2009 15:57:47 PAGE 4
176 1 BYTE _bTNum;
177 1 unsigned char _pbTBuf[30];
178 1
179 1 CS8955_PADMOD2=0x00; //martin 16Oct08 0x34; P3.0,P3.1,P1.5,P1.6 Set " 0" for I/O PORT with printf
- variable
180 1
181 1 for(_bTNum=0; (_bTNum<20) && (pcStr[_bTNum]); _bTNum++)
182 1 {
183 2 _pbTBuf[_bTNum] = (BYTE) pcStr[_bTNum];
184 2 SBUF = _pbTBuf[_bTNum]; while(!TI); TI = 0;
185 2 }
186 1 SBUF = 0x0D; while(!TI); TI = 0; // CR ( ^M )
187 1 SBUF = 0x0A; while(!TI); TI = 0; // LF ( ^J )
188 1
189 1 CS8955_PADMOD2=0xa0; //Set " 1" for (Master IIC) HSDA1 HSCL1,HSDA2,HSCL2,
190 1
191 1 }
192
193 void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4)
194 {
195 1 BYTE _bTNum;
196 1 BYTE i=0;
197 1 char szTable[] = "0123456789";
198 1
199 1
200 1 CS8955_PADMOD2=0x00; //martin 16Oct08 0x34; P3.0,P3.1,P1.5,P1.6 Set " 0" for I/O PORT with printf va
-riable
201 1
202 1 //memset(_PrinTBuf,30,10);
203 1
204 1
205 1 if(bV1 == 0)
206 1 {
207 2 SBUF = '0'; while(!TI); TI = 0;
208 2 SBUF = '0'; while(!TI); TI = 0;
209 2 }
210 1 else
211 1 {
212 2 while((bV1)&&(i<4))
213 2 {
214 3
215 3 _PrinTBuf[i++] = szTable[bV1%10];
216 3 bV1 /= 10;
217 3
218 3 }
219 2 _bTNum=i;
220 2 for( _bTNum=i; (_bTNum>0) && (_PrinTBuf[_bTNum-1]); _bTNum--)
221 2 {
222 3
223 3 SBUF = _PrinTBuf[_bTNum-1]; while(!TI); TI = 0;
224 3
225 3 }
226 2 }
227 1 SBUF = ' '; while(!TI); TI = 0;
228 1
229 1
230 1 i=0;
231 1 if(bV2 == 0)
232 1 {
233 2 SBUF = '0'; while(!TI); TI = 0;
234 2 SBUF = '0'; while(!TI); TI = 0;
235 2 }
C51 COMPILER V8.05a MAIN 01/05/2009 15:57:47 PAGE 5
236 1 else
237 1 {
238 2 while((bV2)&&(i<4))
239 2 {
240 3 _PrinTBuf[i++] = szTable[bV2%10];
241 3 bV2 /= 10;
242 3 }
243 2 _bTNum=i;
244 2 for( _bTNum=i; (_bTNum>0) && (_PrinTBuf[_bTNum-1]); _bTNum--)
245 2 {
246 3
247 3 SBUF = _PrinTBuf[_bTNum-1]; while(!TI); TI = 0;
248 3
249 3 }
250 2 }
251 1 SBUF = ' '; while(!TI); TI = 0;
252 1
253 1
254 1 i=0;
255 1 if(bV3 == 0)
256 1 {
257 2 SBUF = '0'; while(!TI); TI = 0;
258 2 SBUF = '0'; while(!TI); TI = 0;
259 2 }
260 1 else
261 1 {
262 2 while((bV3)&&(i<4))
263 2 {
264 3 _PrinTBuf[i++] = szTable[bV3%10];
265 3 bV3 /= 10;
266 3 }
267 2 _bTNum=i;
268 2 for( _bTNum=i; (_bTNum>0) && (_PrinTBuf[_bTNum-1]); _bTNum--)
269 2 {
270 3
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -