📄 061221_new.lst
字号:
000000: 14C7 JMP 0x0C7 [ 199]
000001: 1FFF ADD A, @0xFF [ 255]
000002: 1FFF ADD A, @0xFF [ 255]
000003: 1FFF ADD A, @0xFF [ 255]
000004: 1FFF ADD A, @0xFF [ 255]
000005: 1FFF ADD A, @0xFF [ 255]
000006: 1FFF ADD A, @0xFF [ 255]
000007: 1FFF ADD A, @0xFF [ 255]
MOV 0x2D,A //backup A to 0x2D
000008: 006D MOV 0x2D, A [ 45]
SWAPA 0x04 //backup R4 to 0x2F at bank 0
000009: 0704 SWAPA 0x04 [ 4]
MOV 0x2F,A //backup R4 to 0x2F at bank 0
00000A: 006F MOV 0x2F, A [ 47]
SWAPA 0x03
00000B: 0703 SWAPA 0x03 [ 3]
MOV 0x2E,A //backup R3 to 0x2E at bank 0
00000C: 006E MOV 0x2E, A [ 46]
00000D: 0943 BC 0x03, 5 [ 3]
00000E: 0983 BC 0x03, 6 [ 3]
00000F: 1410 JMP 0x010 [ 16]
DISI();//disable the intrrupt
000010: 0011 DISI
DISI();//disable the intrrupt
000011: 0563 INC 0x23 [ 35]
if(timer_1min==40)
000012: 0423 MOV A, 0x23 [ 35]
000013: 0054 MOV 0x14, A [ 20]
000014: 1828 MOV A, @0x28 [ 40]
000015: 0114 SUB A, 0x14 [ 20]
000016: 0E83 JBS 0x03, 2 [ 3]
000017: 1432 JMP 0x032 [ 50]
timer_1min=0;//then initial register
000018: 1800 MOV A, @0x00 [ 0]
000019: 0063 MOV 0x23, A [ 35]
timer_7min++;
00001A: 0564 INC 0x24 [ 36]
if(timer_7min==7)
00001B: 0424 MOV A, 0x24 [ 36]
00001C: 0054 MOV 0x14, A [ 20]
00001D: 1807 MOV A, @0x07 [ 7]
00001E: 0114 SUB A, 0x14 [ 20]
00001F: 0E83 JBS 0x03, 2 [ 3]
000020: 1423 JMP 0x023 [ 35]
{BS %flag,2}
000021: 0AA0 BS 0x20, 2 [ 32]
000022: 1432 JMP 0x032 [ 50]
else if(timer_7min==14)
000023: 0424 MOV A, 0x24 [ 36]
000024: 0054 MOV 0x14, A [ 20]
000025: 180E MOV A, @0x0E [ 14]
000026: 0114 SUB A, 0x14 [ 20]
000027: 0E83 JBS 0x03, 2 [ 3]
000028: 142B JMP 0x02B [ 43]
{BS %flag,1}
000029: 0A60 BS 0x20, 1 [ 32]
00002A: 1432 JMP 0x032 [ 50]
else if(timer_7min==28)
00002B: 0424 MOV A, 0x24 [ 36]
00002C: 0054 MOV 0x14, A [ 20]
00002D: 181C MOV A, @0x1C [ 28]
00002E: 0114 SUB A, 0x14 [ 20]
00002F: 0E83 JBS 0x03, 2 [ 3]
000030: 1432 JMP 0x032 [ 50]
{BS %flag,0}
000031: 0A20 BS 0x20, 0 [ 32]
if((low_volt==1)||(replace_bottle==1))
000032: 0D20 JBC 0x20, 4 [ 32]
000033: 1436 JMP 0x036 [ 54]
000034: 0EE0 JBS 0x20, 3 [ 32]
000035: 1451 JMP 0x051 [ 81]
if(low_volt==1)
000036: 0F20 JBS 0x20, 4 [ 32]
000037: 144B JMP 0x04B [ 75]
flash++;
000038: 0569 INC 0x29 [ 41]
if(flash==2)
000039: 0429 MOV A, 0x29 [ 41]
00003A: 0054 MOV 0x14, A [ 20]
00003B: 1802 MOV A, @0x02 [ 2]
00003C: 0114 SUB A, 0x14 [ 20]
00003D: 0E83 JBS 0x03, 2 [ 3]
00003E: 1447 JMP 0x047 [ 71]
P6_6=0;//green LED
00003F: 0986 BC 0x06, 6 [ 6]
P6_7=0;//red LED
000040: 09C6 BC 0x06, 7 [ 6]
delay_300ms();
000041: 115C CALL 0x15C [ 348]
P6_7=1;
000042: 0BC6 BS 0x06, 7 [ 6]
P6_6=1;
000043: 0B86 BS 0x06, 6 [ 6]
flash=0;//intial the register
000044: 1800 MOV A, @0x00 [ 0]
000045: 0069 MOV 0x29, A [ 41]
000046: 14BC JMP 0x0BC [ 188]
P6_6=0;
000047: 0986 BC 0x06, 6 [ 6]
delay_300ms();
000048: 115C CALL 0x15C [ 348]
P6_6=1;
000049: 0B86 BS 0x06, 6 [ 6]
00004A: 14BC JMP 0x0BC [ 188]
P6_6=0;
00004B: 0986 BC 0x06, 6 [ 6]
P6_7=0;
00004C: 09C6 BC 0x06, 7 [ 6]
delay_300ms();
00004D: 115C CALL 0x15C [ 348]
P6_7=1;
00004E: 0BC6 BS 0x06, 7 [ 6]
P6_6=1;
00004F: 0B86 BS 0x06, 6 [ 6]
000050: 14BC JMP 0x0BC [ 188]
P6_6=0;//green LED flash ,indicate the system is runing
000051: 0986 BC 0x06, 6 [ 6]
delay_300ms_1();
000052: 117B CALL 0x17B [ 379]
P6_6=1;
000053: 0B86 BS 0x06, 6 [ 6]
if(P5_0==0)
000054: 0C05 JBC 0x05, 0 [ 5]
000055: 1464 JMP 0x064 [ 100]
delay_300ms();//detect 3s,filtrate the abmormal wave
000056: 115C CALL 0x15C [ 348]
if(P5_0==0)
000057: 0C05 JBC 0x05, 0 [ 5]
000058: 1467 JMP 0x067 [ 103]
temp1++;
000059: 0565 INC 0x25 [ 37]
if(temp1==10)
00005A: 0425 MOV A, 0x25 [ 37]
00005B: 0054 MOV 0x14, A [ 20]
00005C: 180A MOV A, @0x0A [ 10]
00005D: 0114 SUB A, 0x14 [ 20]
00005E: 0E83 JBS 0x03, 2 [ 3]
00005F: 1467 JMP 0x067 [ 103]
{BS %flag,4}
000060: 0B20 BS 0x20, 4 [ 32]
temp1=0;//initial register
000061: 1800 MOV A, @0x00 [ 0]
000062: 0065 MOV 0x25, A [ 37]
000063: 1467 JMP 0x067 [ 103]
temp1=0;//initial register
000064: 1800 MOV A, @0x00 [ 0]
000065: 0065 MOV 0x25, A [ 37]
{BC %flag,4}
000066: 0920 BC 0x20, 4 [ 32]
if(test_pump==1)
000067: 0E28 JBS 0x28, 0 [ 40]
000068: 147B JMP 0x07B [ 123]
P5_1=0;
000069: 0845 BC 0x05, 1 [ 5]
P6_6=1;//green LED
00006A: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
00006B: 115C CALL 0x15C [ 348]
P6_6=0;
00006C: 0986 BC 0x06, 6 [ 6]
delay_300ms();
00006D: 115C CALL 0x15C [ 348]
P6_6=1;
00006E: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
00006F: 115C CALL 0x15C [ 348]
P6_6=0;
000070: 0986 BC 0x06, 6 [ 6]
delay_300ms();
000071: 115C CALL 0x15C [ 348]
P6_6=1;
000072: 0B86 BS 0x06, 6 [ 6]
P5_1=1;
000073: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
000074: 1800 MOV A, @0x00 [ 0]
000075: 0064 MOV 0x24, A [ 36]
BC %flag1,0 //clear the "test_pump" flag
000076: 0828 BC 0x28, 0 [ 40]
INC %dispense_counter_1 //increament the dispense_counter
000077: 0561 INC 0x21 [ 33]
JBC %STATUS,2
000078: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
000079: 0562 INC 0x22 [ 34]
00007A: 14BC JMP 0x0BC [ 188]
if((mode_1==1)&&(timer_7minute==1))
00007B: 0F60 JBS 0x20, 5 [ 32]
00007C: 1491 JMP 0x091 [ 145]
00007D: 0EA0 JBS 0x20, 2 [ 32]
00007E: 1491 JMP 0x091 [ 145]
P5_1=0;//moto working
00007F: 0845 BC 0x05, 1 [ 5]
P6_6=1;
000080: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
000081: 115C CALL 0x15C [ 348]
P6_6=0;
000082: 0986 BC 0x06, 6 [ 6]
delay_300ms();
000083: 115C CALL 0x15C [ 348]
P6_6=1;
000084: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
000085: 115C CALL 0x15C [ 348]
P6_6=0;
000086: 0986 BC 0x06, 6 [ 6]
delay_300ms();
000087: 115C CALL 0x15C [ 348]
P6_6=1;
000088: 0B86 BS 0x06, 6 [ 6]
P5_1=1;//moto stop
000089: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
00008A: 1800 MOV A, @0x00 [ 0]
00008B: 0064 MOV 0x24, A [ 36]
BC %flag,2 //clear the 7_minute falg
00008C: 08A0 BC 0x20, 2 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
00008D: 0561 INC 0x21 [ 33]
JBC %STATUS,2
00008E: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
00008F: 0562 INC 0x22 [ 34]
000090: 14BC JMP 0x0BC [ 188]
else if((mode_2==1)&&(timer_14minute==1))
000091: 0FA0 JBS 0x20, 6 [ 32]
000092: 14A7 JMP 0x0A7 [ 167]
000093: 0E60 JBS 0x20, 1 [ 32]
000094: 14A7 JMP 0x0A7 [ 167]
P5_1=0;
000095: 0845 BC 0x05, 1 [ 5]
P6_6=1;
000096: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
000097: 115C CALL 0x15C [ 348]
P6_6=0;
000098: 0986 BC 0x06, 6 [ 6]
delay_300ms();
000099: 115C CALL 0x15C [ 348]
P6_6=1;
00009A: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
00009B: 115C CALL 0x15C [ 348]
P6_6=0;
00009C: 0986 BC 0x06, 6 [ 6]
delay_300ms();
00009D: 115C CALL 0x15C [ 348]
P6_6=1;
00009E: 0B86 BS 0x06, 6 [ 6]
P5_1=1;
00009F: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
0000A0: 1800 MOV A, @0x00 [ 0]
0000A1: 0064 MOV 0x24, A [ 36]
BC %flag,1 //clear the 14_minute falg
0000A2: 0860 BC 0x20, 1 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
0000A3: 0561 INC 0x21 [ 33]
JBC %STATUS,2
0000A4: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
0000A5: 0562 INC 0x22 [ 34]
0000A6: 14BC JMP 0x0BC [ 188]
else if((mode_3==1)&&(timer_28minute==1))
0000A7: 0FE0 JBS 0x20, 7 [ 32]
0000A8: 14BC JMP 0x0BC [ 188]
0000A9: 0E20 JBS 0x20, 0 [ 32]
0000AA: 14BC JMP 0x0BC [ 188]
P5_1=0;
0000AB: 0845 BC 0x05, 1 [ 5]
P6_6=1;
0000AC: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
0000AD: 115C CALL 0x15C [ 348]
P6_6=0;
0000AE: 0986 BC 0x06, 6 [ 6]
delay_300ms();
0000AF: 115C CALL 0x15C [ 348]
P6_6=1;
0000B0: 0B86 BS 0x06, 6 [ 6]
delay_300ms();
0000B1: 115C CALL 0x15C [ 348]
P6_6=0;
0000B2: 0986 BC 0x06, 6 [ 6]
delay_300ms();
0000B3: 115C CALL 0x15C [ 348]
P6_6=1;
0000B4: 0B86 BS 0x06, 6 [ 6]
P5_1=1;
0000B5: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
0000B6: 1800 MOV A, @0x00 [ 0]
0000B7: 0064 MOV 0x24, A [ 36]
BC %flag,0 //clear the 28_minute flag
0000B8: 0820 BC 0x20, 0 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
0000B9: 0561 INC 0x21 [ 33]
JBC %STATUS,2
0000BA: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
0000BB: 0562 INC 0x22 [ 34]
BC 0x0F,0 //clear the TCCINT flag
0000BC: 080F BC 0x0F, 0 [ 15]
MOV A,@0x66
0000BD: 1866 MOV A, @0x66 [ 102]
MOV %TCC,A //reset the initial value of TCC(0x01)
0000BE: 0041 MOV 0x01, A [ 1]
ENI
0000BF: 0010 ENI
SWAPA 0x2E //restore R3
0000C0: 072E SWAPA 0x2E [ 46]
MOV 0x03,A
0000C1: 0043 MOV 0x03, A [ 3]
SWAPA 0X2F //restore R4
0000C2: 072F SWAPA 0x2F [ 47]
MOV 0x04,A
0000C3: 0044 MOV 0x04, A [ 4]
SWAP 0x2D //restore A
0000C4: 076D SWAP 0x2D [ 45]
SWAPA 0x2D
0000C5: 072D SWAPA 0x2D [ 45]
0000C6: 0013 RETI
P5CR=0x01;//set P5.1~P5.3 are output,P5.0 is input
0000C7: 1801 MOV A, @0x01 [ 1]
0000C8: 0005 IOW 0x5 [ 5]
P6CR=0x3F;//set P6.0~p6.5 are input ; the P6.6~P6.7 are output
0000C9: 183F MOV A, @0x3F [ 63]
0000CA: 0006 IOW 0x6 [ 6]
PHCR=0xF0;//set the P6.0~P6.3,P6.6~P6.7 are pull-high enable ,the P6.4~P6.5 are push-high disable
0000CB: 18F0 MOV A, @0xF0 [ 240]
0000CC: 000D IOW 0xD [ 13]
P5=0xFF;//initial P5
0000CD: 18FF MOV A, @0xFF [ 255]
0000CE: 0045 MOV 0x05, A [ 5]
P6=0xFF;//ititial P6
0000CF: 18FF MOV A, @0xFF [ 255]
0000D0: 0046 MOV 0x06, A [ 6]
flag=flag1=flash=temp1=temp2=temp3=temp4=0;//initial register
0000D1: 1800 MOV A, @0x00 [ 0]
0000D2: 006A MOV 0x2A, A [ 42]
0000D3: 1800 MOV A, @0x00 [ 0]
0000D4: 0067 MOV 0x27, A [ 39]
0000D5: 1800 MOV A, @0x00 [ 0]
0000D6: 0066 MOV 0x26, A [ 38]
0000D7: 1800 MOV A, @0x00 [ 0]
0000D8: 0065 MOV 0x25, A [ 37]
0000D9: 1800 MOV A, @0x00 [ 0]
0000DA: 0069 MOV 0x29, A [ 41]
0000DB: 1800 MOV A, @0x00 [ 0]
0000DC: 0068 MOV 0x28, A [ 40]
0000DD: 1800 MOV A, @0x00 [ 0]
0000DE: 0060 MOV 0x20, A [ 32]
timer_1min=timer_7min=0;//initial register
0000DF: 1800 MOV A, @0x00 [ 0]
0000E0: 0064 MOV 0x24, A [ 36]
0000E1: 1800 MOV A, @0x00 [ 0]
0000E2: 0063 MOV 0x23, A [ 35]
dispense_counter_1=dispense_counter_2=0;//initial register
0000E3: 1800 MOV A, @0x00 [ 0]
0000E4: 0062 MOV 0x22, A [ 34]
0000E5: 1800 MOV A, @0x00 [ 0]
0000E6: 0061 MOV 0x21, A [ 33]
P6_6=0;
0000E7: 0986 BC 0x06, 6 [ 6]
P6_7=0;
0000E8: 09C6 BC 0x06, 7 [ 6]
delay_280ms();
0000E9: 113D CALL 0x13D [ 317]
P6_6=1;
0000EA: 0B86 BS 0x06, 6 [ 6]
P6_7=1;//indicate the reset is OK
0000EB: 0BC6 BS 0x06, 7 [ 6]
delay_280ms();
0000EC: 113D CALL 0x13D [ 317]
P6_6=0;
0000ED: 0986 BC 0x06, 6 [ 6]
P6_7=0;
0000EE: 09C6 BC 0x06, 7 [ 6]
delay_280ms();
0000EF: 113D CALL 0x13D [ 317]
P6_6=1;
0000F0: 0B86 BS 0x06, 6 [ 6]
P6_7=1;//indicate the reset is OK
0000F1: 0BC6 BS 0x06, 7 [ 6]
MOV A,@0x05
0000F2: 1805 MOV A, @0x05 [ 5]
CONTW //set prescalar to TCC 1:64,
0000F3: 0002 CONTW
MOV A,@0x66
0000F4: 1866 MOV A, @0x66 [ 102]
MOV %TCC,A //set initial value of TCC,T=1.2s
0000F5: 0041 MOV 0x01, A [ 1]
MOV A,@0x01
0000F6: 1801 MOV A, @0x01 [ 1]
IOW %IMR //enable the TCCINT
0000F7: 000F IOW 0xF [ 15]
ENI
0000F8: 0010 ENI
0000F9: 153B JMP 0x13B [ 315]
if((P6_0==0)&&(P6_1==0)&&(P6_2==0))
0000FA: 0C06 JBC 0x06, 0 [ 6]
0000FB: 1502 JMP 0x102 [ 258]
0000FC: 0C46 JBC 0x06, 1 [ 6]
0000FD: 1502 JMP 0x102 [ 258]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -