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

📄 18f_can.lst

📁 用pic18f4580实现can网通信 调试通过
💻 LST
📖 第 1 页 / 共 5 页
字号:
000040   d7fc     BRA       0x3a                                                                                            
000042   0e01     MOVLW     0x1            	BRGCON1	=0x01;                                                                  D:\work\pic\18f_can\18f_can.c
000044   6e70     MOVWF     0x70,0x0                                                                                        
000046   0e90     MOVLW     0x90           	BRGCON2	=0x90;                                                                  D:\work\pic\18f_can\18f_can.c
000048   6e71     MOVWF     0x71,0x0                                                                                        
00004a   0e42     MOVLW     0x42           	BRGCON3	=0x42;                                                                  D:\work\pic\18f_can\18f_can.c
00004c   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            D:\work\pic\18f_can\18f_can.c
00004e   010f     MOVLB     0xf            	TXB0CON	=0x03;				//发送优先级为最高                                            D:\work\pic\18f_can\18f_can.c
000050   0e03     MOVLW     0x3                                                                                             
000052   6f40     MOVWF     0x40,0x1                                                                                        
000054   6941     SETF      0x41,0x1       	TXB0SIDH=0XFF;				//配置为11位标识码                                            D:\work\pic\18f_can\18f_can.c
000056   0ee0     MOVLW     0xe0           	TXB0SIDL=0xE0;                                                                  D:\work\pic\18f_can\18f_can.c
000058   6f42     MOVWF     0x42,0x1                                                                                        
00005a   0e02     MOVLW     0x2            	TXB0DLC	=0x02;				//数据长度为8字节                                             D:\work\pic\18f_can\18f_can.c
00005c   6f45     MOVWF     0x45,0x1                                                                                        
                                           //等待发送的8个字节数据	                                                         D:\work\pic\18f_can\18f_can.c
                                                                                                                            D:\work\pic\18f_can\18f_can.c
00005e   0e84     MOVLW     0x84           	TXB0D0	=0x84;                                                                   D:\work\pic\18f_can\18f_can.c
000060   6f46     MOVWF     0x46,0x1                                                                                        
000062   0e03     MOVLW     0x3            	TXB0D1	=0x03;                                                                   D:\work\pic\18f_can\18f_can.c
000064   6f47     MOVWF     0x47,0x1                                                                                        
                                           		                                                                               D:\work\pic\18f_can\18f_can.c
000066   0e20     MOVLW     0x20           	RXB0CON	=0x20;				//只接收有效的标准标识符信息                                  D:\work\pic\18f_can\18f_can.c
000068   6e60     MOVWF     0x60,0x0                                                                                        
00006a   6861     SETF      0x61,0x0       	RXB0SIDH=0XFF;				//设置接收缓存器0的标识符                                     D:\work\pic\18f_can\18f_can.c
00006c   0e60     MOVLW     0x60           	RXB0SIDL=0X60;                                                                  D:\work\pic\18f_can\18f_can.c
00006e   6e62     MOVWF     0x62,0x0                                                                                        
000070   0e02     MOVLW     0x2            	RXB0DLC	=0x02;				//接收数据长度为8字节                                         D:\work\pic\18f_can\18f_can.c
000072   6e65     MOVWF     0x65,0x0                                                                                        
                                           //初始化接收寄存器                                                               D:\work\pic\18f_can\18f_can.c
000074   6a66     CLRF      0x66,0x0       	RXB0D0	=0x00;                                                                   D:\work\pic\18f_can\18f_can.c
000076   6a67     CLRF      0x67,0x0       	RXB0D1	=0x00;                                                                   D:\work\pic\18f_can\18f_can.c
                                                                                                                            D:\work\pic\18f_can\18f_can.c
000078   6900     SETF      0x0,0x1        	RXF0SIDH=0XFF;                                                                  D:\work\pic\18f_can\18f_can.c
00007a   0e60     MOVLW     0x60           	RXF0SIDL=0x60;                                                                  D:\work\pic\18f_can\18f_can.c
00007c   6f01     MOVWF     0x1,0x1                                                                                         
00007e   6918     SETF      0x18,0x1       	RXM0SIDH=0xff;                                                                  D:\work\pic\18f_can\18f_can.c
000080   0ee0     MOVLW     0xe0           	RXM0SIDL=0xe0;                                                                  D:\work\pic\18f_can\18f_can.c
000082   6f19     MOVWF     0x19,0x1                                                                                        
                                           //*********************************************************************          D:\work\pic\18f_can\18f_can.c
                                           //使CAN进入某种模式                                                              D:\work\pic\18f_can\18f_can.c
000084   6a6f     CLRF      0x6f,0x0       	CANCON	=0x00;//CAN正常工作模式                                                  D:\work\pic\18f_can\18f_can.c
000086   b06e     BTFSC     0x6e,0x0,0x0   	while(CANSTAT&0xe0!=0){;}                                                       D:\work\pic\18f_can\18f_can.c
000088   d7fe     BRA       0x86                                                                                            
00008a   6aa4     CLRF      0xa4,0x0       	PIR3	=0x00;                                                                     D:\work\pic\18f_can\18f_can.c
00008c   0e01     MOVLW     0x1            	PIE3	=0x01;                                                                     D:\work\pic\18f_can\18f_can.c
00008e   6ea3     MOVWF     0xa3,0x0                                                                                        
000090   6ea5     MOVWF     0xa5,0x0       	IPR3	=0x01;                                                                     D:\work\pic\18f_can\18f_can.c
000092   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_can\18f_can.c
                                           //接收中断程序                                                                   D:\work\pic\18f_can\18f_can.c
                                           #pragma   	code low_ISR=0x18                                                     D:\work\pic\18f_can\18f_can.c
                                           void 		low_ISR(void)                                                             D:\work\pic\18f_can\18f_can.c
                                           {                                                                                D:\work\pic\18f_can\18f_can.c
                                              	_asm                                                                         D:\work\pic\18f_can\18f_can.c
000018   ef4a     GOTO      0x94             	goto can_isr                                                                  D:\work\pic\18f_can\18f_can.c
00001a   f000                                                                                                               
                                             	_endasm                                                                       D:\work\pic\18f_can\18f_can.c
00001c   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_can\18f_can.c
                                           #pragma  	code                                                                   D:\work\pic\18f_can\18f_can.c
                                           #pragma   	interrupt   can_isr                                                   D:\work\pic\18f_can\18f_can.c
000094   cfda     MOVFF     0xfda,0xfe4    void 		can_isr(void)                                                             D:\work\pic\18f_can\18f_can.c
000096   ffe4                                                                                                               
000098   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00009a   ffda                                                                                                               
00009c   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                D:\work\pic\18f_can\18f_can.c
                                                                                                                            D:\work\pic\18f_can\18f_can.c
00009e   a0a4     BTFSS     0xa4,0x0,0x0    	if(PIR3bits.RXB0IF==1) //有接收中断产生                                        D:\work\pic\18f_can\18f_can.c
0000a0   d004     BRA       0xaa                                                                                            
0000a2   0100     MOVLB     0x0            	cnt++;                                                                          D:\work\pic\18f_can\18f_can.c
0000a4   2b6c     INCF      0x6c,0x1,0x1                                                                                    
0000a6   0e00     MOVLW     0x0                                                                                             
0000a8   236d     ADDWFC    0x6d,0x1,0x1                                                                                    
0000aa   0ee8     MOVLW     0xe8           	if(cnt==1000)cnt=0;                                                             D:\work\pic\18f_can\18f_can.c
0000ac   0100     MOVLB     0x0                                                                                             
0000ae   196c     XORWF     0x6c,0x0,0x1                                                                                    
0000b0   e102     BNZ       0xb6                                                                                            
0000b2   0e03     MOVLW     0x3                                                                                             
0000b4   196d     XORWF     0x6d,0x0,0x1                                                                                    
0000b6   e102     BNZ       0xbc                                                                                            
0000b8   6b6c     CLRF      0x6c,0x1                                                                                        
0000ba   6b6d     CLRF      0x6d,0x1                                                                                        

⌨️ 快捷键说明

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