📄 counter.lst
字号:
00006c 0100 MOVLB 0x0 counter++; /*key value memory in counter*/ D:\counter\counter.c
00006e 2b8a INCF 0x8a,0x1,0x1
D:\counter\counter.c
000070 6a92 CLRF 0x92,0x0 TRISA=0x00; D:\counter\counter.c
000072 8280 BSF 0x80,0x1,0x0 PORTAbits.RA1=1; D:\counter\counter.c
D:\counter\counter.c
000084 d7f7 BRA 0x74 while(1) D:\counter\counter.c
{ D:\counter\counter.c
000074 a280 BTFSS 0x80,0x1,0x0 if(PORTAbits.RA1==1) //按键松开否? D:\counter\counter.c
000076 d004 BRA 0x80
000078 0e0a MOVLW 0xa delayx1ms(10); //延迟10ms。 D:\counter\counter.c
00007a 6ee6 MOVWF 0xe6,0x0
00007c d81b RCALL 0xb4
00007e 52e5 MOVF 0xe5,0x1,0x0
D:\counter\counter.c
000080 b280 BTFSC 0x80,0x1,0x0 if(PORTAbits.RA1==1) //按键松开。 D:\counter\counter.c
000082 d001 BRA 0x86 break; //退出。 D:\counter\counter.c
} D:\counter\counter.c
D:\counter\counter.c
000086 c08a MOVFF 0x8a,0xfe6 uinttouchar(counter); //hex to decimal D:\counter\counter.c
000088 ffe6
00008a d83a RCALL 0x100
00008c 52e5 MOVF 0xe5,0x1,0x0
00008e c08c MOVFF 0x8c,0xfe6 PORTB=connectbyte(x1,x2); //connect bcd high 4 bit and low 4 bit D:\counter\counter.c
000090 ffe6
000092 c08b MOVFF 0x8b,0xfe6
000094 ffe6
000096 d870 RCALL 0x178
000098 52e5 MOVF 0xe5,0x1,0x0
00009a 52e5 MOVF 0xe5,0x1,0x0
00009c 6e81 MOVWF 0x81,0x0
D:\counter\counter.c
} D:\counter\counter.c
} D:\counter\counter.c
D:\counter\counter.c
} D:\counter\counter.c
0000a0 0012 RETURN 0x0 } D:\counter\counter.c
D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
// inicial PORTB. D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
void initPORTB() D:\counter\counter.c
{ D:\counter\counter.c
0000a2 6a93 CLRF 0x93,0x0 TRISB = 0x00; //设置B口为输出。 D:\counter\counter.c
0000a4 6af2 CLRF 0xf2,0x0 INTCON=0x00; //关闭所有中断。 D:\counter\counter.c
0000a6 6a81 CLRF 0x81,0x0 PORTB=0x00; //清B口。 D:\counter\counter.c
0000a8 0012 RETURN 0x0 } D:\counter\counter.c
D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
// delay 1ms*count subprogram. D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
void initPORTA() D:\counter\counter.c
{ D:\counter\counter.c
0000aa 6a80 CLRF 0x80,0x0 PORTA=0x00; //清A口。 D:\counter\counter.c
0000ac 0e07 MOVLW 0x7 ADCON1=0x07; //设置A口为开关量I/O使用。 D:\counter\counter.c
0000ae 6ec1 MOVWF 0xc1,0x0
0000b0 6892 SETF 0x92,0x0 TRISA=0xff; //设置A口为输入。 D:\counter\counter.c
//PORTA=0xff; D:\counter\counter.c
0000b2 0012 RETURN 0x0 } D:\counter\counter.c
D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
// delay 1ms*count subprogram. D:\counter\counter.c
//************************************************************************* D:\counter\counter.c
0000b4 cfd9 MOVFF 0xfd9,0xfe6 void delayx1ms(uchar count) D:\counter\counter.c
0000b6 ffe6
0000b8 cfe1 MOVFF 0xfe1,0xfd9
0000ba ffd9
0000bc 0e02 MOVLW 0x2
0000be 26e1 ADDWF 0xe1,0x1,0x0
{ D:\counter\counter.c
uchar i,j; D:\counter\counter.c
0000c0 6adf CLRF 0xdf,0x0 for(i=0;i<count;i++) //count is delay sum D:\counter\counter.c
0000c2 0efe MOVLW 0xfe
0000c4 50db MOVF 0xdb,0x0,0x0
0000c6 5cdf SUBWF 0xdf,0x0,0x0
0000c8 e215 BC 0xf4
0000f0 2adf INCF 0xdf,0x1,0x0
0000f2 d7e7 BRA 0xc2
0000ca 0e01 MOVLW 0x1 for(j=0;j<130;j++) D:\counter\counter.c
0000cc 6adb CLRF 0xdb,0x0
0000ce 50db MOVF 0xdb,0x0,0x0
0000d0 6e10 MOVWF 0x10,0x0
0000d2 6a11 CLRF 0x11,0x0
0000d4 5011 MOVF 0x11,0x0,0x0
0000d6 0a00 XORLW 0x0
0000d8 aee8 BTFSS 0xe8,0x7,0x0
0000da d002 BRA 0xe0
0000dc 90d8 BCF 0xd8,0x0,0x0
0000de d004 BRA 0xe8
0000e0 0e82 MOVLW 0x82
0000e2 5c10 SUBWF 0x10,0x0,0x0
0000e4 0e00 MOVLW 0x0
0000e6 5811 SUBWFB 0x11,0x0,0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -