📄 int.lst
字号:
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE INT
OBJECT MODULE PLACED IN .\obj\INT.obj
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE INT.C BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\INT.lst) OBJECT(.
-\obj\INT.obj)
line level source
1 #include "indash.h"
2
3 extern char Current_Status;
4 extern unsigned char IR_Address_L;
5 extern unsigned char IR_Address_H;
6 extern unsigned char IR_Data;
7 extern char DVD_Flag;
8 extern unsigned char DVD_Value;
9 extern char IR_Data_OK_Flag;
10 extern char IR_Repeat_Data_Flag;
11 extern char play_pause_flag;
12
13 /* for 24Mhz and repeat code is short */
14 void EX0_INT (void) interrupt 0
15 {
16 1 static char repeat = False;
17 1 unsigned char hi = 0;
18 1 unsigned char lo = 0;
19 1 unsigned char v1 = 0;
20 1 unsigned char v2 = 0;
21 1 char i;
22 1 int cnt = 0;
23 1
24 1 while (!IR_IN)
25 1 {
26 2 cnt++;
27 2 if (cnt > 1700)
28 2 break;
29 2 }
30 1 if (cnt > 1100 && cnt < 1700)
31 1 {
32 2 cnt = 0;
33 2 while (IR_IN)
34 2 {
35 3 cnt++;
36 3 if (cnt >1100)
37 3 break;
38 3 }
39 2 if (cnt > 480 && cnt < 1100)
40 2 {
41 3 repeat = False;
42 3 for (i = 0; i < 32; i++)
43 3 {
44 4 cnt = 0;
45 4 while (!IR_IN)
46 4 {
47 5 cnt++;
48 5 if (cnt > 340)
49 5 break;
50 5 }
51 4 if (cnt > 40 && cnt < 120)
52 4 {
53 5 cnt = 0;
54 5 while (IR_IN)
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 2
55 5 {
56 6 cnt++;
57 6 if (cnt > 340)
58 6 break;
59 6 }
60 5 if (cnt > 160 && cnt < 340)
61 5 {
62 6 if (i < 8)
63 6 lo |= 0x01 << i % 8;
64 6 else if (i < 16)
65 6 hi |= 0x01 << i % 8;
66 6 else if (i < 24)
67 6 v1 |= 0x01 << i % 8;
68 6 else
69 6 v2 |= 0x01 << i % 8;
70 6 }
71 5 }
72 4 else
73 4 break;
74 4 }
75 3 }
76 2 else if (cnt > 250 && cnt < 440)
77 2 {
78 3 if (DVD_Flag)
79 3 {
80 4 /* reflec dalay */
81 4 while (!IR_IN)
82 4 ;
83 4 for (cnt = 0; cnt <4000; cnt++)
84 4 IR_IN = 1;
85 4 DVD_Flag = False;
86 4 /*Start code */
87 4 for (cnt = 0; cnt < 2950; cnt++)
88 4 IR_IN = 0;
89 4
90 4 for (cnt = 0; cnt < 1450; cnt++)
91 4 IR_IN = 1;
92 4
93 4 /* addr_L code */
94 4 for (i = 0; i < 8; i++)
95 4 {
96 5 for (cnt = 0; cnt < 135; cnt++)
97 5 IR_IN = 0;
98 5 if ((0x01 << i) & DVD_REMOTE_ADDR_L)
99 5 {
100 6 for (cnt = 0; cnt < 435; cnt++)
101 6 IR_IN = 1;
102 6 }
103 5 else
104 5 {
105 6 for (cnt = 0; cnt < 135; cnt++)
106 6 IR_IN = 1;
107 6 }
108 5 }
109 4
110 4 /* addr_H code */
111 4 for (i = 0; i < 8; i++)
112 4 {
113 5 for (cnt = 0; cnt < 135; cnt++)
114 5 IR_IN = 0;
115 5 if ((0x01 << i) & DVD_REMOTE_ADDR_H)
116 5 {
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 3
117 6 for (cnt = 0; cnt < 435; cnt++)
118 6 IR_IN = 1;
119 6 }
120 5 else
121 5 {
122 6 for (cnt = 0; cnt < 135; cnt++)
123 6 IR_IN = 1;
124 6 }
125 5 }
126 4
127 4 /* value code */
128 4 for (i = 0; i < 8; i++)
129 4 {
130 5 for (cnt = 0; cnt < 135; cnt++)
131 5 IR_IN = 0;
132 5 if ((0x01 << i) & DVD_Value)
133 5 {
134 6 for (cnt = 0; cnt < 435; cnt++)
135 6 IR_IN = 1;
136 6 }
137 5 else
138 5 {
139 6 for (cnt = 0; cnt < 135; cnt++)
140 6 IR_IN = 1;
141 6 }
142 5 }
143 4
144 4 /* invert value code */
145 4 for (i = 0; i < 8; i++)
146 4 {
147 5 for (cnt = 0; cnt < 135; cnt++)
148 5 IR_IN = 0;
149 5 if ((0x01 << i) & ~DVD_Value)
150 5 {
151 6 for (cnt = 0; cnt < 435; cnt++)
152 6 IR_IN = 1;
153 6 }
154 5 else
155 5 {
156 6 for (cnt = 0; cnt < 135; cnt++)
157 6 IR_IN = 1;
158 6 }
159 5 }
160 4 /* end code */
161 4 for (cnt = 0; cnt < 135; cnt++)
162 4 IR_IN = 0;
163 4
164 4 IR_IN = 1;
165 4 }
166 3 else if (repeat)
167 3 IR_Repeat_Data_Flag = True;
168 3 }
169 2 }
170 1 if ((v1 ^ v2) == 0xff)
171 1 {
172 2 if (!IR_Data_OK_Flag)
173 2 {
174 3 IR_Address_L = lo;
175 3 IR_Address_H = hi;
176 3 IR_Data = v1;
177 3 repeat = True;
178 3 IR_Data_OK_Flag = True;
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 4
179 3 IR_Repeat_Data_Flag = False;
180 3
181 3 if ((IR_Address_L == REMOTE_ADDR_L) && (IR_Address_H == REMOTE_ADDR_H))
182 3 {
183 4 switch (IR_Data)
184 4 {
185 5 case KEY_DVD_POWER:
186 5 DVD_Flag = True;
187 5 DVD_Value = DVD_POWER;
188 5 break;
189 5 case KEY_DVD_DISPLAY:
190 5 DVD_Flag = True;
191 5 DVD_Value = DVD_DISPLAY;
192 5 break;
193 5 case KEY_DVD_EJECT:
194 5 DVD_Flag = True;
195 5 DVD_Value = DVD_EJECT;
196 5 break;
197 5 case KEY_DVD_AV_SEL:
198 5 DVD_Flag = True;
199 5 DVD_Value = DVD_AV_SEL;
200 5 break;
201 5 case KEY_DVD_MUTE:
202 5 DVD_Flag = True;
203 5 DVD_Value = DVD_MUTE;
204 5 break;
205 5 case KEY_DVD_AUDIO:
206 5 DVD_Flag = True;
207 5 DVD_Value = DVD_AUDIO;
208 5 break;
209 5 case KEY_DVD_AUDIO_UP:
210 5 DVD_Flag = True;
211 5 DVD_Value = DVD_AUDIO_UP;
212 5 break;
213 5 case KEY_DVD_ZOOM:
214 5 DVD_Flag = True;
215 5 DVD_Value = DVD_ZOOM;
216 5 break;
217 5 case KEY_DVD_AUDIO_DOWN:
218 5 DVD_Flag = True;
219 5 DVD_Value = DVD_AUDIO_DOWN;
220 5 break;
221 5 case KEY_DVD_REPEAT:
222 5 DVD_Flag = True;
223 5 DVD_Value = DVD_REPEAT;
224 5 break;
225 5 case KEY_DVD_SUB_TITLE:
226 5 DVD_Flag = True;
227 5 DVD_Value = DVD_SUB_TITLE;
228 5 break;
229 5 case KEY_DVD_PLAY_MODE:
230 5 DVD_Flag = True;
231 5 DVD_Value = DVD_PLAY_MODE;
232 5 break;
233 5 case KEY_DVD_RE:
234 5 play_pause_flag = 0;
235 5 DVD_Flag = True;
236 5 DVD_Value = DVD_RE;
237 5 break;
238 5 case KEY_DVD_FE:
239 5 play_pause_flag = 0;
240 5 DVD_Flag = True;
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 5
241 5 DVD_Value = DVD_FE;
242 5 break;
243 5 case KEY_DVD_BREAK:
244 5 play_pause_flag = 0;
245 5 DVD_Flag = True;
246 5 DVD_Value = DVD_BREAK;
247 5 break;
248 5 case KEY_DVD_RR:
249 5 play_pause_flag = 0;
250 5 DVD_Flag = True;
251 5 DVD_Value = DVD_RR;
252 5 break;
253 5 case KEY_DVD_PLAY:
254 5 if (play_pause_flag)
255 5 {
256 6 play_pause_flag = 0;
257 6 DVD_Flag = True;
258 6 DVD_Value = DVD_PAUSE;
259 6 }
260 5 else
261 5 {
262 6 play_pause_flag = 1;
263 6 DVD_Flag = True;
264 6 DVD_Value = DVD_PLAY;
265 6 }
266 5 break;
267 5 case KEY_DVD_FF:
268 5 play_pause_flag = 0;
269 5 DVD_Flag = True;
270 5 DVD_Value = DVD_FF;
271 5 break;
272 5 case KEY_DVD_TITLE:
273 5 DVD_Flag = True;
274 5 DVD_Value = DVD_TITLE;
275 5 break;
276 5 case KEY_DVD_MENU:
277 5 DVD_Flag = True;
278 5 DVD_Value = DVD_MENU;
279 5 break;
280 5 case KEY_DVD_SETUP:
281 5 DVD_Flag = True;
282 5 DVD_Value = DVD_SETUP;
283 5 break;
284 5 case KEY_DVD_RETURN:
285 5 DVD_Flag = True;
286 5 DVD_Value = DVD_RETURN;
287 5 break;
288 5 case KEY_DVD_ENTER:
289 5 DVD_Flag = True;
290 5 DVD_Value = DVD_ENTER;
291 5 break;
292 5 case KEY_DVD_UP:
293 5 DVD_Flag = True;
294 5 DVD_Value = DVD_UP;
295 5 break;
296 5 case KEY_DVD_DOWN:
297 5 DVD_Flag = True;
298 5 DVD_Value = DVD_DOWN;
299 5 break;
300 5 case KEY_DVD_LEFT:
301 5 DVD_Flag = True;
302 5 DVD_Value = DVD_LEFT;
C51 COMPILER V7.20 INT 11/06/2006 20:13:30 PAGE 6
303 5 break;
304 5 case KEY_DVD_RIGHT:
305 5 DVD_Flag = True;
306 5 DVD_Value = DVD_RIGHT;
307 5 break;
308 5 }
309 4 }
310 3
311 3
312 3 }
313 2 }
314 1 }
315
316
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1234 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 4
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 + -