⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int.ls1

📁 2个F040之间的CAN通讯
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     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 + -