📄 can.lst
字号:
00003e 8aac BSF 0xac,0x5,0x0 TXSTAbits.TXEN=1; //发送允许 C:\MCC18\example\C6585\main.c
000040 88ab BSF 0xab,0x4,0x0 RCSTAbits.CREN=1; //接受数据允许 C:\MCC18\example\C6585\main.c
000042 8a9d BSF 0x9d,0x5,0x0 PIE1bits.RCIE=1; //接收中断使能 C:\MCC18\example\C6585\main.c
000044 6ef2 MOVWF 0xf2,0x0 INTCON=0XC0; //总中断和外围中断允许 C:\MCC18\example\C6585\main.c
000046 0012 RETURN 0x0 } C:\MCC18\example\C6585\main.c
C:\MCC18\example\C6585\main.c
//高优先级中断向量 C:\MCC18\example\C6585\main.c
#pragma code InterruptVectorHigh=0x08 C:\MCC18\example\C6585\main.c
void InterruptVectorHigh (void) C:\MCC18\example\C6585\main.c
{ C:\MCC18\example\C6585\main.c
_asm C:\MCC18\example\C6585\main.c
000008 ef24 GOTO 0x48 goto InterruptHandlerHigh //跳到中断程 C:\MCC18\example\C6585\main.c
00000a f000
_endasm C:\MCC18\example\C6585\main.c
00000c 0012 RETURN 0x0 } C:\MCC18\example\C6585\main.c
C:\MCC18\example\C6585\main.c
//高优先级中断服务程序 C:\MCC18\example\C6585\main.c
#pragma code C:\MCC18\example\C6585\main.c
#pragma interrupt InterruptHandlerHigh C:\MCC18\example\C6585\main.c
000048 cfda MOVFF 0xfda,0xfe4 void InterruptHandlerHigh () C:\MCC18\example\C6585\main.c
00004a ffe4
00004c cfe2 MOVFF 0xfe2,0xfda
00004e ffda
000050 52e6 MOVF 0xe6,0x1,0x0
{ C:\MCC18\example\C6585\main.c
000052 aa9e BTFSS 0x9e,0x5,0x0 while(PIR1bits.RCIF==1) //若接收中断标志不为1,则为误操作,返回 C:\MCC18\example\C6585\main.c
000054 d003 BRA 0x5c
00005a d7fb BRA 0x52
{ C:\MCC18\example\C6585\main.c
000056 cfae MOVFF 0xfae,0x96 buf_RCREG=RCREG; //接收命令 C:\MCC18\example\C6585\main.c
000058 f096
C:\MCC18\example\C6585\main.c
} C:\MCC18\example\C6585\main.c
00005c ac9e BTFSS 0x9e,0x6,0x0 while(PIR1bits.ADIF==1){ C:\MCC18\example\C6585\main.c
00005e d006 BRA 0x6c
00006a d7f8 BRA 0x5c
000060 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF=0; //清除中断标志 C:\MCC18\example\C6585\main.c
000062 cfc3 MOVFF 0xfc3,0x94 adresult.adre[0]=ADRESL; C:\MCC18\example\C6585\main.c
000064 f094
000066 cfc4 MOVFF 0xfc4,0x95 adresult.adre[1]=ADRESH; C:\MCC18\example\C6585\main.c
000068 f095
} C:\MCC18\example\C6585\main.c
00006c 52e5 MOVF 0xe5,0x1,0x0 } C:\MCC18\example\C6585\main.c
00006e cfe5 MOVFF 0xfe5,0xfda
000070 ffda
000072 0011 RETFIE 0x1
C:\MCC18\example\C6585\main.c
void AD_initial(void){ C:\MCC18\example\C6585\main.c
000074 6897 SETF 0x97,0x0 TRISF=0xFF; C:\MCC18\example\C6585\main.c
000076 6892 SETF 0x92,0x0 TRISA=0xFF; //设置为输入方式 C:\MCC18\example\C6585\main.c
000078 6ac1 CLRF 0xc1,0x0 ADCON1=0X00; C:\MCC18\example\C6585\main.c
00007a 0e87 MOVLW 0x87 ADCON2=0b10000111; C:\MCC18\example\C6585\main.c
00007c 6ec0 MOVWF 0xc0,0x0
00007e 80c2 BSF 0xc2,0x0,0x0 ADCON0bits.ADON=1; //在工作状态, C:\MCC18\example\C6585\main.c
000080 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF=0; //清除A/D转换标志 C:\MCC18\example\C6585\main.c
000082 8c9d BSF 0x9d,0x6,0x0 PIE1bits.ADIE=1; //A/D转换中断允许 C:\MCC18\example\C6585\main.c
000084 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.PEIE=1; //外围中断允许 C:\MCC18\example\C6585\main.c
000086 8c9f BSF 0x9f,0x6,0x0 IPR1bits.ADIP=1; //AD中断高优先级 C:\MCC18\example\C6585\main.c
000088 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN=1; //使能中断优先级 C:\MCC18\example\C6585\main.c
00008a 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIE=1; //总中断允许 C:\MCC18\example\C6585\main.c
00008c 0012 RETURN 0x0 } C:\MCC18\example\C6585\main.c
00008e cfd9 MOVFF 0xfd9,0xfe6 void ad(unsigned char chunnel ) C:\MCC18\example\C6585\main.c
000090 ffe6
000092 cfe1 MOVFF 0xfe1,0xfd9
000094 ffd9
000096 0efe MOVLW 0xfe { chunnel&=0x0f; C:\MCC18\example\C6585\main.c
000098 98db BCF 0xdb,0x4,0x0
00009a 9adb BCF 0xdb,0x5,0x0
00009c 9cdb BCF 0xdb,0x6,0x0
00009e 9edb BCF 0xdb,0x7,0x0
0000a0 0efe MOVLW 0xfe ADCON0=(chunnel<<2)+1; //选择A/D通道,打开A/D转换器 C:\MCC18\example\C6585\main.c
0000a2 50db MOVF 0xdb,0x0,0x0
0000a4 0d04 MULLW 0x4
0000a6 28f3 INCF 0xf3,0x0,0x0
0000a8 6ec2 MOVWF 0xc2,0x0
0000aa 0000 NOP _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm C:\MCC18\example\C6585\main.c
0000ac 0000 NOP
0000ae 0000 NOP
0000b0 0000 NOP
0000b2 0000 NOP _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm C:\MCC18\example\C6585\main.c
0000b4 0000 NOP
0000b6 0000 NOP
0000b8 0000 NOP
0000ba 0000 NOP _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm C:\MCC18\example\C6585\main.c
0000bc 0000 NOP
0000be 0000 NOP
0000c0 0000 NOP
0000c2 0000 NOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -