⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 061219_new.lst

📁 单片机类程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
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 + -