?? 18f_can.lst
字號:
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; //發(fā)送優(yōu)先級為最高 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; //數(shù)據(jù)長度為8字節(jié) D:\work\pic\18f_can\18f_can.c
00005c 6f45 MOVWF 0x45,0x1
//等待發(fā)送的8個字節(jié)數(shù)據(jù) 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; //接收數(shù)據(jù)長度為8字節(jié) 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) //有接收中斷產(chǎn)生 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 + -