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

📄 key.lis

📁 用ICCAVR编辑通过的
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0274           ;                               if ( KEY_INPUT == AUTO_MAN_DOWN )
 0274 80910500          lds R24,_KEY_INPUT
 0278 8830              cpi R24,8
 027A 71F5              brne L22
 027C                   .dbline 186
 027C           ;                               {
 027C                   .dbline 187
 027C           ;                                       KEY_AUTO_MAN_STATE = !KEY_AUTO_MAN_STATE;
 027C 20900100          lds R2,_KEY_AUTO_MAN_STATE
 0280 2220              tst R2
 0282 19F4              brne L57
 0284 41E0              ldi R20,1
 0286 50E0              ldi R21,0
 0288 02C0              rjmp L58
 028A           L57:
 028A 4427              clr R20
 028C 5527              clr R21
 028E           L58:
 028E 40930100          sts _KEY_AUTO_MAN_STATE,R20
 0292                   .dbline 189
 0292           ;                                                                                               //改变手动/自动按键的状态
 0292           ;                                       KEY_INPUT = 0;
 0292 2224              clr R2
 0294 20920500          sts _KEY_INPUT,R2
 0298                   .dbline 190
 0298           ;                                       if ( KEY_AUTO_MAN_STATE )
 0298 4423              tst R20
 029A 51F0              breq L59
 029C                   .dbline 191
 029C           ;                                       {
 029C                   .dbline 192
 029C           ;                                               PORTB |= ( 1 << OUT_AUTO );     //自动
 029C C59A              sbi 0x18,5
 029E                   .dbline 193
 029E           ;                                               eeprom_busy_wait();
 029E 00D0              rcall _eeprom_busy_wait
 02A0                   .dbline 194
 02A0           ;                                               cli();                                                  
 02A0 00D0              rcall _cli
 02A2                   .dbline 195
 02A2           ;                                               eeprom_write_byte ( (char*)0x03, 0x01 );                
 02A2 21E0              ldi R18,1
 02A4 30E0              ldi R19,0
 02A6 03E0              ldi R16,3
 02A8 10E0              ldi R17,0
 02AA 00D0              rcall _eeprom_write_byte
 02AC                   .dbline 196
 02AC           ;                                               sei();
 02AC 00D0              rcall _sei
 02AE                   .dbline 197
 02AE           ;                                       }
 02AE 14C0              rjmp L22
 02B0           L59:
 02B0                   .dbline 199
 02B0           ;                                       else
 02B0           ;                                       {
 02B0                   .dbline 200
 02B0           ;                                               PORTB &= ~( 1 << OUT_AUTO );    //手动
 02B0 C598              cbi 0x18,5
 02B2                   .dbline 201
 02B2           ;                                               eeprom_busy_wait();
 02B2 00D0              rcall _eeprom_busy_wait
 02B4                   .dbline 202
 02B4           ;                                               cli();                                                  
 02B4 00D0              rcall _cli
 02B6                   .dbline 203
 02B6           ;                                               eeprom_write_byte ( (char*)0x03, 0x00 );                
 02B6 2227              clr R18
 02B8 3327              clr R19
 02BA 03E0              ldi R16,3
 02BC 10E0              ldi R17,0
 02BE 00D0              rcall _eeprom_write_byte
 02C0                   .dbline 204
 02C0           ;                                               sei();
 02C0 00D0              rcall _sei
 02C2                   .dbline 205
 02C2           ;                                       }
 02C2                   .dbline 206
 02C2           ;                               }
 02C2                   .dbline 207
 02C2           ;                       }
 02C2                   .dbline 208
 02C2           ;               }
 02C2                   .dbline 209
 02C2           ;       }
 02C2 0AC0              rjmp L22
 02C4           L21:
 02C4                   .dbline 211
 02C4           ;       else
 02C4           ;       {
 02C4                   .dbline 212
 02C4           ;               KEY_INPUT = KEY_TEMP = 0x00;
 02C4 2224              clr R2
 02C6 20920600          sts _KEY_TEMP,R2
 02CA 20920500          sts _KEY_INPUT,R2
 02CE                   .dbline 213
 02CE           ;               KEY_DOWN_TIME = 0;
 02CE 3324              clr R3
 02D0 30920100          sts L14+1,R3
 02D4 20920000          sts L14,R2
 02D8                   .dbline 214
 02D8           ;       }
 02D8           L22:
 02D8                   .dbline 215
 02D8           ;       if ( SET_STATU )
 02D8 20900700          lds R2,_SET_STATU
 02DC 2220              tst R2
 02DE 09F4              brne X9
 02E0 8FC0              rjmp L61
 02E2           X9:
 02E2                   .dbline 216
 02E2           ;       {
 02E2                   .dbline 217
 02E2           ;               CHECK_EDATA_A();
 02E2 00D0              rcall _CHECK_EDATA_A
 02E4                   .dbline 218
 02E4           ;               if ( KEY_INPUT == POWER_DOWN )
 02E4 80910500          lds R24,_KEY_INPUT
 02E8 8130              cpi R24,1
 02EA 09F0              breq X10
 02EC 3CC0              rjmp L63
 02EE           X10:
 02EE                   .dbline 219
 02EE           ;               {
 02EE                   .dbline 220
 02EE           ;                       i++;
 02EE 80910400          lds R24,L16
 02F2 90910500          lds R25,L16+1
 02F6 0196              adiw R24,1
 02F8 90930500          sts L16+1,R25
 02FC 80930400          sts L16,R24
 0300                   .dbline 221
 0300           ;                       TIMER_NUM = 0;
 0300 2224              clr R2
 0302 3324              clr R3
 0304 30920A00          sts _TIMER_NUM+1,R3
 0308 20920900          sts _TIMER_NUM,R2
 030C                   .dbline 222
 030C           ;                       NUM_CHANGE = TRUE;
 030C 81E0              ldi R24,1
 030E 90E0              ldi R25,0
 0310 90930300          sts L15+1,R25
 0314 80930200          sts L15,R24
 0318                   .dbline 223
 0318           ;                       if ( ( i % 25 ) == 0 )
 0318 29E1              ldi R18,25
 031A 30E0              ldi R19,0
 031C 00910400          lds R16,L16
 0320 10910500          lds R17,L16+1
 0324 00D0              rcall mod16u
 0326 0030              cpi R16,0
 0328 0107              cpc R16,R17
 032A 09F0              breq X11
 032C 69C0              rjmp L64
 032E           X11:
 032E           X2:
 032E                   .dbline 224
 032E           ;                       {
 032E                   .dbline 225
 032E           ;                               if ( MAX_A[0] > 0 )
 032E 20900000          lds R2,_MAX_A
 0332 30900100          lds R3,_MAX_A+1
 0336 2220              tst R2
 0338 19F4              brne X3
 033A 3320              tst R3
 033C 09F4              brne X12
 033E 60C0              rjmp L64
 0340           X12:
 0340           X3:
 0340                   .dbline 226
 0340           ;                               {
 0340                   .dbline 227
 0340           ;                                       MAX_A[0]--;
 0340 80910000          lds R24,_MAX_A
 0344 90910100          lds R25,_MAX_A+1
 0348 0197              sbiw R24,1
 034A 90930100          sts _MAX_A+1,R25
 034E 80930000          sts _MAX_A,R24
 0352                   .dbline 228
 0352           ;                                       MAX_A[1] = MAX_A[2] = MAX_A[0];
 0352 1C01              movw R2,R24
 0354 30920500          sts _MAX_A+4+1,R3
 0358 20920400          sts _MAX_A+4,R2
 035C 30920300          sts _MAX_A+2+1,R3
 0360 20920200          sts _MAX_A+2,R2
 0364                   .dbline 229
 0364           ;                               }
 0364                   .dbline 230
 0364           ;                       }
 0364                   .dbline 231
 0364           ;               }       
 0364 4DC0              rjmp L64
 0366           L63:
 0366                   .dbline 232
 0366           ;               else if ( KEY_INPUT == CC_CV_DOWN  )
 0366 80910500          lds R24,_KEY_INPUT
 036A 8430              cpi R24,4
 036C 09F0              breq X13
 036E 48C0              rjmp L71
 0370           X13:
 0370                   .dbline 233
 0370           ;               {
 0370                   .dbline 234
 0370           ;                       i++;
 0370 80910400          lds R24,L16
 0374 90910500          lds R25,L16+1
 0378 0196              adiw R24,1
 037A 90930500          sts L16+1,R25
 037E 80930400          sts L16,R24
 0382                   .dbline 235
 0382           ;                       TIMER_NUM = 0;
 0382 2224              clr R2
 0384 3324              clr R3
 0386 30920A00          sts _TIMER_NUM+1,R3
 038A 20920900          sts _TIMER_NUM,R2
 038E                   .dbline 236
 038E           ;                       NUM_CHANGE = TRUE;
 038E 81E0              ldi R24,1
 0390 90E0              ldi R25,0
 0392 90930300          sts L15+1,R25
 0396 80930200          sts L15,R24
 039A                   .dbline 237
 039A           ;                       if ( ( i % 25 ) == 0 )
 039A 29E1              ldi R18,25
 039C 30E0              ldi R19,0
 039E 00910400          lds R16,L16
 03A2 10910500          lds R17,L16+1
 03A6 00D0              rcall mod16u
 03A8 0030              cpi R16,0
 03AA 0107              cpc R16,R17
 03AC 49F5              brne L73
 03AE           X4:
 03AE                   .dbline 238
 03AE           ;                       {
 03AE                   .dbline 239
 03AE           ;                               if ( MAX_A[0] < 2000 )
 03AE 80910000          lds R24,_MAX_A
 03B2 90910100          lds R25,_MAX_A+1
 03B6 803D              cpi R24,208
 03B8 E7E0              ldi R30,7
 03BA 9E07              cpc R25,R30
 03BC 98F4              brsh L75
 03BE                   .dbline 240
 03BE           ;                               {
 03BE                   .dbline 241
 03BE           ;                                       MAX_A[0]++;
 03BE 80910000          lds R24,_MAX_A
 03C2 90910100          lds R25,_MAX_A+1
 03C6 0196              adiw R24,1
 03C8 90930100          sts _MAX_A+1,R25
 03CC 80930000          sts _MAX_A,R24
 03D0                   .dbline 242
 03D0           ;                                       MAX_A[1] = MAX_A[2] = MAX_A[0];
 03D0 1C01              movw R2,R24
 03D2 30920500          sts _MAX_A+4+1,R3
 03D6 20920400          sts _MAX_A+4,R2
 03DA 30920300          sts _MAX_A+2+1,R3
 03DE 20920200          sts _MAX_A+2,R2
 03E2                   .dbline 243
 03E2           ;                               }
 03E2 0EC0              rjmp L76
 03E4           L75:
 03E4                   .dbline 245
 03E4           ;                               else
 03E4           ;                               {
 03E4                   .dbline 246
 03E4           ;                                       MAX_A[1] = MAX_A[2] = MAX_A[0] = 0;
 03E4 2224              clr R2
 03E6 3324              clr R3
 03E8 30920100          sts _MAX_A+1,R3
 03EC 20920000          sts _MAX_A,R2
 03F0 30920500          sts _MAX_A+4+1,R3
 03F4 20920400          sts _MAX_A+4,R2
 03F8 30920300          sts _MAX_A+2+1,R3
 03FC 20920200          sts _MAX_A+2,R2
 0400                   .dbline 247
 0400           ;                               }
 0400           L76:
 0400                   .dbline 248
 0400           ;                       }
 0400           L73:
 0400                   .dbline 249
 0400           ;               }
 0400           L71:
 0400           L64:
 0400                   .dbline 250
 0400           L61:
 0400                   .dbline -2
 0400           L13:
 0400 2296              adiw R28,2
 0402 00D0              rcall pop_gset3
 0404                   .dbline 0 ; func end
 0404 0895              ret
 0406                   .dbsym r key_first 10 c
 0406                   .dbsym r key_end 20 c
 0406                   .dbsym r key_press 22 c
 0406                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\网络下载\AVR\完整应用\电流电压表\SOF\key.c
 0000           _UP_DOWN_POWER::
 0000                   .blkb 1
 0001                   .dbfile F:\网络下载\AVR\完整应用\电流电压表\SOF/init.h
 0001                   .dbsym e UP_DOWN_POWER _UP_DOWN_POWER c
 0001           _KEY_AUTO_MAN_STATE::
 0001                   .blkb 1
 0002                   .dbsym e KEY_AUTO_MAN_STATE _KEY_AUTO_MAN_STATE c
 0002           _KEY_CC_CV_STATE::
 0002                   .blkb 1
 0003                   .dbsym e KEY_CC_CV_STATE _KEY_CC_CV_STATE c
 0003           _POWER_STATE::
 0003                   .blkb 1
 0004                   .dbsym e POWER_STATE _POWER_STATE c
 0004           _KEY_A_V_STATE::
 0004                   .blkb 1
 0005                   .dbsym e KEY_A_V_STATE _KEY_A_V_STATE c
 0005           _KEY_INPUT::
 0005                   .blkb 1
 0006                   .dbsym e KEY_INPUT _KEY_INPUT c
 0006           _KEY_TEMP::
 0006                   .blkb 1
 0007                   .dbsym e KEY_TEMP _KEY_TEMP c
 0007           _SET_STATU::
 0007                   .blkb 1
 0008                   .dbsym e SET_STATU _SET_STATU c
 0008           _TIMER_EN::
 0008                   .blkb 1
 0009                   .dbsym e TIMER_EN _TIMER_EN c
 0009           _TIMER_NUM::
 0009                   .blkb 2
 000B                   .dbsym e TIMER_NUM _TIMER_NUM i
 000B           _adc_data_temp::
 000B                   .blkb 2
 000D                   .dbsym e adc_data_temp _adc_data_temp i

⌨️ 快捷键说明

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