📄 mcu.lst
字号:
248 * Function : extern_interrupt0
249 * Description :
250 * Input Para :
251 * Output Para :
252 * Return Value:
253 ==================================================================*/
254 void extern_interrupt0(void) interrupt 0
255 {
256 1
257 1 }
258
259
260
261
262 /*==================================================================
263 * Function : extern_interrupt1
264 * Description :
265 * Input Para :
266 * Output Para :
267 * Return Value:
268 ==================================================================*/
269 void extern_interrupt1(void) interrupt 2
270 {
271 1 EX1 = 0;
272 1
273 1 tp_read_adc(&TP_X, &TP_Y);
274 1 if(TP_X > 0)
275 1 {
276 2 bTP_INT = TRUE;
277 2
278 2 MSTimerStart(MSTIMERMODE_HANDLE_IN_MSG, 10, tp_task);
279 2 }
280 1 else
281 1 {
282 2 IE1 = 0;
283 2 EX1 = 1;
284 2 }
285 1
286 1
287 1 //uprintf("TP INT");
288 1
289 1 #if 0
uprintf("\nX=");
uputchar(TP_X >> 8);
uputchar(TP_X & 0xFF);
uprintf(" Y=");
uputchar(TP_Y >> 8);
uputchar(TP_Y & 0xFF);
#endif
297 1
298 1
299 1
300 1 }
301
302
C51 COMPILER V7.10 MCU 04/14/2009 23:28:39 PAGE 6
303 /*==================================================================
304 * Function : uart_put
305 * Description : send U8 as raw data through uart
306 * Input Para : U8 val : the data to send
307 * Output Para : void
308 * Return Value: void
309 ==================================================================*/
310 void uart_put(U8 u8)
311 {
312 1 U1 ES_MAP;
313 1
314 1 ES_MAP = ES;
315 1
316 1 ES = 0;
317 1 SBUF = u8;
318 1 while(!TI);
319 1 TI = 0;
320 1
321 1
322 1 ES = ES_MAP;
323 1 }
324
325
326
327 static U8 RcvState = 0;
328 static U16 idata StartX, StartY, EndX, EndY;
329 static U8 idata HRcvData, LRcvData;
330 static U32 idata DataCnt;
331
332 /*==================================================================
333 * Function : UartInterruptService
334 * Description : The UART interrupt server
335 * Input Para : void
336 * Output Para : void
337 * Return Value: void
338 ==================================================================*/
339 static void UartInterruptService(void) interrupt 4
340 {
341 1 ES = 0;
342 1 RI = 0;
343 1 //uart_process(SBUF);
344 1
345 1
346 1 #ifdef DOWNLOADADDRESS
347 1 switch(RcvState)
348 1 {
349 2 case 0:
350 2 H_U16(StartX) = SBUF;
351 2 RcvState++;
352 2 break;
353 2 case 1:
354 2 L_U16(StartX) = SBUF;
355 2 RcvState++;
356 2 break;
357 2 case 2:
358 2 H_U16(StartY) = SBUF;
359 2 RcvState++;
360 2 break;
361 2 case 3:
362 2 L_U16(StartY) = SBUF;
363 2 RcvState++;
364 2 break;
C51 COMPILER V7.10 MCU 04/14/2009 23:28:39 PAGE 7
365 2
366 2 case 4:
367 2 H_U16(EndX) = SBUF;
368 2 RcvState++;
369 2 break;
370 2 case 5:
371 2 L_U16(EndX) = SBUF;
372 2 RcvState++;
373 2 break;
374 2
375 2 case 6:
376 2 H_U16(EndY) = SBUF;
377 2 RcvState++;
378 2 break;
379 2 case 7:
380 2 L_U16(EndY) = SBUF;
381 2 RcvState++;
382 2 lcd_set_write_area(StartX, StartY, EndX, EndY);
383 2 nand_erase_block(0);
384 2 nand_erase_block(1);
385 2
386 2 nand_save_bitmap_init();
387 2
388 2 DataCnt = EndY - StartY + 1;
389 2 DataCnt = DataCnt * (EndX - StartX + 1);
390 2 //DataCnt = DataCnt << 1;
391 2 break;
392 2 case 8:
393 2 DataCnt--;
394 2 HRcvData = SBUF;
395 2 nand_save_bitmap(HRcvData);
396 2 RcvState++;
397 2 break;
398 2 case 9:
399 2 LRcvData = SBUF;
400 2 nand_save_bitmap(LRcvData);
401 2 WMLCDDATA(HRcvData, LRcvData);
402 2 RcvState--;
403 2 if(DataCnt == 0)
404 2 {
405 3 RcvState = 0;
406 3 }
407 2 break;
408 2
409 2 }
410 1 #else
switch(RcvState)
{
case 0:
HRcvData = SBUF;
RcvState++;
break;
case 1:
LRcvData = SBUF;
WMLCDDATA(HRcvData, LRcvData);
RcvState--;
break;
}
#endif
425 1
426 1
C51 COMPILER V7.10 MCU 04/14/2009 23:28:39 PAGE 8
427 1 ES=1;
428 1 }
429
430
431 #if 1
432 /*==================================================================
433 * Function : Timer0InterruptService
434 * Description :
435 * Input Para :
436 * Output Para :
437 * Return Value:
438 ==================================================================*/
439 void Timer0InterruptService(void) interrupt 1
440 {
441 1 ET0 = 0;
442 1 TF0 = 0;
443 1 timer0_init(TRUE, 1, 0xDC, 0x00);
444 1 timer2_process();
445 1 ET0 = 1;
446 1 }
447 #endif
448
449
450 #if 0 /*缺省用于串口*/
/*==================================================================
* Function : Timer1InterruptService
* Description :
* Input Para :
* Output Para :
* Return Value:
==================================================================*/
void Timer1InterruptService(void) interrupt 3
{
}
#endif
463
464
465 /*==================================================================
466 * Function : Timer2InterruptService
467 * Description : Timer2 interrupt as system timer,It is importance
468 * Input Para : void
469 * Output Para : void
470 * Return Value: void
471 ==================================================================*/
472 void Timer2InterruptService(void) interrupt 5
473 {
474 1 ET2 = 0; /*close interrupt*/
475 1 TF2 = 0; /*clear interrupt flag*/
476 1
477 1 timer2_process();
478 1
479 1 ET2 = 1;
480 1 }
481
482
483
484
485
486
487
488
C51 COMPILER V7.10 MCU 04/14/2009 23:28:39 PAGE 9
489
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 803 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 4
IDATA SIZE = 14 ----
BIT SIZE = ---- 7
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -