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

📄 int.ls1

📁 2个F040之间的CAN通讯
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     658     ;                  //MsgVal=1, Xad=0,Dir=0:get  id= 0x001
                     659     ;   CAN0DATH = 0x14;           //use the filter,RxEn=1
                     660                             ; SOURCE LINE # 133
001C 75D914          661             MOV     CAN0DATH,#014H
                     662     ;   CAN0DATL = 0x88;           //IF2MSGC
                     663                             ; SOURCE LINE # 134
001F 75D888          664             MOV     CAN0DATL,#088H
                     665     ; 
                     666     ;   CAN0ADR = IF2CMDRQST;      
                     667                             ; SOURCE LINE # 136
0022 75DA20          668             MOV     CAN0ADR,#020H
                     669     ;   CAN0DATL = MsgNum;           //
                     670                             ; SOURCE LINE # 137
0025 8FD8            671             MOV     CAN0DATL,R7
                     672     ; }
                     673                             ; SOURCE LINE # 138
0027 22              674             RET     
                     675     ; END OF _CAN_Receive_Init
                     676     
                     677     ; 
                     678     ; //-----------------------------------------------------------------------------
                     679     ; // Timer_Init
                     680     ; // Timer0 For CAN Error -- If there is no CAN information form the bus for
                     681     ; //                         10ms, CPU will close all the outputs.
                     682     ; //-----------------------------------------------------------------------------
                     683     ; void Timer_Init (void) {
                     684     
----                 685             RSEG  ?PR?Timer_Init?INT
0000                 686     Timer_Init:
                     687                             ; SOURCE LINE # 145
                     688     ;   SFRPAGE = TIMER01_PAGE;
                     689                             ; SOURCE LINE # 146
0000 E4              690             CLR     A
0001 F584            691             MOV     SFRPAGE,A
                     692     ;   TMOD |= 0x01;
                     693                             ; SOURCE LINE # 147
0003 438901          694             ORL     TMOD,#01H
                     695     ;   CKCON |= 0x02;
                     696                             ; SOURCE LINE # 148
0006 438E02          697             ORL     CKCON,#02H
                     698     ;   TH0 = 0xFF;
                     699                             ; SOURCE LINE # 149
0009 758CFF          700             MOV     TH0,#0FFH
                     701     ;   TL0 = 0xFF;
                     702                             ; SOURCE LINE # 150
000C 758AFF          703             MOV     TL0,#0FFH
                     704     ; }
                     705                             ; SOURCE LINE # 151
000F 22              706             RET     
                     707     ; END OF Timer_Init
                     708     
                     709     ; 
                     710     ; //-----------------------------------------------------------------------------
                     711     ; // CAN_send
                     712     ; //-----------------------------------------------------------------------------
                     713     ; void CAN_send(unsigned char MsgNum,unsigned char *p )
                     714     
----                 715             RSEG  ?PR?_CAN_send?INT
0000                 716     _CAN_send:
                     717             USING   0
A51 MACRO ASSEMBLER  INT                                                                  07/24/2008 15:57:23 PAGE    12

                     718                             ; SOURCE LINE # 156
0000 8B00     F      719             MOV     p?747,R3
0002 8A00     F      720             MOV     p?747+01H,R2
0004 8900     F      721             MOV     p?747+02H,R1
                     722     ;---- Variable 'MsgNum?746' assigned to Register 'R7' ----
                     723     ; {
                     724                             ; SOURCE LINE # 157
                     725     ;   unsigned char num;
                     726     ; 
                     727     ;   SFRPAGE = CAN0_PAGE;
                     728                             ; SOURCE LINE # 160
0006 758401          729             MOV     SFRPAGE,#01H
                     730     ;   CAN0ADR = IF1CMDMSK;
                     731                             ; SOURCE LINE # 161
0009 75DA09          732             MOV     CAN0ADR,#09H
                     733     ;   CAN0DATL = 0x87;    //wr/rd=1,mask=0,arb=0,control=0,,clrintpnd=0,txrqet=1,dataa=1,data
                             b=1
                     734                             ; SOURCE LINE # 162
000C 75D887          735             MOV     CAN0DATL,#087H
                     736     ; 
                     737     ;   CAN0ADR = IF1DATA1;
                     738                             ; SOURCE LINE # 164
000F 75DA0F          739             MOV     CAN0ADR,#0FH
                     740     ;   for(num=0;num<8;num++)
                     741                             ; SOURCE LINE # 165
                     742     ;---- Variable 'num?748' assigned to Register 'R6' ----
0012 E4              743             CLR     A
0013 FE              744             MOV     R6,A
0014                 745     ?C0012:
                     746     ;   {
                     747                             ; SOURCE LINE # 166
                     748     ;       CAN0DATH=p[num];
                     749                             ; SOURCE LINE # 167
0014 AB00     F      750             MOV     R3,p?747
0016 AA00     F      751             MOV     R2,p?747+01H
0018 A900     F      752             MOV     R1,p?747+02H
001A 8E82            753             MOV     DPL,R6
001C 758300          754             MOV     DPH,#00H
001F 120000   F      755             LCALL   ?C?CLDOPTR
0022 F5D9            756             MOV     CAN0DATH,A
                     757     ;       num++;
                     758                             ; SOURCE LINE # 168
0024 0E              759             INC     R6
                     760     ;       CAN0DATL=p[num];
                     761                             ; SOURCE LINE # 169
0025 8E82            762             MOV     DPL,R6
0027 758300          763             MOV     DPH,#00H
002A 120000   F      764             LCALL   ?C?CLDOPTR
002D F5D8            765             MOV     CAN0DATL,A
                     766     ;   }
                     767                             ; SOURCE LINE # 170
002F 0E              768             INC     R6
0030 EE              769             MOV     A,R6
0031 C3              770             CLR     C
0032 9408            771             SUBB    A,#08H
0034 40DE            772             JC      ?C0012
0036                 773     ?C0013:
                     774     ;   
                     775     ;   CAN0ADR = IF1CMDRQST;      
                     776                             ; SOURCE LINE # 172
0036 75DA08          777             MOV     CAN0ADR,#08H
                     778     ;   CAN0DATL = MsgNum;           //
                     779                             ; SOURCE LINE # 173
0039 8FD8            780             MOV     CAN0DATL,R7
                     781     ; }
                     782                             ; SOURCE LINE # 174
A51 MACRO ASSEMBLER  INT                                                                  07/24/2008 15:57:23 PAGE    13

003B 22              783             RET     
                     784     ; END OF _CAN_send
                     785     
                     786     ; 
                     787     ; 
                     788     ; //-----------------------------------------------------------------------------
                     789     ; // CAN_receive
                     790     ; //-----------------------------------------------------------------------------
                     791     ; void CAN_receive (unsigned char MsgNum,unsigned char *p )
                     792     
----                 793             RSEG  ?PR?_CAN_receive?INT
0000                 794     _CAN_receive:
                     795             USING   0
                     796                             ; SOURCE LINE # 180
0000 8B00     F      797             MOV     p?850,R3
0002 8A00     F      798             MOV     p?850+01H,R2
0004 8900     F      799             MOV     p?850+02H,R1
                     800     ;---- Variable 'MsgNum?849' assigned to Register 'R7' ----
                     801     ; {
                     802                             ; SOURCE LINE # 181
                     803     ;   unsigned char num;
                     804     ; 
                     805     ;   SFRPAGE = CAN0_PAGE;
                     806                             ; SOURCE LINE # 184
0006 758401          807             MOV     SFRPAGE,#01H
                     808     ;   CAN0ADR = IF2CMDMSK;
                     809                             ; SOURCE LINE # 185
0009 75DA21          810             MOV     CAN0ADR,#021H
                     811     ;   CAN0DATL = 0x0F;
                     812                             ; SOURCE LINE # 186
000C 75D80F          813             MOV     CAN0DATL,#0FH
                     814     ;   CAN0ADR = IF2CMDRQST;
                     815                             ; SOURCE LINE # 187
000F 75DA20          816             MOV     CAN0ADR,#020H
                     817     ;   CAN0DATL = MsgNum;
                     818                             ; SOURCE LINE # 188
0012 8FD8            819             MOV     CAN0DATL,R7
                     820     ; 
                     821     ;   CAN0ADR = IF2DATA1;
                     822                             ; SOURCE LINE # 190
0014 75DA27          823             MOV     CAN0ADR,#027H
                     824     ;   for(num=0;num<8;num++)
                     825                             ; SOURCE LINE # 191
                     826     ;---- Variable 'num?851' assigned to Register 'R7' ----
0017 E4              827             CLR     A
0018 FF              828             MOV     R7,A
0019                 829     ?C0016:
                     830     ;   {
                     831                             ; SOURCE LINE # 192
                     832     ;       p[num] = CAN0DATH;
                     833                             ; SOURCE LINE # 193
0019 AB00     F      834             MOV     R3,p?850
001B AA00     F      835             MOV     R2,p?850+01H
001D A900     F      836             MOV     R1,p?850+02H
001F 8F82            837             MOV     DPL,R7
0021 758300          838             MOV     DPH,#00H
0024 E5D9            839             MOV     A,CAN0DATH
0026 120000   F      840             LCALL   ?C?CSTOPTR
                     841     ;       num++;
                     842                             ; SOURCE LINE # 194
0029 0F              843             INC     R7
                     844     ;       p[num] = CAN0DATL;
                     845                             ; SOURCE LINE # 195
002A 8F82            846             MOV     DPL,R7
002C 758300          847             MOV     DPH,#00H
002F E5D8            848             MOV     A,CAN0DATL
A51 MACRO ASSEMBLER  INT                                                                  07/24/2008 15:57:23 PAGE    14

0031 120000   F      849             LCALL   ?C?CSTOPTR
                     850     ;   }
                     851                             ; SOURCE LINE # 196
0034 0F              852             INC     R7
0035 EF              853             MOV     A,R7
0036 C3              854             CLR     C
0037 9408            855             SUBB    A,#08H
0039 40DE            856             JC      ?C0016
                     857     ; }
                     858                             ; SOURCE LINE # 197
003B                 859     ?C0019:
003B 22              860             RET     
                     861     ; END OF _CAN_receive
                     862     
                     863     ; 
                     864     ; //-----------------------------------------------------------------------------
                     865     ; // remote_rqst_int
                     866     ; //-----------------------------------------------------------------------------
                     867     ; void remote_rqst_int(unsigned char MsgNum , unsigned char id)        //id=1
                     868     
----                 869             RSEG  ?PR?_remote_rqst_int?INT
0000                 870     _remote_rqst_int:
                     871             USING   0
                     872                             ; SOURCE LINE # 202
                     873     ;---- Variable 'id?953' assigned to Register 'R5' ----
                     874     ;---- Variable 'MsgNum?952' assigned to Register 'R7' ----
                     875     ; {
                     876                             ; SOURCE LINE # 203
                     877     ;   unsigned char id_temp;
                     878     ;   id_temp = id << 2;          //  id & 0x0F) << 2
                     879                             ; SOURCE LINE # 205

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -