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

📄 18f_can.lst

📁 用pic18f4580实现can网通信 调试通过
💻 LST
📖 第 1 页 / 共 5 页
字号:
00016e   cff8     MOVFF     0xff8,0x69                                                                                      
000170   f069                                                                                                               
                                                 //prom = data_ptr->from;                                                   C:\MCC18\src\traditional\startup\c018i.c
                                                 //FSR0 = data_ptr->to;                                                     C:\MCC18\src\traditional\startup\c018i.c
000172   c060     MOVFF     0x60,0xff6           //curr_byte = (unsigned short) data_ptr->size;                             C:\MCC18\src\traditional\startup\c018i.c
000174   fff6                                                                                                               
000176   c061     MOVFF     0x61,0xff7                                                                                      
000178   fff7                                                                                                               
00017a   c062     MOVFF     0x62,0xff8                                                                                      
00017c   fff8                                                                                                               
                                                 /* the table pointer now points to the next entry. Save it                 C:\MCC18\src\traditional\startup\c018i.c
                                                  * off since we'll be using the table pointer to do the copying            C:\MCC18\src\traditional\startup\c018i.c
                                                  * for the entry.                                                          C:\MCC18\src\traditional\startup\c018i.c
                                                  */                                                                        C:\MCC18\src\traditional\startup\c018i.c
00017e   0100     MOVLB     0x0                  data_ptr = TBLPTR;                                                         C:\MCC18\src\traditional\startup\c018i.c
000180   5363     MOVF      0x63,0x1,0x1                                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                                 /* now assign the source address to the table pointer */                   C:\MCC18\src\traditional\startup\c018i.c
000182   e102     BNZ       0x188                TBLPTR = prom;                                                             C:\MCC18\src\traditional\startup\c018i.c
000184   5364     MOVF      0x64,0x1,0x1                                                                                    C:\MCC18\src\traditional\startup\c018i.c
000186   e007     BZ        0x196                /* do the copy loop */                                                     C:\MCC18\src\traditional\startup\c018i.c
                                                 _asm                                                                       C:\MCC18\src\traditional\startup\c018i.c
                                                   // determine if we have any more bytes to copy                           C:\MCC18\src\traditional\startup\c018i.c
000188   0009     TBLRDPOSTINC             	movlb curr_byte                                                                 C:\MCC18\src\traditional\startup\c018i.c
00018a   50f5     MOVF      0xf5,0x0,0x0   	movf curr_byte, 1, 1                                                            C:\MCC18\src\traditional\startup\c018i.c
00018c   6eee     MOVWF     0xee,0x0       copy_loop:                                                                       C:\MCC18\src\traditional\startup\c018i.c
                                           	bnz 2 // copy_one_byte                                                          C:\MCC18\src\traditional\startup\c018i.c
                                           	movf curr_byte + 1, 1, 1                                                        C:\MCC18\src\traditional\startup\c018i.c
00018e   0763     DECF      0x63,0x1,0x1   	bz 7 // done_copying                                                            C:\MCC18\src\traditional\startup\c018i.c
000190   e2f8     BC        0x182                                                                                           C:\MCC18\src\traditional\startup\c018i.c
000192   0764     DECF      0x64,0x1,0x1   copy_one_byte:                                                                   C:\MCC18\src\traditional\startup\c018i.c
000194   d7f9     BRA       0x188          	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                           	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
                                           	movwf POSTINC0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
                                                                                                                            C:\MCC18\src\traditional\startup\c018i.c
                                           	// decrement byte counter                                                       C:\MCC18\src\traditional\startup\c018i.c
                                           	decf curr_byte, 1, 1                                                            C:\MCC18\src\traditional\startup\c018i.c
000196   c067     MOVFF     0x67,0xff6     	bc -8 // copy_loop                                                              C:\MCC18\src\traditional\startup\c018i.c
000198   fff6                                                                                                               
00019a   c068     MOVFF     0x68,0xff7                                                                                      
00019c   fff7                                                                                                               
00019e   c069     MOVFF     0x69,0xff8                                                                                      
0001a0   fff8                                                                                                               
                                                   decf curr_byte + 1, 1, 1                                                 C:\MCC18\src\traditional\startup\c018i.c
0001a2   0100     MOVLB     0x0            	bra -7 // copy_one_byte                                                         C:\MCC18\src\traditional\startup\c018i.c
0001a4   0765     DECF      0x65,0x1,0x1                                                                                    
0001a6   0e00     MOVLW     0x0                                                                                             
0001a8   5b66     SUBWFB    0x66,0x1,0x1                                                                                    
0001aa   d7bf     BRA       0x12a                                                                                           C:\MCC18\src\traditional\startup\c018i.c
                                           done_copying:                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                                                                                                            C:\MCC18\src\traditional\startup\c018i.c
0001ac   0012     RETURN    0x0                  _endasm                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                                 /* restore the table pointer for the next entry */                         C:\MCC18\src\traditional\startup\c018i.c
                                                 TBLPTR = data_ptr;                                                         C:\MCC18\src\traditional\startup\c018i.c
                                                 /* next entry... */                                                        C:\MCC18\src\traditional\startup\c018i.c
                                                 curr_entry--;                                                              C:\MCC18\src\traditional\startup\c018i.c
                                                 goto test;                                                                 C:\MCC18\src\traditional\startup\c018i.c
                                           done:                                                                            C:\MCC18\src\traditional\startup\c018i.c
                                           ;                                                                                C:\MCC18\src\traditional\startup\c018i.c
                                           }                                                                                C:\MCC18\src\traditional\startup\c018i.c
                                           //*******************************************************************            D:\work\pic\18f_can\18f_can.c
                                           //CAN通讯子程序,2006-9-23调试                                                    D:\work\pic\18f_can\18f_can.c
                                           //2007-3-13改:作为接收板                                                        D:\work\pic\18f_can\18f_can.c
                                           //*******************************************************************            D:\work\pic\18f_can\18f_can.c
                                           #include  "p18f6585.h"                                                           D:\work\pic\18f_can\18f_can.c
                                                                                                                            D:\work\pic\18f_can\18f_can.c
                                           void 		can_isr(void);                                                            D:\work\pic\18f_can\18f_can.c
                                           void   		initcan(void);                                                          D:\work\pic\18f_can\18f_can.c
                                           int 		CAN_FLAG,cnt;                                                              D:\work\pic\18f_can\18f_can.c
                                                                                                                            D:\work\pic\18f_can\18f_can.c
                                           void   		initcan(void)                                                           D:\work\pic\18f_can\18f_can.c
                                           {                                                                                D:\work\pic\18f_can\18f_can.c
00002c   0e08     MOVLW     0x8            	TRISB=(TRISB|0X08)&0XFB;//设置RB3为输入,RB2为输出                              D:\work\pic\18f_can\18f_can.c
00002e   1093     IORWF     0x93,0x0,0x0                                                                                    
000030   0bfb     ANDLW     0xfb                                                                                            
000032   6e93     MOVWF     0x93,0x0                                                                                        
                                           //*******************************************************************            D:\work\pic\18f_can\18f_can.c
                                           //进入配置模式配置各寄存器                                                       D:\work\pic\18f_can\18f_can.c
000034   6a77     CLRF      0x77,0x0       	ECANCON=0;                                                                      D:\work\pic\18f_can\18f_can.c
000036   0e80     MOVLW     0x80              	CANCON	=0x80;			//请求进入CAN配置模式                                        D:\work\pic\18f_can\18f_can.c
000038   6e6f     MOVWF     0x6f,0x0                                                                                        
00003a   0e00     MOVLW     0x0             	while(CANSTAT&0X80==0){;}//等待进入CAN模式                                     D:\work\pic\18f_can\18f_can.c
00003c   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00003e   e001     BZ        0x42                                                                                            

⌨️ 快捷键说明

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