📄 project1.lst
字号:
195 3 {
196 4 if(i>=12)
197 4 i=i+4;
198 4 if((i==10)||(i==11))
199 4 {
200 5 if(rbuf[5]==0x01)
201 5 i=i;
202 5 else if(rbuf[5]==0x02)
203 5 i=i+2;
204 5 else if(rbuf[5]==0x03)
205 5 i=i+4;
206 5 else if(rbuf[5]==0x04)
207 5 i=i+6;
208 5 else
209 5 break;
210 5
211 5 }
212 4
213 4 if(i==0x11)
214 4 i=22;
215 4
216 4
217 4 if(i==23)
218 4 i=10;
219 4
220 4 if(i==31)
221 4 i=22;
222 4 if(i==32)
223 4 i=4;
224 4
225 4 Action(i);
226 4
227 4 flag_ea=1;
228 4 EA=1;
229 4 break;
230 4 }
231 3
232 3 }
233 2 r_out=1;
234 2 r_in=0;
235 2 }
C51 COMPILER V7.01 PROJECT1 05/25/2006 15:21:24 PAGE 5
236 1 }
237 /*---------------------------------------------------------------
238 ADT KEYBOARD
239 -----------------------------------------------------------------*/
240 void Get_Order12(void)
241 {
242 1
243 1
244 1
245 1 if(r_out!=9)
246 1 {
247 2 r_out = 9;
248 2 r_in= 1 ;
249 2 EA=1;
250 2
251 2 }
252 1
253 1 /* else if((rbuf[1])!= Camera)
254 1 {
255 1
256 1 r_out=1;
257 1 r_in=0;
258 1 }*/
259 1 else
260 1 {
261 2
262 2 s=rbuf[3];
263 2 for(i=0;i<18;i++)
264 2 {
265 3
266 3 t=My_Array15[i];
267 3
268 3 if(t==s)
269 3 {
270 4
271 4 if(i>15)
272 4 i=22;
273 4
274 4 if(i>11 && i<16)
275 4 i=i+6;
276 4 if(i==10 || i==11)
277 4 {
278 5 i=(rbuf[4]-1)*2 + i;
279 5 if(i>17)
280 5 break;
281 5 }
282 4
283 4 Action(i);
284 4 flag_ea=1;
285 4 EA=1;
286 4 break;
287 4 }
288 3 }
289 2 flag_ea=1;
290 2 EA=1;
291 2 r_out=1;
292 2 r_in=0;
293 2 }
294 1 }
295
296 /*--------------------------
297 MAIN()
C51 COMPILER V7.01 PROJECT1 05/25/2006 15:21:24 PAGE 6
298 ----------------------------*/
299
300 void main (void)
301 {
302 1 P0=0xFF;
303 1 boot_flag=0xff;
304 1 EA =1;
305 1 ES=0;
306 1
307 1
308 1 RT_CON1=1;
309 1 RT_CON2=0;
310 1 ID5=Camera;
311 1
312 1 PCON = 0x00;
313 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
314 1 TMOD = 0x21; /* TMOD: timer 1, mode 2, 8-bit reload */
315 1
316 1 in_p3=~P3;
317 1 Baut = in_p3 & 0x60;
318 1 Protocol = in_p3 & 0x80;
319 1
320 1 SystemSet();
321 1
322 1 if (Baut==0x00)
323 1 {
324 2 TH1 = 0xFD; /* TH1: reload value for 9600 baud */
325 2 }
326 1 else if (Baut==0x40)
327 1 {
328 2 TH1 = 0xFA; /* TH1: reload value for 4800 baud */
329 2 }
330 1 else if (Baut==0x20)
331 1 {
332 2 TH1 = 0xF4; /* TH1: reload value for 2400 baud */
333 2 }
334 1 else
335 1 {
336 2 TH1 = 0xE8; /* TH1: reload value for 1200 baud */
337 2 }
338 1
339 1 REN = 1;
340 1 TR1= 1; /* TR1: timer 1 run */
-
341 1 ES=1; //使能中断
342 1
343 1 if((SCONF | 0x7F)==0xFF) //WATCH DOG
344 1 {
345 2 SCONF = 0x00;
346 2 WDTC = WDTC | 0x20;
347 2 }
348 1
349 1 WDTC = 0x84;
350 1
351 1 /*---------------主循环----------------*/
352 1 while(1)
353 1 {
354 2 P0=0xFF;
355 2 if(wdt_count<20)
356 2 WDTC = WDTC | 0x20; /*Clear WDT*/
357 2
358 2 if(flag_ea) /*wait the interrupt*/
C51 COMPILER V7.01 PROJECT1 05/25/2006 15:21:24 PAGE 7
359 2 {
360 3 EA=1;
361 3 REN=1;
362 3 }
363 2
364 2 else if (rbuf[0]==0x80)
365 2 {
366 3 wdt_count=0;
367 3 EA=1;
368 3 REN=1;
369 3 flag_ea=1;
370 3 }
371 2
372 2 else if (rbuf[0]==0xFF || rbuf[0]==0xF0 )
373 2 {
374 3 if(rbuf[0]==0xFF)
375 3 Get_Order4();
376 3 if(rbuf[0]==0xF0)
377 3 Get_Order12();
378 3 EA=1;
379 3 REN=1;
380 3 flag_ea=1;
381 3 wdt_count=0;
382 3 }
383 2
384 2 else
385 2 flag_ea=1;
386 2 }
387 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 647 ----
CONSTANT SIZE = 148 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 39 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -