📄 int.ls1
字号:
438 ; XBR1 |= 0x00;
439 ; SOURCE LINE # 36
440 ; XBR1 |= 0x04; //INT0 Routed To Port Pin
441 ; SOURCE LINE # 37
0003 43E204 442 ORL XBR1,#04H
443 ; XBR2 |= 0x40; //If crossbar is disabled, all ports are in input mode.
444 ; SOURCE LINE # 38
0006 43E340 445 ORL XBR2,#040H
446 ; XBR3 |= 0x80; //CTX pin's output mode is configured as push-pull.
447 ; SOURCE LINE # 39
0009 43E480 448 ORL XBR3,#080H
449 ; P0MDOUT = 0x00;
450 ; SOURCE LINE # 40
000C E4 451 CLR A
000D F5A4 452 MOV P0MDOUT,A
453 ; P1MDIN =0xFF;
454 ; SOURCE LINE # 41
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 8
000F 75ADFF 455 MOV P1MDIN,#0FFH
456 ; // P4MDOUT = 0x03; //CANLED and ENABLE
457 ; // P5MDOUT = 0x00; //OUTPUT CONTROL PORT
458 ; // P6MDOUT = 0x00; //OUTPUT CONTROL PORT
459 ; }
460 ; SOURCE LINE # 45
0012 22 461 RET
462 ; END OF PORT_Init
463
464 ;
465 ; //-----------------------------------------------------------------------------
466 ; // INT_Init
467 ; // Interrupts By Priority : INT0 > CAN0
468 ; //-----------------------------------------------------------------------------
469 ; void INT_Init (void)
470
---- 471 RSEG ?PR?INT_Init?INT
0000 472 INT_Init:
473 ; SOURCE LINE # 51
474 ; {
475 ; SOURCE LINE # 52
476 ; // IE |= 0x03; //INT0 Interrupt Enabled
477 ; //Timer0 Interrupt Enabled
478 ; // IE |= 0x01; //INT0 Interrupt Enabled
479 ; EIE2 |= 0x20; //CAN0 Interrupt Enabled
480 ; SOURCE LINE # 56
0000 43E720 481 ORL EIE2,#020H
482 ; }
483 ; SOURCE LINE # 57
0003 22 484 RET
485 ; END OF INT_Init
486
487 ;
488 ;
489 ; //-----------------------------------------------------------------------------
490 ; // CAN_Init
491 ; // CAN0CN : Automatic Retransmission is Disable. Error and Status Interrrupt
492 ; // is Disabled. Module Interrrup is eabled.
493 ; // BITREG : BaudRate is 1M/8(b/s).
494 ; // CAN0TST : Tx1, Tx0, LBack and Silenct are all 0. Use Basic Mode.
495 ; //-----------------------------------------------------------------------------
496 ; void CAN_Init (void)
497
---- 498 RSEG ?PR?CAN_Init?INT
0000 499 CAN_Init:
500 ; SOURCE LINE # 67
501 ; {
502 ; SOURCE LINE # 68
503 ; SFRPAGE = CAN0_PAGE;
504 ; SOURCE LINE # 69
0000 758401 505 MOV SFRPAGE,#01H
506 ; CAN0CN = 0xC3;
507 ; SOURCE LINE # 70
0003 75F8C3 508 MOV CAN0CN,#0C3H
509 ; CAN0ADR = 0x03;
510 ; SOURCE LINE # 71
0006 75DA03 511 MOV CAN0ADR,#03H
512 ; CAN0DATH = 0x5E;
513 ; SOURCE LINE # 72
0009 75D95E 514 MOV CAN0DATH,#05EH
515 ; CAN0DATL = 0xC7;
516 ; SOURCE LINE # 73
000C 75D8C7 517 MOV CAN0DATL,#0C7H
518 ; CAN0TST = 0x10; //LBack
519 ; SOURCE LINE # 74
000F 75DB10 520 MOV CAN0TST,#010H
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 9
521 ; CAN0CN = 0x82; //disable automatic retransmission
522 ; SOURCE LINE # 75
0012 75F882 523 MOV CAN0CN,#082H
524 ; }
525 ; SOURCE LINE # 76
0015 22 526 RET
527 ; END OF CAN_Init
528
529 ;
530 ; //-----------------------------------------------------------------------------
531 ; // CAN_Transmit_Init
532 ; //-----------------------------------------------------------------------------
533 ; void CAN_Transmit_Init (unsigned char MsgNum , unsigned char id)
534
---- 535 RSEG ?PR?_CAN_Transmit_Init?INT
0000 536 _CAN_Transmit_Init:
537 USING 0
538 ; SOURCE LINE # 81
539 ;---- Variable 'id?441' assigned to Register 'R5' ----
540 ;---- Variable 'MsgNum?440' assigned to Register 'R7' ----
541 ; {
542 ; SOURCE LINE # 82
543 ; unsigned char id_temp;
544 ; id_temp = id << 2; // id & 0x0F) << 2
545 ; SOURCE LINE # 84
0000 ED 546 MOV A,R5
0001 25E0 547 ADD A,ACC
0003 25E0 548 ADD A,ACC
0005 FE 549 MOV R6,A
550 ;---- Variable 'id_temp?442' assigned to Register 'R6' ----
551 ;
552 ; SFRPAGE = CAN0_PAGE;
553 ; SOURCE LINE # 86
0006 758401 554 MOV SFRPAGE,#01H
555 ; CAN0ADR = IF1CMDMSK;
556 ; SOURCE LINE # 87
0009 75DA09 557 MOV CAN0ADR,#09H
558 ; CAN0DATL = 0xb3; //wr/rd=1,mask=0,arb=1,control=1,,clrintpnd=0,txrqet=0,dataa=1,data
b=1
559 ; SOURCE LINE # 88
000C 75D8B3 560 MOV CAN0DATL,#0B3H
561 ;
562 ; // CAN0ADR = IF1MSK1;
563 ; // CAN0DATH = 0x00;
564 ; // CAN0DATL = 0x00;
565 ; // CAN0DATH = 0x00; //!!bit 13 :not use
566 ; // CAN0DATL = 0x00; //IF1MSK
567 ;
568 ; CAN0ADR = IF1ARB1;
569 ; SOURCE LINE # 96
000F 75DA0C 570 MOV CAN0ADR,#0CH
571 ; CAN0DATH = 0x00;
572 ; SOURCE LINE # 97
0012 E4 573 CLR A
0013 F5D9 574 MOV CAN0DATH,A
575 ; CAN0DATL = 0x00;
576 ; SOURCE LINE # 98
0015 F5D8 577 MOV CAN0DATL,A
578 ; CAN0DATH = 0xA0; //101(01)00
579 ; SOURCE LINE # 99
0017 75D9A0 580 MOV CAN0DATH,#0A0H
581 ; CAN0DATL = id_temp; //0x80 | (((DO_Address & 0x0F) << 2)); //IF1ARB
582 ; SOURCE LINE # 100
001A 8ED8 583 MOV CAN0DATL,R6
584 ; //MsgVal=1, Xad=0,Dir=1:send
585 ; CAN0DATH = 0x00; // use the filter,UMask=1,RmtEn=1
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 10
586 ; SOURCE LINE # 102
001C F5D9 587 MOV CAN0DATH,A
588 ; CAN0DATL = 0x88; //IF1MSGC: eob=1, dlc =8
589 ; SOURCE LINE # 103
001E 75D888 590 MOV CAN0DATL,#088H
591 ;
592 ; CAN0ADR = IF1CMDRQST;
593 ; SOURCE LINE # 105
0021 75DA08 594 MOV CAN0ADR,#08H
595 ; CAN0DATL = MsgNum; //
596 ; SOURCE LINE # 106
0024 8FD8 597 MOV CAN0DATL,R7
598 ; }
599 ; SOURCE LINE # 107
0026 22 600 RET
601 ; END OF _CAN_Transmit_Init
602
603 ;
604 ; //-----------------------------------------------------------------------------
605 ; // CAN_Receive_Init
606 ; //-----------------------------------------------------------------------------
607 ; void CAN_Receive_Init (unsigned char MsgNum , unsigned char id)
608
---- 609 RSEG ?PR?_CAN_Receive_Init?INT
0000 610 _CAN_Receive_Init:
611 USING 0
612 ; SOURCE LINE # 112
613 ;---- Variable 'id?544' assigned to Register 'R5' ----
614 ;---- Variable 'MsgNum?543' assigned to Register 'R7' ----
615 ; {
616 ; SOURCE LINE # 113
617 ; unsigned char id_temp;
618 ; id_temp = id << 2; // id & 0x0F) << 2
619 ; SOURCE LINE # 115
0000 ED 620 MOV A,R5
0001 25E0 621 ADD A,ACC
0003 25E0 622 ADD A,ACC
0005 FE 623 MOV R6,A
624 ;---- Variable 'id_temp?545' assigned to Register 'R6' ----
625 ;
626 ; SFRPAGE = CAN0_PAGE;
627 ; SOURCE LINE # 117
0006 758401 628 MOV SFRPAGE,#01H
629 ; CAN0ADR = IF2CMDMSK;
630 ; SOURCE LINE # 118
0009 75DA21 631 MOV CAN0ADR,#021H
632 ; CAN0DATL = 0xbb;
633 ; SOURCE LINE # 119
000C 75D8BB 634 MOV CAN0DATL,#0BBH
635 ;
636 ; // CAN0ADR = IF2MSK1;
637 ; // CAN0DATH = 0x00;
638 ; // CAN0DATL = 0x00;
639 ; // CAN0DATH = 0x00; //0x23;
640 ; // CAN0DATL = 0xF4; //IF2MSK 0xco;
641 ;
642 ; CAN0ADR = IF2ARB1;
643 ; SOURCE LINE # 127
000F 75DA24 644 MOV CAN0ADR,#024H
645 ; CAN0DATH = 0x00;
646 ; SOURCE LINE # 128
0012 E4 647 CLR A
0013 F5D9 648 MOV CAN0DATH,A
649 ; CAN0DATL = 0x00;
650 ; SOURCE LINE # 129
0015 F5D8 651 MOV CAN0DATL,A
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 11
652 ; CAN0DATH = 0x80;
653 ; SOURCE LINE # 130
0017 75D980 654 MOV CAN0DATH,#080H
655 ; CAN0DATL = id_temp; //IF2ARB
656 ; SOURCE LINE # 131
001A 8ED8 657 MOV CAN0DATL,R6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -