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

📄 061221_new.lst

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