📄 061219_new.lst
字号:
000000: 1499 JMP 0x099 [ 153]
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==10)
000012: 0423 MOV A, 0x23 [ 35]
000013: 0054 MOV 0x14, A [ 20]
000014: 180A MOV A, @0x0A [ 10]
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: 144D JMP 0x04D [ 77]
if(low_volt==1)
000036: 0F20 JBS 0x20, 4 [ 32]
000037: 1447 JMP 0x047 [ 71]
flash++;
000038: 056A INC 0x2A [ 42]
if(flash==2)
000039: 042A MOV A, 0x2A [ 42]
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: 148E JMP 0x08E [ 142]
if(P6_7==0)
00003F: 0DC6 JBC 0x06, 7 [ 6]
000040: 1443 JMP 0x043 [ 67]
{P6_7=1;}
000041: 0BC6 BS 0x06, 7 [ 6]
000042: 1444 JMP 0x044 [ 68]
{P6_7=0;}
000043: 09C6 BC 0x06, 7 [ 6]
flash=0;//intial the register
000044: 1800 MOV A, @0x00 [ 0]
000045: 006A MOV 0x2A, A [ 42]
000046: 148E JMP 0x08E [ 142]
if(P6_7==0)
000047: 0DC6 JBC 0x06, 7 [ 6]
000048: 144B JMP 0x04B [ 75]
{P6_7=1;}
000049: 0BC6 BS 0x06, 7 [ 6]
00004A: 148E JMP 0x08E [ 142]
{P6_7=0;}
00004B: 09C6 BC 0x06, 7 [ 6]
00004C: 148E JMP 0x08E [ 142]
if((mode_1==1)&&(timer_7minute==1))
00004D: 0F60 JBS 0x20, 5 [ 32]
00004E: 1463 JMP 0x063 [ 99]
00004F: 0EA0 JBS 0x20, 2 [ 32]
000050: 1463 JMP 0x063 [ 99]
P5_1=0;//moto working
000051: 0845 BC 0x05, 1 [ 5]
P6_6=1;
000052: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
000053: 112B CALL 0x12B [ 299]
P6_6=0;
000054: 0986 BC 0x06, 6 [ 6]
delay_250ms();
000055: 112B CALL 0x12B [ 299]
P6_6=1;
000056: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
000057: 112B CALL 0x12B [ 299]
P6_6=0;
000058: 0986 BC 0x06, 6 [ 6]
delay_250ms();
000059: 112B CALL 0x12B [ 299]
P6_6=1;
00005A: 0B86 BS 0x06, 6 [ 6]
P5_1=1;//moto stop
00005B: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
00005C: 1800 MOV A, @0x00 [ 0]
00005D: 0064 MOV 0x24, A [ 36]
BC %flag,2 //clear the 7_minute falg
00005E: 08A0 BC 0x20, 2 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
00005F: 0561 INC 0x21 [ 33]
JBC %STATUS,2
000060: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
000061: 0562 INC 0x22 [ 34]
000062: 148E JMP 0x08E [ 142]
else if((mode_2==1)&&(timer_14minute==1))
000063: 0FA0 JBS 0x20, 6 [ 32]
000064: 1479 JMP 0x079 [ 121]
000065: 0E60 JBS 0x20, 1 [ 32]
000066: 1479 JMP 0x079 [ 121]
P5_1=0;
000067: 0845 BC 0x05, 1 [ 5]
P6_6=1;
000068: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
000069: 112B CALL 0x12B [ 299]
P6_6=0;
00006A: 0986 BC 0x06, 6 [ 6]
delay_250ms();
00006B: 112B CALL 0x12B [ 299]
P6_6=1;
00006C: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
00006D: 112B CALL 0x12B [ 299]
P6_6=0;
00006E: 0986 BC 0x06, 6 [ 6]
delay_250ms();
00006F: 112B CALL 0x12B [ 299]
P6_6=1;
000070: 0B86 BS 0x06, 6 [ 6]
P5_1=1;
000071: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
000072: 1800 MOV A, @0x00 [ 0]
000073: 0064 MOV 0x24, A [ 36]
BC %flag,1 //clear the 14_minute falg
000074: 0860 BC 0x20, 1 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
000075: 0561 INC 0x21 [ 33]
JBC %STATUS,2
000076: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
000077: 0562 INC 0x22 [ 34]
000078: 148E JMP 0x08E [ 142]
else if((mode_3==1)&&(timer_28minute==1))
000079: 0FE0 JBS 0x20, 7 [ 32]
00007A: 148E JMP 0x08E [ 142]
00007B: 0E20 JBS 0x20, 0 [ 32]
00007C: 148E JMP 0x08E [ 142]
P5_1=0;
00007D: 0845 BC 0x05, 1 [ 5]
P6_6=1;
00007E: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
00007F: 112B CALL 0x12B [ 299]
P6_6=0;
000080: 0986 BC 0x06, 6 [ 6]
delay_250ms();
000081: 112B CALL 0x12B [ 299]
P6_6=1;
000082: 0B86 BS 0x06, 6 [ 6]
delay_250ms();
000083: 112B CALL 0x12B [ 299]
P6_6=0;
000084: 0986 BC 0x06, 6 [ 6]
delay_250ms();
000085: 112B CALL 0x12B [ 299]
P6_6=1;
000086: 0B86 BS 0x06, 6 [ 6]
P5_1=1;
000087: 0A45 BS 0x05, 1 [ 5]
timer_7min=0;//initial the register
000088: 1800 MOV A, @0x00 [ 0]
000089: 0064 MOV 0x24, A [ 36]
BC %flag,0 //clear the 28_minute falg
00008A: 0820 BC 0x20, 0 [ 32]
INC %dispense_counter_1 //increament the dispense_counter
00008B: 0561 INC 0x21 [ 33]
JBC %STATUS,2
00008C: 0C83 JBC 0x03, 2 [ 3]
INC %dispense_counter_2
00008D: 0562 INC 0x22 [ 34]
BC 0x0F,0 //clear the TCCINT flag
00008E: 080F BC 0x0F, 0 [ 15]
MOV A,@0x40
00008F: 1840 MOV A, @0x40 [ 64]
MOV %TCC,A //reset the initial value of TCC(0x01)
000090: 0041 MOV 0x01, A [ 1]
ENI
000091: 0010 ENI
SWAPA 0x2E //restore R3
000092: 072E SWAPA 0x2E [ 46]
MOV 0x03,A
000093: 0043 MOV 0x03, A [ 3]
SWAPA 0X2F //restore R4
000094: 072F SWAPA 0x2F [ 47]
MOV 0x04,A
000095: 0044 MOV 0x04, A [ 4]
SWAP 0x2D //restore A
000096: 076D SWAP 0x2D [ 45]
SWAPA 0x2D
000097: 072D SWAPA 0x2D [ 45]
000098: 0013 RETI
P5CR=0x00;//set port5 are output
000099: 1800 MOV A, @0x00 [ 0]
00009A: 0005 IOW 0x5 [ 5]
P6CR=0x3F;//set P6.0~p6.5 are input ; the P6.6~P6.7 are output
00009B: 183F MOV A, @0x3F [ 63]
00009C: 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
00009D: 18F0 MOV A, @0xF0 [ 240]
00009E: 000D IOW 0xD [ 13]
P5=0xFF;//initial P5
00009F: 18FF MOV A, @0xFF [ 255]
0000A0: 0045 MOV 0x05, A [ 5]
P6=0xFF;//ititial P6
0000A1: 18FF MOV A, @0xFF [ 255]
0000A2: 0046 MOV 0x06, A [ 6]
flag=timer_1min=timer_7min=temp1=temp2=temp3=dispense_counter_1=dispense_counter_2=flash=0;//initial register
0000A3: 1800 MOV A, @0x00 [ 0]
0000A4: 006A MOV 0x2A, A [ 42]
0000A5: 1800 MOV A, @0x00 [ 0]
0000A6: 0062 MOV 0x22, A [ 34]
0000A7: 1800 MOV A, @0x00 [ 0]
0000A8: 0061 MOV 0x21, A [ 33]
0000A9: 1800 MOV A, @0x00 [ 0]
0000AA: 0067 MOV 0x27, A [ 39]
0000AB: 1800 MOV A, @0x00 [ 0]
0000AC: 0066 MOV 0x26, A [ 38]
0000AD: 1800 MOV A, @0x00 [ 0]
0000AE: 0065 MOV 0x25, A [ 37]
0000AF: 1800 MOV A, @0x00 [ 0]
0000B0: 0064 MOV 0x24, A [ 36]
0000B1: 1800 MOV A, @0x00 [ 0]
0000B2: 0063 MOV 0x23, A [ 35]
0000B3: 1800 MOV A, @0x00 [ 0]
0000B4: 0060 MOV 0x20, A [ 32]
dispense_counter=0;
0000B5: 1800 MOV A, @0x00 [ 0]
0000B6: 0068 MOV 0x28, A [ 40]
0000B7: 1800 MOV A, @0x00 [ 0]
0000B8: 0069 MOV 0x29, A [ 41]
MOV A,@0x05
0000B9: 1805 MOV A, @0x05 [ 5]
CONTW //set prescalar to TCC 1:64,
0000BA: 0002 CONTW
MOV A,@0x40
0000BB: 1840 MOV A, @0x40 [ 64]
MOV %TCC,A //set initial value of TCC,T=1.5s
0000BC: 0041 MOV 0x01, A [ 1]
MOV A,@0x01
0000BD: 1801 MOV A, @0x01 [ 1]
IOW %IMR //enable the TCCINT
0000BE: 000F IOW 0xF [ 15]
ENI
0000BF: 0010 ENI
0000C0: 150A JMP 0x10A [ 266]
if(P6_0==0)
0000C1: 0C06 JBC 0x06, 0 [ 6]
0000C2: 14C5 JMP 0x0C5 [ 197]
BS %flag,5
0000C3: 0B60 BS 0x20, 5 [ 32]
0000C4: 14C6 JMP 0x0C6 [ 198]
{BC %flag,5}
0000C5: 0960 BC 0x20, 5 [ 32]
if(P6_1==0)
0000C6: 0C46 JBC 0x06, 1 [ 6]
0000C7: 14CA JMP 0x0CA [ 202]
{BS %flag,6}
0000C8: 0BA0 BS 0x20, 6 [ 32]
0000C9: 14CB JMP 0x0CB [ 203]
{BC %flag,6}
0000CA: 09A0 BC 0x20, 6 [ 32]
if(P6_2==0)
0000CB: 0C86 JBC 0x06, 2 [ 6]
0000CC: 14CF JMP 0x0CF [ 207]
{BS %flag,7}
0000CD: 0BE0 BS 0x20, 7 [ 32]
0000CE: 14D0 JMP 0x0D0 [ 208]
{BC %flag,7}
0000CF: 09E0 BC 0x20, 7 [ 32]
if(P5_0==0)
0000D0: 0C05 JBC 0x05, 0 [ 5]
0000D1: 14E0 JMP 0x0E0 [ 224]
delay_200ms();//delay 0.5s,filtrate the abmormal wave
0000D2: 110C CALL 0x10C [ 268]
if(P5_0==0)
0000D3: 0C05 JBC 0x05, 0 [ 5]
0000D4: 14E3 JMP 0x0E3 [ 227]
temp1++;
0000D5: 0565 INC 0x25 [ 37]
if(temp1==50)
0000D6: 0425 MOV A, 0x25 [ 37]
0000D7: 0054 MOV 0x14, A [ 20]
0000D8: 1832 MOV A, @0x32 [ 50]
0000D9: 0114 SUB A, 0x14 [ 20]
0000DA: 0E83 JBS 0x03, 2 [ 3]
0000DB: 14E3 JMP 0x0E3 [ 227]
{BS %flag,4}
0000DC: 0B20 BS 0x20, 4 [ 32]
temp1=0;//initial register
0000DD: 1800 MOV A, @0x00 [ 0]
0000DE: 0065 MOV 0x25, A [ 37]
0000DF: 14E3 JMP 0x0E3 [ 227]
temp1=0;//initial register
0000E0: 1800 MOV A, @0x00 [ 0]
0000E1: 0065 MOV 0x25, A [ 37]
{BC %flag,4}
0000E2: 0920 BC 0x20, 4 [ 32]
if(dispense_counter_2==11)
0000E3: 0422 MOV A, 0x22 [ 34]
0000E4: 0054 MOV 0x14, A [ 20]
0000E5: 180B MOV A, @0x0B [ 11]
0000E6: 0114 SUB A, 0x14 [ 20]
0000E7: 0E83 JBS 0x03, 2 [ 3]
0000E8: 150A JMP 0x10A [ 266]
if(dispense_counter_1>230)
0000E9: 0421 MOV A, 0x21 [ 33]
0000EA: 0054 MOV 0x14, A [ 20]
0000EB: 00D5 CLR 0x15 [ 21]
0000EC: 0415 MOV A, 0x15 [ 21]
0000ED: 1B00 XOR A, @0x00 [ 0]
0000EE: 0058 MOV 0x18, A [ 24]
0000EF: 005C MOV 0x1C, A [ 28]
0000F0: 0DD8 JBC 0x18, 7 [ 24]
0000F1: 14FD JMP 0x0FD [ 253]
0000F2: 0415 MOV A, 0x15 [ 21]
0000F3: 005B MOV 0x1B, A [ 27]
0000F4: 1800 MOV A, @0x00 [ 0]
0000F5: 015B SUB 0x1B, A [ 27]
0000F6: 0E83 JBS 0x03, 2 [ 3]
0000F7: 1501 JMP 0x101 [ 257]
0000F8: 0414 MOV A, 0x14 [ 20]
0000F9: 005B MOV 0x1B, A [ 27]
0000FA: 18E6 MOV A, @0xE6 [ 230]
0000FB: 015B SUB 0x1B, A [ 27]
0000FC: 1501 JMP 0x101 [ 257]
0000FD: 0883 BC 0x03, 2 [ 3]
0000FE: 0A03 BS 0x03, 0 [ 3]
0000FF: 0DDC JBC 0x1C, 7 [ 28]
000100: 0803 BC 0x03, 0 [ 3]
000101: 0C83 JBC 0x03, 2 [ 3]
000102: 150A JMP 0x10A [ 266]
000103: 0E03 JBS 0x03, 0 [ 3]
000104: 150A JMP 0x10A [ 266]
{BS %flag,3}
000105: 0AE0 BS 0x20, 3 [ 32]
dispense_counter_2=0;
000106: 1800 MOV A, @0x00 [ 0]
000107: 0062 MOV 0x22, A [ 34]
dispense_counter_1=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -