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

📄 wash.lis

📁 because I can not get the download rights, so I uoload this file.This is a wash program, include a c
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01A6 0AE0              ldi R16,10
 01A8 10E0              ldi R17,0
 01AA 68D1              xcall _Beep
 01AC                   .dbline 105
 01AC           ;                                               Light(0);
 01AC 0027              clr R16
 01AE 1127              clr R17
 01B0 77D1              xcall _Light
 01B2                   .dbline 106
 01B2           ;                                        } 
 01B2                   .dbline 107
 01B2           ;                                        break;
 01B2           L12:
 01B2           L13:
 01B2                   .dbline 109
 01B2           ;                        }
 01B2           ;                }
 01B2           L10:
 01B2                   .dbline 110
 01B2           ;        }
 01B2           L8:
 01B2                   .dbline 111
 01B2           ;        x=KP;
 01B2 60910600          lds R22,_KP
 01B6 70910700          lds R23,_KP+1
 01BA                   .dbline 112
 01BA           ;      if (x != 0){
 01BA 6030              cpi R22,0
 01BC 6707              cpc R22,R23
 01BE 09F4              brne X13
 01C0 A0C0              xjmp L21
 01C2           X13:
 01C2           X5:
 01C2                   .dbline 112
 01C2                   .dbline 113
 01C2           ;          KP=0;
 01C2 2224              clr R2
 01C4 3324              clr R3
 01C6 30920700          sts _KP+1,R3
 01CA 20920600          sts _KP,R2
 01CE                   .dbline 114
 01CE           ;          if (x & 0x8c) 
 01CE CB01              movw R24,R22
 01D0 8C78              andi R24,140
 01D2 9070              andi R25,0
 01D4 8030              cpi R24,0
 01D6 8907              cpc R24,R25
 01D8 31F0              breq L23
 01DA           X6:
 01DA                   .dbline 115
 01DA           ;                 Beep(2,1);
 01DA 21E0              ldi R18,1
 01DC 30E0              ldi R19,0
 01DE 02E0              ldi R16,2
 01E0 10E0              ldi R17,0
 01E2 4CD1              xcall _Beep
 01E4 05C0              xjmp L24
 01E6           L23:
 01E6                   .dbline 117
 01E6           ;          else
 01E6           ;             Beep(1,1);
 01E6 21E0              ldi R18,1
 01E8 30E0              ldi R19,0
 01EA 01E0              ldi R16,1
 01EC 10E0              ldi R17,0
 01EE 46D1              xcall _Beep
 01F0           L24:
 01F0                   .dbline 118
 01F0           ;          if (x&8) 
 01F0 63FF              sbrs R22,3
 01F2 04C0              rjmp L25
 01F4                   .dbline 119
 01F4 80911400          lds R24,_switchway
 01F8 8078              andi R24,128
 01FA 82BB              out 0x12,R24
 01FC           L25:
 01FC                   .dbline 119
 01FC           ;                 DecOn;
 01FC                   .dbline 120
 01FC           ;          if (x&4) 
 01FC 62FF              sbrs R22,2
 01FE 04C0              rjmp L27
 0200                   .dbline 121
 0200 80911400          lds R24,_switchway
 0204 8170              andi R24,1
 0206 82BB              out 0x12,R24
 0208           L27:
 0208                   .dbline 121
 0208           ;                 AddOn;
 0208                   .dbline 122
 0208           ;          if (x&2) {
 0208 61FF              sbrs R22,1
 020A 0BC0              rjmp L29
 020C                   .dbline 122
 020C                   .dbline 123
 020C           ;                 loop_cs=0; 
 020C 2224              clr R2
 020E 3324              clr R3
 0210 30921300          sts _loop_cs+1,R3
 0214 20921200          sts _loop_cs,R2
 0218                   .dbline 124
 0218           ;                 AddOff; DecOff;
 0218 22BA              out 0x12,R2
 021A                   .dbline 124
 021A                   .dbline 124
 021A 22BA              out 0x12,R2
 021C                   .dbline 124
 021C                   .dbline 125
 021C           ;                 Light(1);
 021C 01E0              ldi R16,1
 021E 10E0              ldi R17,0
 0220 3FD1              xcall _Light
 0222                   .dbline 126
 0222           ;          }                    //stop
 0222           L29:
 0222                   .dbline 127
 0222           ;          if (x&1) {
 0222 60FF              sbrs R22,0
 0224 69C0              rjmp L31
 0226                   .dbline 127
 0226                   .dbline 128
 0226           ;             if (loop_cs0==0) {
 0226 20901000          lds R2,_loop_cs0
 022A 30901100          lds R3,_loop_cs0+1
 022E 2220              tst R2
 0230 09F0              breq X14
 0232 43C0              xjmp L33
 0234           X14:
 0234 3320              tst R3
 0236 09F0              breq X15
 0238 40C0              xjmp L33
 023A           X15:
 023A           X7:
 023A                   .dbline 128
 023A                   .dbline 129
 023A           ;                    if (loop_cs==0) {                  //start
 023A 20901200          lds R2,_loop_cs
 023E 30901300          lds R3,_loop_cs+1
 0242 2220              tst R2
 0244 C1F4              brne L35
 0246 3320              tst R3
 0248 B1F4              brne L35
 024A           X8:
 024A                   .dbline 129
 024A                   .dbline 130
 024A           ;                           loop_cs = ReadPara(2)<<2;
 024A 02E0              ldi R16,2
 024C 10E0              ldi R17,0
 024E 36D1              xcall _ReadPara
 0250 1801              movw R2,R16
 0252 220C              lsl R2
 0254 331C              rol R3
 0256 220C              lsl R2
 0258 331C              rol R3
 025A 30921300          sts _loop_cs+1,R3
 025E 20921200          sts _loop_cs,R2
 0262                   .dbline 131
 0262           ;                               loop_cs0=0;
 0262 2224              clr R2
 0264 3324              clr R3
 0266 30921100          sts _loop_cs0+1,R3
 026A 20921000          sts _loop_cs0,R2
 026E                   .dbline 132
 026E           ;                               Light(2);
 026E 02E0              ldi R16,2
 0270 10E0              ldi R17,0
 0272 16D1              xcall _Light
 0274                   .dbline 133
 0274 3BC0              xjmp L34
 0276           L35:
 0276                   .dbline 133
 0276           ;                        } else {
 0276                   .dbline 134
 0276           ;                           loop_cs0=loop_cs; loop_cs=0;                         //Pause
 0276 20901200          lds R2,_loop_cs
 027A 30901300          lds R3,_loop_cs+1
 027E 30921100          sts _loop_cs0+1,R3
 0282 20921000          sts _loop_cs0,R2
 0286                   .dbline 134
 0286 2224              clr R2
 0288 3324              clr R3
 028A 30921300          sts _loop_cs+1,R3
 028E 20921200          sts _loop_cs,R2
 0292                   .dbline 135
 0292           ;                               TimeCount0=TimeCount; TimeCount=0;
 0292 20900E00          lds R2,_TimeCount
 0296 30900F00          lds R3,_TimeCount+1
 029A 30920D00          sts _TimeCount0+1,R3
 029E 20920C00          sts _TimeCount0,R2
 02A2                   .dbline 135
 02A2 2224              clr R2
 02A4 3324              clr R3
 02A6 30920F00          sts _TimeCount+1,R3
 02AA 20920E00          sts _TimeCount,R2
 02AE                   .dbline 136
 02AE           ;                               AddOff;  DecOff;
 02AE 22BA              out 0x12,R2
 02B0                   .dbline 136
 02B0                   .dbline 136
 02B0 22BA              out 0x12,R2
 02B2                   .dbline 136
 02B2                   .dbline 137
 02B2           ;                               Light(3);
 02B2 03E0              ldi R16,3
 02B4 10E0              ldi R17,0
 02B6 F4D0              xcall _Light
 02B8                   .dbline 138
 02B8           ;                        }
 02B8                   .dbline 139
 02B8 19C0              xjmp L34
 02BA           L33:
 02BA                   .dbline 139
 02BA           ;                 } else {
 02BA                   .dbline 140
 02BA           ;                    loop_cs=loop_cs0;  loop_cs0=0; //resume
 02BA 20901000          lds R2,_loop_cs0
 02BE 30901100          lds R3,_loop_cs0+1
 02C2 30921300          sts _loop_cs+1,R3
 02C6 20921200          sts _loop_cs,R2
 02CA                   .dbline 140
 02CA 2224              clr R2
 02CC 3324              clr R3
 02CE 30921100          sts _loop_cs0+1,R3
 02D2 20921000          sts _loop_cs0,R2
 02D6                   .dbline 141
 02D6           ;                        TimeCount=TimeCount0;
 02D6 20900C00          lds R2,_TimeCount0
 02DA 30900D00          lds R3,_TimeCount0+1
 02DE 30920F00          sts _TimeCount+1,R3
 02E2 20920E00          sts _TimeCount,R2
 02E6                   .dbline 142
 02E6           ;                        Light(2);
 02E6 02E0              ldi R16,2
 02E8 10E0              ldi R17,0
 02EA DAD0              xcall _Light
 02EC                   .dbline 143
 02EC           ;                 }
 02EC           L34:
 02EC                   .dbline 144
 02EC           ;                 KP=0;
 02EC 2224              clr R2
 02EE 3324              clr R3
 02F0 30920700          sts _KP+1,R3
 02F4 20920600          sts _KP,R2
 02F8                   .dbline 145
 02F8           ;          }
 02F8           L31:
 02F8                   .dbline 146
 02F8           ;          if (x&0x80) {
 02F8 67FF              sbrs R22,7
 02FA 03C0              rjmp L37
 02FC                   .dbline 146
 02FC                   .dbline 147
 02FC           ;                 AddOff; DecOff;
 02FC 2224              clr R2
 02FE 22BA              out 0x12,R2
 0300                   .dbline 147
 0300                   .dbline 147
 0300 22BA              out 0x12,R2
 0302                   .dbline 147
 0302                   .dbline 148
 0302           ;          }
 0302           L37:
 0302                   .dbline 149
 0302           ;        }
 0302           L21:
 0302                   .dbline 150
 0302           L6:
 0302                   .dbline 82
 0302 E6CE              xjmp L5
 0304           X9:
 0304                   .dbline -2
 0304           L4:
 0304                   .dbline 0 ; func end
 0304 0895              ret
 0306                   .dbsym r x 22 I
 0306                   .dbend
 0306                   .dbfunc e timer0_100ms_isr _timer0_100ms_isr fV
 0306           ;          k_val -> R16,R17
                        .even
 0306           _timer0_100ms_isr::
 0306 2A92              st -y,R2
 0308 3A92              st -y,R3
 030A 0A93              st -y,R16
 030C 1A93              st -y,R17
 030E 8A93              st -y,R24
 0310 9A93              st -y,R25
 0312 EA93              st -y,R30
 0314 2FB6              in R2,0x3f
 0316 2A92              st -y,R2
 0318                   .dbline -1
 0318                   .dbline 156
 0318           ;   }
 0318           ; }
 0318           ; 
 0318           ; 
 0318           ; //Key service, define in include: KBRD         (PING & 3);
 0318           ; void timer0_100ms_isr(void)  //int     key(void)
 0318           ; {
 0318                   .dbline 159
 0318           ;   int k_val;
 0318           ;   
 0318           ;   if (TimeCount!=0) TimeCount--;
 0318 20900E00          lds R2,_TimeCount
 031C 30900F00          lds R3,_TimeCount+1
 0320 2220              tst R2
 0322 11F4              brne X16
 0324 3320              tst R3
 0326 49F0              breq L40
 0328           X16:
 0328                   .dbline 159
 0328 80910E00          lds R24,_TimeCount
 032C 90910F00          lds R25,_TimeCount+1
 0330 0197              sbiw R24,1
 0332 90930F00          sts _TimeCount+1,R25
 0336 80930E00          sts _TimeCount,R24
 033A           L40:
 033A                   .dbline 160
 033A           ;   k_val = KBRD;
 033A 00B1              in R16,0x0
 033C 1127              clr R17
 033E 0095              com R16
 0340 1095              com R17
 0342 0370              andi R16,3
 0344 1070              andi R17,0
 0346                   .dbline 160
 0346                   .dbline 162
 0346           ;   
 0346           ;   if (k_val != 0) {
 0346 0030              cpi R16,0
 0348 0107              cpc R16,R17
 034A 09F4              brne X20
 034C 41C0              xjmp L42
 034E           X20:
 034E           X17:
 034E                   .dbline 162
 034E                   .dbline 164
 034E           ;        //0 1 ... KAX0 ... KMAX1
 034E           ;        if (k_tim < KMAX1) {
 034E 80910800          lds R24,_k_tim
 0352 90910900          lds R25,_k_tim+1
 0356 8A35              cpi R24,90
 0358 E0E0              ldi R30,0
 035A 9E07              cpc R25,R30
 035C 0CF0              brlt X21
 035E 52C0              xjmp L43
 0360           X21:
 0360                   .dbline 164
 0360                   .dbline 165
 0360           ;               k_tim++;
 0360 0196              adiw R24,1
 0362 90930900          sts _k_tim+1,R25
 0366 80930800          sts _k_tim,R24
 036A                   .dbline 166
 036A           ;               if (k_tim == KMAX1) {
 036A 8A35              cpi R24,90
 036C E0E0              ldi R30,0
 036E 9E07              cpc R25,R30
 0370 59F4              brne L46
 0372                   .dbline 166
 0372                   .dbline 167
 0372           ;                  KP=0x80; 
 0372 80E8              ldi R24,128
 0374 90E0              ldi R25,0
 0376 90930700          sts _KP+1,R25
 037A 80930600          sts _KP,R24
 037E                   .dbline 168
 037E           ;                  k_tim=KMAX1+1;
 037E 8BE5              ldi R24,91
 0380 90930900          sts _k_tim+1,R25
 0384 80930800          sts _k_tim,R24
 0388                   .dbline 169
 0388           ;               }
 0388           L46:
 0388                   .dbline 170
 0388           ;               if (k_tim == KMAX0)  { 
 0388 80910800          lds R24,_k_tim
 038C 90910900          lds R25,_k_tim+1
 0390 8431              cpi R24,20
 0392 E0E0              ldi R30,0
 0394 9E07              cpc R25,R30
 0396 79F4              brne L48
 0398                   .dbline 170
 0398                   .dbline 171
 0398           ;                  KP=k_val<<2; k0=0; 
 0398 1801              movw R2,R16
 039A 220C              lsl R2
 039C 331C              rol R3
 039E 220C              lsl R2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -