📄 main.ls1
字号:
0048 120000 F 429 LCALL UART0_Init
430 ; EA=1;
431 ; SOURCE LINE # 56
004B D2AF 432 SETB EA
433 ; ES0=1;
434 ; SOURCE LINE # 57
004D D2AC 435 SETB ES0
A51 MACRO ASSEMBLER MAIN 08/03/2009 16:59:01 PAGE 8
436 ; delay(400);
437 ; SOURCE LINE # 58
004F 7F90 438 MOV R7,#090H
0051 7E01 439 MOV R6,#01H
0053 120000 F 440 LCALL _delay
441 ; nres=0;
442 ; SOURCE LINE # 59
0056 C287 443 CLR nres
444 ; delayms(100);
445 ; SOURCE LINE # 60
0058 7F64 446 MOV R7,#064H
005A 7E00 447 MOV R6,#00H
005C 120000 F 448 LCALL _delayms
449 ; nres=1;
450 ; SOURCE LINE # 61
005F D287 451 SETB nres
452 ; ia442xinit();
453 ; SOURCE LINE # 62
0061 120000 F 454 LCALL ia442xinit
455 ; spirevtwobyte();
456 ; SOURCE LINE # 63
0064 120000 F 457 LCALL spirevtwobyte
458 ; spisendcommand(0x8288); //电源管理 whole receive cryst
al on
459 ; SOURCE LINE # 64
0067 7F88 460 MOV R7,#088H
0069 7E82 461 MOV R6,#082H
006B 120000 F 462 LCALL _spisendcommand
463 ; spisendcommand(0xca83); //FIFO COMMAND
464 ; SOURCE LINE # 65
006E 7F83 465 MOV R7,#083H
0070 7ECA 466 MOV R6,#0CAH
0072 120000 F 467 LCALL _spisendcommand
468 ;
469 ;
470 ; if(DEBUG) Printf_String("\r\n[msg:]Copyright(c) SKEE LTD,.CO. 1996-2009");
471 ; SOURCE LINE # 68
0075 7BFF 472 MOV R3,#0FFH
0077 7A00 F 473 MOV R2,#HIGH (?SC_0)
0079 7900 F 474 MOV R1,#LOW (?SC_0)
007B 120000 F 475 LCALL _Printf_String
476 ; if(DEBUG) Printf_String("\r\n[msg:]EZradio SI4421(433M) Running on C8051F310");
477 ; SOURCE LINE # 69
007E 7BFF 478 MOV R3,#0FFH
0080 7A00 F 479 MOV R2,#HIGH (?SC_45)
0082 7900 F 480 MOV R1,#LOW (?SC_45)
0084 120000 F 481 LCALL _Printf_String
482 ;
483 ;
484 ; memset(tagnr, 0, sizeof(tagnr)); //清空登记标签结构体
485 ; SOURCE LINE # 72
0087 7E00 486 MOV R6,#00H
0089 7F5A 487 MOV R7,#05AH
008B 7D00 488 MOV R5,#00H
008D 7B01 489 MOV R3,#01H
008F 7A00 F 490 MOV R2,#HIGH (tagnr)
0091 7900 F 491 MOV R1,#LOW (tagnr)
0093 120000 F 492 LCALL ?C?MEMSET
493 ; memset(wiebuf_cout, 0, sizeof(wiebuf_cout));
494 ; SOURCE LINE # 73
0096 7E00 495 MOV R6,#00H
0098 7F20 496 MOV R7,#020H
009A 7D00 497 MOV R5,#00H
009C 7B01 498 MOV R3,#01H
009E 7A00 F 499 MOV R2,#HIGH (wiebuf_cout)
00A0 7900 F 500 MOV R1,#LOW (wiebuf_cout)
A51 MACRO ASSEMBLER MAIN 08/03/2009 16:59:01 PAGE 9
00A2 120000 F 501 LCALL ?C?MEMSET
502 ;
503 ; Init_AT25XXX(0x00); //初始化AT25xxx SPI eeprom
504 ; SOURCE LINE # 75
00A5 E4 505 CLR A
00A6 FF 506 MOV R7,A
00A7 120000 F 507 LCALL _Init_AT25XXX
508 ;
509 ; PCA0L = 0x00;
510 ; SOURCE LINE # 77
00AA E4 511 CLR A
00AB F5F9 512 MOV PCA0L,A
513 ; PCA0CPL4 = 255; //32.1ms
514 ; SOURCE LINE # 78
00AD 75FDFF 515 MOV PCA0CPL4,#0FFH
516 ; PCA0MD |= 0x40; //开启看门狗
517 ; SOURCE LINE # 79
00B0 43D940 518 ORL PCA0MD,#040H
519 ;
520 ;
521 ; /*
522 ; for(i=0;i<32;i++) //test flash
523 ; {
524 ; combuf[i]=FLASH_PageRead(0x3000+i);
525 ; }
526 ;
527 ; if(DEBUG) Printf_String("\r\n[msg:]test flash");
528 ; */
529 ; #ifdef TEST
530 ; wiebuf[0]=0xaa; //test AT25128 eeprom
531 ; SOURCE LINE # 91
00B3 900000 F 532 MOV DPTR,#wiebuf
00B6 74AA 533 MOV A,#0AAH
00B8 F0 534 MOVX @DPTR,A
535 ; wiebuf[1]=0xbb;
536 ; SOURCE LINE # 92
00B9 A3 537 INC DPTR
00BA 74BB 538 MOV A,#0BBH
00BC F0 539 MOVX @DPTR,A
540 ; wiebuf[2]=0xcc;
541 ; SOURCE LINE # 93
00BD A3 542 INC DPTR
00BE 74CC 543 MOV A,#0CCH
00C0 F0 544 MOVX @DPTR,A
545 ;
546 ; AT25_WritePage(0x1000,3,wiebuf);
547 ; SOURCE LINE # 95
00C1 7B01 548 MOV R3,#01H
00C3 7A00 F 549 MOV R2,#HIGH (wiebuf)
00C5 7900 F 550 MOV R1,#LOW (wiebuf)
00C7 7D03 551 MOV R5,#03H
00C9 7F00 552 MOV R7,#00H
00CB 7E10 553 MOV R6,#010H
00CD 120000 F 554 LCALL _AT25_WritePage
555 ; AT25_ReadArray(0x1000,3,wiebuf+3);
556 ; SOURCE LINE # 96
00D0 7B01 557 MOV R3,#01H
00D2 7A00 F 558 MOV R2,#HIGH (wiebuf+03H)
00D4 7900 F 559 MOV R1,#LOW (wiebuf+03H)
00D6 7D03 560 MOV R5,#03H
00D8 7C00 561 MOV R4,#00H
00DA 7F00 562 MOV R7,#00H
00DC 7E10 563 MOV R6,#010H
00DE 120000 F 564 LCALL _AT25_ReadArray
00E1 565 ?C0003:
566 ; #endif
A51 MACRO ASSEMBLER MAIN 08/03/2009 16:59:01 PAGE 10
567 ;
568 ; while(1)
569 ; SOURCE LINE # 99
570 ; {
571 ; SOURCE LINE # 100
572 ; /**********@taska@**********/
573 ; LEDR_ON; //
确保常态下显示
574 ; SOURCE LINE # 102
00E1 C282 575 CLR LEDR
00E3 D283 576 SETB LEDG
577 ; LEDG_OFF;
578 ; SOURCE LINE # 103
00E5 D283 579 SETB LEDG
580 ; BELL_OFF;
581 ; SOURCE LINE # 104
00E7 C2A7 582 CLR BELL
583 ;
584 ; /**********@task0@**********/ //处理无线接收的信息
585 ;
586 ; if(receive())
587 ; SOURCE LINE # 108
00E9 120000 F 588 LCALL receive
00EC 5003 589 JNC ?C0005
590 ; {
591 ; SOURCE LINE # 109
592 ; AnalyseFrame();
593 ; SOURCE LINE # 110
00EE 120000 F 594 LCALL AnalyseFrame
595 ; }
596 ; SOURCE LINE # 111
00F1 597 ?C0005:
598 ;
599 ;
600 ; /**********@task1@**********/ //串口数据处理
601 ;
602 ; event_word_copy=event_word; //搜集时间片
603 ; SOURCE LINE # 116
00F1 900000 F 604 MOV DPTR,#event_word
00F4 E0 605 MOVX A,@DPTR
00F5 FF 606 MOV R7,A
00F6 A3 607 INC DPTR
00F7 E0 608 MOVX A,@DPTR
00F8 900000 F 609 MOV DPTR,#event_word_copy?041
00FB CF 610 XCH A,R7
00FC F0 611 MOVX @DPTR,A
00FD A3 612 INC DPTR
00FE EF 613 MOV A,R7
00FF F0 614 MOVX @DPTR,A
615 ;
616 ; if(event_word_copy&event_uart_arrived)
617 ; SOURCE LINE # 118
0100 E0 618 MOVX A,@DPTR
0101 30E30E 619 JNB ACC.3,?C0006
620 ; {
621 ; SOURCE LINE # 119
622 ; EA=0;
623 ; SOURCE LINE # 120
0104 C2AF 624 CLR EA
625 ; event_word&= ~(event_uart_arrived);//自毁完成任务标记
626 ; SOURCE LINE # 121
0106 900000 F 627 MOV DPTR,#event_word+01H
0109 E0 628 MOVX A,@DPTR
010A 54F7 629 ANL A,#0F7H
010C F0 630 MOVX @DPTR,A
631 ; EA=1;
A51 MACRO ASSEMBLER MAIN 08/03/2009 16:59:01 PAGE 11
632 ; SOURCE LINE # 122
010D D2AF 633 SETB EA
634 ; process_uart();
635 ; SOURCE LINE # 123
010F 120000 F 636 LCALL process_uart
637 ; }
638 ; SOURCE LINE # 124
0112 639 ?C0006:
640 ;
641 ;
642 ;
643 ;
644 ; /**********@task2@**********/ //每100ms轮询无线标签
645 ; if(event_word_copy&event_time_100ms)
646 ; SOURCE LINE # 130
0112 900000 F 647 MOV DPTR,#event_word_copy?041+01H
0115 E0 648 MOVX A,@DPTR
0116 30E11E 649 JNB ACC.1,?C0007
650 ; {
651 ; SOURCE LINE # 131
652 ; EA=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -