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

📄 discharger.lis

📁 单片机 mega16L 电池放电器源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0344 00D0              rcall push_gset1
 0346                   .dbline -1
 0346                   .dbline 136
 0346           ;        if(sc_bt_ctrl!=0)  sc_bt_ctrl--;
 0346           ;   }
 0346           ;   
 0346           ; /*----------------------------------
 0346           ;         任务调度程序
 0346           ; ----------------------------------*/
 0346           ; void Run_Turn(void)
 0346           ;   {
 0346                   .dbline 138
 0346           ;    
 0346           ;     switch(RunTab)
 0346 40911100          lds R20,_RunTab
 034A 5527              clr R21
 034C 4130              cpi R20,1
 034E E0E0              ldi R30,0
 0350 5E07              cpc R21,R30
 0352 51F1              breq L66
 0354 4230              cpi R20,2
 0356 E0E0              ldi R30,0
 0358 5E07              cpc R21,R30
 035A 41F1              breq L67
 035C 4130              cpi R20,1
 035E E0E0              ldi R30,0
 0360 5E07              cpc R21,R30
 0362 0CF4              brge X15
 0364 34C0              rjmp L63
 0366           X15:
 0366           L76:
 0366 4B30              cpi R20,11
 0368 E0E0              ldi R30,0
 036A 5E07              cpc R21,R30
 036C 09F1              breq L68
 036E 4C30              cpi R20,12
 0370 E0E0              ldi R30,0
 0372 5E07              cpc R21,R30
 0374 F9F0              breq L69
 0376 4D30              cpi R20,13
 0378 E0E0              ldi R30,0
 037A 5E07              cpc R21,R30
 037C E9F0              breq L70
 037E 4E30              cpi R20,14
 0380 E0E0              ldi R30,0
 0382 5E07              cpc R21,R30
 0384 D9F0              breq L71
 0386 4F30              cpi R20,15
 0388 E0E0              ldi R30,0
 038A 5E07              cpc R21,R30
 038C C9F0              breq L72
 038E 4431              cpi R20,20
 0390 E0E0              ldi R30,0
 0392 5E07              cpc R21,R30
 0394 B9F0              breq L73
 0396 4531              cpi R20,21
 0398 E0E0              ldi R30,0
 039A 5E07              cpc R21,R30
 039C A9F0              breq L74
 039E 4631              cpi R20,22
 03A0 E0E0              ldi R30,0
 03A2 5E07              cpc R21,R30
 03A4 99F0              breq L75
 03A6 13C0              rjmp L63
 03A8           X14:
 03A8                   .dbline 139
 03A8           ;         {
 03A8           L66:
 03A8                   .dbline 140
 03A8           ;           case 1:desktop();break;
 03A8 76D0              rcall _desktop
 03AA                   .dbline 140
 03AA 11C0              rjmp L64
 03AC           L67:
 03AC                   .dbline 141
 03AC           ;               case 2:system_menu();break;
 03AC 2FD4              rcall _system_menu
 03AE                   .dbline 141
 03AE 0FC0              rjmp L64
 03B0           L68:
 03B0                   .dbline 142
 03B0           ;               case 11:Discharging();break;
 03B0 9DD0              rcall _Discharging
 03B2                   .dbline 142
 03B2 0DC0              rjmp L64
 03B4           L69:
 03B4                   .dbline 143
 03B4           ;               case 12:D882();break;
 03B4 23D1              rcall _D882
 03B6                   .dbline 143
 03B6 0BC0              rjmp L64
 03B8           L70:
 03B8                   .dbline 144
 03B8           ;               case 13:Record();break;
 03B8 8CD1              rcall _Record
 03BA                   .dbline 144
 03BA 09C0              rjmp L64
 03BC           L71:
 03BC                   .dbline 145
 03BC           ;               case 14:Clear();break;
 03BC 53D2              rcall _Clear
 03BE                   .dbline 145
 03BE 07C0              rjmp L64
 03C0           L72:
 03C0                   .dbline 146
 03C0           ;               case 15:usart();break;
 03C0 E7D2              rcall _usart
 03C2                   .dbline 146
 03C2 05C0              rjmp L64
 03C4           L73:
 03C4                   .dbline 147
 03C4           ;               case 20:Capacitance_setting();break;
 03C4 E0D4              rcall _Capacitance_setting
 03C6                   .dbline 147
 03C6 03C0              rjmp L64
 03C8           L74:
 03C8                   .dbline 148
 03C8           ;               case 21:discharge_speed();break;
 03C8 88D5              rcall _discharge_speed
 03CA                   .dbline 148
 03CA 01C0              rjmp L64
 03CC           L75:
 03CC                   .dbline 149
 03CC           ;               case 22:record_setting();break;
 03CC 26D6              rcall _record_setting
 03CE                   .dbline 149
 03CE           L63:
 03CE           L64:
 03CE                   .dbline -2
 03CE           L62:
 03CE 00D0              rcall pop_gset1
 03D0                   .dbline 0 ; func end
 03D0 0895              ret
 03D2                   .dbend
 03D2                   .dbfunc e bt1_v_record _bt1_v_record fV
                        .even
 03D2           _bt1_v_record::
 03D2 2297              sbiw R28,2
 03D4                   .dbline -1
 03D4                   .dbline 154
 03D4           ;         }
 03D4           ;   }
 03D4           ;   
 03D4           ; void bt1_v_record(void)
 03D4           ;   {  
 03D4                   .dbline 155
 03D4           ;      bt1_v_temp/=15;
 03D4 2FE0              ldi R18,15
 03D6 30E0              ldi R19,0
 03D8 00911400          lds R16,_bt1_v_temp
 03DC 10911500          lds R17,_bt1_v_temp+1
 03E0 00D0              rcall div16u
 03E2 10931500          sts _bt1_v_temp+1,R17
 03E6 00931400          sts _bt1_v_temp,R16
 03EA                   .dbline 156
 03EA           ;      EEPROM_READ(0x01F8,BT1_V_num);
 03EA 82E0              ldi R24,2
 03EC 90E0              ldi R25,0
 03EE 9983              std y+1,R25
 03F0 8883              std y+0,R24
 03F2 20E0              ldi R18,<_BT1_V_num
 03F4 30E0              ldi R19,>_BT1_V_num
 03F6 08EF              ldi R16,504
 03F8 11E0              ldi R17,1
 03FA 00D0              rcall _EEPROMReadBytes
 03FC                   .dbline 157
 03FC           ;      EEPROM_WRITE(BT1_V_num*2,bt1_v_temp);
 03FC 82E0              ldi R24,2
 03FE 90E0              ldi R25,0
 0400 9983              std y+1,R25
 0402 8883              std y+0,R24
 0404 20E0              ldi R18,<_bt1_v_temp
 0406 30E0              ldi R19,>_bt1_v_temp
 0408 20901800          lds R2,_BT1_V_num
 040C 30901900          lds R3,_BT1_V_num+1
 0410 02E0              ldi R16,2
 0412 10E0              ldi R17,0
 0414 2F93              push R18
 0416 3F93              push R19
 0418 9101              movw R18,R2
 041A 00D0              rcall empy16s
 041C 3F91              pop R19
 041E 2F91              pop R18
 0420 00D0              rcall _EEPROMWriteBytes
 0422                   .dbline 158
 0422           ;        put_number(BT1_V_num,"  ",' '); 
 0422 80E2              ldi R24,32
 0424 8883              std y+0,R24
 0426 20E0              ldi R18,<L78
 0428 30E0              ldi R19,>L78
 042A 00911800          lds R16,_BT1_V_num
 042E 10911900          lds R17,_BT1_V_num+1
 0432 6FD3              rcall _put_number
 0434                   .dbline 159
 0434           ;        put_number(bt1_v_temp," mV",'\n'); 
 0434 8AE0              ldi R24,10
 0436 8883              std y+0,R24
 0438 20E0              ldi R18,<L79
 043A 30E0              ldi R19,>L79
 043C 00911400          lds R16,_bt1_v_temp
 0440 10911500          lds R17,_bt1_v_temp+1
 0444 66D3              rcall _put_number
 0446                   .dbline 160
 0446           ;       if(BT1_V_num<249)
 0446 80911800          lds R24,_BT1_V_num
 044A 90911900          lds R25,_BT1_V_num+1
 044E 893F              cpi R24,249
 0450 E0E0              ldi R30,0
 0452 9E07              cpc R25,R30
 0454 70F4              brsh L80
 0456                   .dbline 161
 0456           ;          {BT1_V_num++;EEPROM_WRITE(0x01F8,BT1_V_num);} 
 0456                   .dbline 161
 0456 0196              adiw R24,1
 0458 90931900          sts _BT1_V_num+1,R25
 045C 80931800          sts _BT1_V_num,R24
 0460                   .dbline 161
 0460 82E0              ldi R24,2
 0462 90E0              ldi R25,0
 0464 9983              std y+1,R25
 0466 8883              std y+0,R24
 0468 20E0              ldi R18,<_BT1_V_num
 046A 30E0              ldi R19,>_BT1_V_num
 046C 08EF              ldi R16,504
 046E 11E0              ldi R17,1
 0470 00D0              rcall _EEPROMWriteBytes
 0472                   .dbline 161
 0472           L80:
 0472                   .dbline 163
 0472           ;         
 0472           ;        bt1_v_temp=0;
 0472 2224              clr R2
 0474 3324              clr R3
 0476 30921500          sts _bt1_v_temp+1,R3
 047A 20921400          sts _bt1_v_temp,R2
 047E                   .dbline -2
 047E           L77:
 047E 2296              adiw R28,2
 0480                   .dbline 0 ; func end
 0480 0895              ret
 0482                   .dbend
 0482                   .dbfunc e main _main fV
                        .even
 0482           _main::
 0482                   .dbline -1
 0482                   .dbline 169
 0482           ;   }
 0482           ; /*------------------------------------
 0482           ;           主程序
 0482           ; -------------------------------------*/
 0482           ; void main(void)
 0482           ;   {   
 0482                   .dbline 170
 0482           ;        init_devices();
 0482 00D0              rcall _init_devices
 0484                   .dbline 171
 0484           ;        system_menu_init();
 0484 A1D3              rcall _system_menu_init
 0486 05C0              rjmp L84
 0488           L83:
 0488                   .dbline 173
 0488                   .dbline 174
 0488 68D4              rcall _discharge_init
 048A                   .dbline 175
 048A 15D6              rcall _discharge
 048C                   .dbline 176
 048C 04E6              ldi R16,100
 048E 10E0              ldi R17,0
 0490 00D0              rcall _delay_nms
 0492                   .dbline 177
 0492           L84:
 0492                   .dbline 172
 0492 FACF              rjmp L83
 0494           X16:
 0494                   .dbline -2
 0494           L82:
 0494                   .dbline 0 ; func end
 0494 0895              ret
 0496                   .dbend
 0496                   .dbfunc e desktop _desktop fV
 0496           ;             ID -> R20
                        .even
 0496           _desktop::
 0496 00D0              rcall push_gset1
 0498 2797              sbiw R28,7
 049A                   .dbline -1
 049A                   .dbline 181
 049A           ;        while(1)
 049A           ;          {
 049A           ;            discharge_init();
 049A           ;                discharge();
 049A           ;                delay_nms(100);
 049A           ;          }
 049A           ;   }
 049A           ; 
 049A           ; void desktop(void)
 049A           ;  {
 049A                   .dbline 182
 049A           ;     unsigned char ID=1;
 049A 41E0              ldi R20,1
 049C                   .dbline 183
 049C           ;         if(RunTab==ID)
 049C 20901100          lds R2,_RunTab
 04A0 2416              cp R2,R20
 04A2 09F5              brne L87
 04A4                   .dbline 184
 04A4           ;           {  
 04A4                   .dbline 185
 04A4           ;                  if(keyboard==up){keyboard=0;RunTab=2;}
 04A4 80913200          lds R24,_keyboard
 04A8 8130              cpi R24,1
 04AA 31F4              brne L89
 04AC                   .dbline 185
 04AC                   .dbline 185
 04AC 2224              clr R2
 04AE 20923200          sts _keyboard,R2
 04B2                   .dbline 185
 04B2 82E0              ldi R24,2
 04B4 80931100          sts _RunTab,R24
 04B8                   .dbline 185
 04B8           L89:
 04B8                   .dbline 186
 04B8 8AE0              ldi R24,10
 04BA 8A83              std y+2,R24
 04BC 80E0              ldi R24,<L91
 04BE 90E0              ldi R25,>L91
 04C0 9983              std y+1,R25
 04C2 8883              std y+0,R24
 04C4 21E0              ldi R18,1
 04C6 0027              clr R16
 04C8 00D0              rcall _LCD_write_string
 04CA                   .dbline 187
 04CA 85E0              ldi R24,5
 04CC 8E83              std y+6,R24
 04CE 20900E00          lds R2,_sec

⌨️ 快捷键说明

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