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

📄 main.lis

📁 单片机 mega16L 电池放电器源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0534           ;             ID -> R20
                        .even
 0534           _Capacitance_setting::
 0534 00D0              rcall push_gset1
 0536 2997              sbiw R28,9
 0538                   .dbline -1
 0538                   .dbline 192
 0538           ;   }
 0538           ; void discharge_init(void)
 0538           ;   {
 0538           ;       BT1_V=T_BT1_V();
 0538           ;         if((BT1_V>2000)&&BT1_state==0)//
 0538           ;           {
 0538           ;                 BT1_state|=(1<<0);
 0538           ;                 RunTab=10;
 0538           ;               }
 0538           ;   }
 0538           ; void Capacitance_setting(void)
 0538           ;   {
 0538                   .dbline 193
 0538           ;     unsigned char ID=10; 
 0538 4AE0              ldi R20,10
 053A                   .dbline 194
 053A           ;     if(RunTab==ID)
 053A 20900000          lds R2,_RunTab
 053E 2416              cp R2,R20
 0540 09F0              breq X21
 0542 92C0              rjmp L77
 0544           X21:
 0544                   .dbline 195
 0544           ;                 {     
 0544                   .dbline 196
 0544           ;                   if((keyboard==up)&&mAh_set<4000)
 0544 80913500          lds R24,_keyboard
 0548 8130              cpi R24,1
 054A 91F4              brne L79
 054C 80910400          lds R24,_mAh_set
 0550 90910500          lds R25,_mAh_set+1
 0554 803A              cpi R24,160
 0556 EFE0              ldi R30,15
 0558 9E07              cpc R25,R30
 055A 50F4              brsh L79
 055C                   .dbline 197
 055C           ;                    {keyboard=0;mAh_set+=100;}
 055C                   .dbline 197
 055C 2224              clr R2
 055E 20923500          sts _keyboard,R2
 0562                   .dbline 197
 0562 8C59              subi R24,156  ; offset = 100
 0564 9F4F              sbci R25,255
 0566 90930500          sts _mAh_set+1,R25
 056A 80930400          sts _mAh_set,R24
 056E                   .dbline 197
 056E 49C0              rjmp L80
 0570           L79:
 0570                   .dbline 198
 0570           ;                   else if((keyboard==down)&&mAh_set>100)
 0570 80913500          lds R24,_keyboard
 0574 8230              cpi R24,2
 0576 B9F4              brne L81
 0578 84E6              ldi R24,100
 057A 90E0              ldi R25,0
 057C 20900400          lds R2,_mAh_set
 0580 30900500          lds R3,_mAh_set+1
 0584 8215              cp R24,R2
 0586 9305              cpc R25,R3
 0588 70F4              brsh L81
 058A                   .dbline 199
 058A           ;                    {keyboard=0;mAh_set-=100;}
 058A                   .dbline 199
 058A 2224              clr R2
 058C 20923500          sts _keyboard,R2
 0590                   .dbline 199
 0590 80910400          lds R24,_mAh_set
 0594 90910500          lds R25,_mAh_set+1
 0598 8456              subi R24,100
 059A 9040              sbci R25,0
 059C 90930500          sts _mAh_set+1,R25
 05A0 80930400          sts _mAh_set,R24
 05A4                   .dbline 199
 05A4 2EC0              rjmp L82
 05A6           L81:
 05A6                   .dbline 200
 05A6           ;                       else if(keyboard==pagedown)
 05A6 80913500          lds R24,_keyboard
 05AA 8830              cpi R24,8
 05AC 51F5              brne L83
 05AE                   .dbline 201
 05AE           ;               { 
 05AE                   .dbline 202
 05AE           ;                        keyboard=0;
 05AE 2224              clr R2
 05B0 20923500          sts _keyboard,R2
 05B4                   .dbline 203
 05B4           ;              EEPROM_READ(0x01F0,BT1_mAh);     
 05B4 84E0              ldi R24,4
 05B6 90E0              ldi R25,0
 05B8 9983              std y+1,R25
 05BA 8883              std y+0,R24
 05BC 20E0              ldi R18,<_BT1_mAh
 05BE 30E0              ldi R19,>_BT1_mAh
 05C0 00EF              ldi R16,496
 05C2 11E0              ldi R17,1
 05C4 00D0              rcall _EEPROMReadBytes
 05C6                   .dbline 204
 05C6           ;                EEPROM_READ(0x01F4,BT1_time);
 05C6 84E0              ldi R24,4
 05C8 90E0              ldi R25,0
 05CA 9983              std y+1,R25
 05CC 8883              std y+0,R24
 05CE 20E0              ldi R18,<_BT1_time
 05D0 30E0              ldi R19,>_BT1_time
 05D2 04EF              ldi R16,500
 05D4 11E0              ldi R17,1
 05D6 00D0              rcall _EEPROMReadBytes
 05D8                   .dbline 205
 05D8           ;                        EEPROM_READ(0x01FC,mAh_set);
 05D8 82E0              ldi R24,2
 05DA 90E0              ldi R25,0
 05DC 9983              std y+1,R25
 05DE 8883              std y+0,R24
 05E0 20E0              ldi R18,<_mAh_set
 05E2 30E0              ldi R19,>_mAh_set
 05E4 0CEF              ldi R16,508
 05E6 11E0              ldi R17,1
 05E8 00D0              rcall _EEPROMReadBytes
 05EA                   .dbline 206
 05EA           ;                        EEPROM_READ(0x01FE,speed);
 05EA 81E0              ldi R24,1
 05EC 90E0              ldi R25,0
 05EE 9983              std y+1,R25
 05F0 8883              std y+0,R24
 05F2 20E0              ldi R18,<_speed
 05F4 30E0              ldi R19,>_speed
 05F6 0EEF              ldi R16,510
 05F8 11E0              ldi R17,1
 05FA 00D0              rcall _EEPROMReadBytes
 05FC                   .dbline 207
 05FC           ;                        RunTab=12;
 05FC 8CE0              ldi R24,12
 05FE 80930000          sts _RunTab,R24
 0602                   .dbline 208
 0602           ;               }
 0602           L83:
 0602           L82:
 0602           L80:
 0602                   .dbline 209
 0602 2224              clr R2
 0604 2A82              std y+2,R2
 0606 80E0              ldi R24,<L85
 0608 90E0              ldi R25,>L85
 060A 9983              std y+1,R25
 060C 8883              std y+0,R24
 060E 2227              clr R18
 0610 0027              clr R16
 0612 00D0              rcall _LCD_write_string
 0614                   .dbline 210
 0614 88E0              ldi R24,8
 0616 8887              std y+8,R24
 0618 80E0              ldi R24,<L86
 061A 90E0              ldi R25,>L86
 061C 9F83              std y+7,R25
 061E 8E83              std y+6,R24
 0620 20900400          lds R2,_mAh_set
 0624 30900500          lds R3,_mAh_set+1
 0628 4424              clr R4
 062A 5524              clr R5
 062C 2A82              std y+2,R2
 062E 3B82              std y+3,R3
 0630 4C82              std y+4,R4
 0632 5D82              std y+5,R5
 0634 2224              clr R2
 0636 2882              std y+0,R2
 0638 21E0              ldi R18,1
 063A 0027              clr R16
 063C 00D0              rcall _LCD_write_number
 063E                   .dbline 211
 063E 8FE0              ldi R24,15
 0640 8887              std y+8,R24
 0642 80E0              ldi R24,<L87
 0644 90E0              ldi R25,>L87
 0646 9F83              std y+7,R25
 0648 8E83              std y+6,R24
 064A 20901E00          lds R2,_BT1_V
 064E 30901F00          lds R3,_BT1_V+1
 0652 4424              clr R4
 0654 5524              clr R5
 0656 2A82              std y+2,R2
 0658 3B82              std y+3,R3
 065A 4C82              std y+4,R4
 065C 5D82              std y+5,R5
 065E 83E0              ldi R24,3
 0660 8883              std y+0,R24
 0662 21E0              ldi R18,1
 0664 0AE0              ldi R16,10
 0666 00D0              rcall _LCD_write_number
 0668                   .dbline 212
 0668           L77:
 0668                   .dbline -2
 0668           L76:
 0668 2996              adiw R28,9
 066A 00D0              rcall pop_gset1
 066C                   .dbline 0 ; func end
 066C 0895              ret
 066E                   .dbsym r ID 20 c
 066E                   .dbend
 066E                   .dbfunc e discharge_speed _discharge_speed fV
 066E           ;             ID -> R20
                        .even
 066E           _discharge_speed::
 066E 00D0              rcall push_gset1
 0670 2997              sbiw R28,9
 0672                   .dbline -1
 0672                   .dbline 215
 0672           ;                       LCD_write_string(0,0,"Capacitance",0);
 0672           ;                       LCD_write_number(0,1,0,mAh_set,"mAh",8);
 0672           ;                       LCD_write_number(10,1,3,BT1_V,"V",15);
 0672           ;                 }
 0672           ;   }
 0672           ; void discharge_speed(void)
 0672           ;   {
 0672                   .dbline 216
 0672           ;       unsigned char ID=11; 
 0672 4BE0              ldi R20,11
 0674                   .dbline 217
 0674           ;       if(RunTab==ID)
 0674 20900000          lds R2,_RunTab
 0678 2416              cp R2,R20
 067A 09F0              breq X22
 067C 84C0              rjmp L89
 067E           X22:
 067E                   .dbline 218
 067E           ;                 { 
 067E                   .dbline 219
 067E           ;                   LCD_write_string(0,0,"speed",0);
 067E 2224              clr R2
 0680 2A82              std y+2,R2
 0682 80E0              ldi R24,<L91
 0684 90E0              ldi R25,>L91
 0686 9983              std y+1,R25
 0688 8883              std y+0,R24
 068A 2227              clr R18
 068C 0027              clr R16
 068E 00D0              rcall _LCD_write_string
 0690                   .dbline 220
 0690           ;                       LCD_write_number(9,0,0,6000/speed,"min",15);
 0690 8FE0              ldi R24,15
 0692 8887              std y+8,R24
 0694 80E0              ldi R24,<L92
 0696 90E0              ldi R25,>L92
 0698 9F83              std y+7,R25
 069A 8E83              std y+6,R24
 069C 20910600          lds R18,_speed
 06A0 3327              clr R19
 06A2 00E7              ldi R16,6000
 06A4 17E1              ldi R17,23
 06A6 00D0              rcall div16s
 06A8 1801              movw R2,R16
 06AA 4424              clr R4
 06AC 37FC              sbrc R3,7
 06AE 4094              com R4
 06B0 5524              clr R5
 06B2 47FC              sbrc R4,7
 06B4 5094              com R5
 06B6 2A82              std y+2,R2
 06B8 3B82              std y+3,R3
 06BA 4C82              std y+4,R4
 06BC 5D82              std y+5,R5
 06BE 2224              clr R2
 06C0 2882              std y+0,R2
 06C2 2227              clr R18
 06C4 09E0              ldi R16,9
 06C6 00D0              rcall _LCD_write_number
 06C8                   .dbline 221
 06C8           ;                       LCD_write_number(0,1,2,speed,"C",8);
 06C8 88E0              ldi R24,8
 06CA 8887              std y+8,R24
 06CC 80E0              ldi R24,<L93
 06CE 90E0              ldi R25,>L93
 06D0 9F83              std y+7,R25
 06D2 8E83              std y+6,R24
 06D4 20900600          lds R2,_speed
 06D8 3324              clr R3
 06DA 4424              clr R4
 06DC 5524              clr R5
 06DE 2A82              std y+2,R2
 06E0 3B82              std y+3,R3
 06E2 4C82              std y+4,R4
 06E4 5D82              std y+5,R5
 06E6 82E0              ldi R24,2
 06E8 8883              std y+0,R24
 06EA 21E0              ldi R18,1
 06EC 0027              clr R16
 06EE 00D0              rcall _LCD_write_number
 06F0                   .dbline 222
 06F0           ;                       LCD_write_number(9,1,3,mAh_set/100*speed,"A",15);
 06F0 8FE0              ldi R24,15
 06F2 8887              std y+8,R24
 06F4 80E0              ldi R24,<L94
 06F6 90E0              ldi R25,>L94
 06F8 9F83              std y+7,R25
 06FA 8E83              std y+6,R24
 06FC 24E6              ldi R18,100
 06FE 30E0              ldi R19,0
 0700 00910400          lds R16,_mAh_set
 0704 10910500          lds R17,_mAh_set+1
 0708 00D0              rcall div16u
 070A 20910600          lds R18,_speed
 070E 3327              clr R19
 0710 00D0              rcall empy16s
 0712 1801              movw R2,R16
 0714 4424              clr R4
 0716 5524              clr R5
 0718 2A82              std y+2,R2
 071A 3B82              std y+3,R3
 071C 4C82              std y+4,R4
 071E 5D82              std y+5,R5
 0720 83E0              ldi R24,3
 0722 8883              std y+0,R24
 0724 21E0              ldi R18,1
 0726 09E0              ldi R16,9
 0728 00D0              rcall _LCD_write_number
 072A                   .dbline 224
 072A           ;                    
 072A           ;                   if((keyboard==up)&&speed<120)
 072A 80913500          lds R24,_keyboard
 072E 8130              cpi R24,1
 0730 59F4              brne L95
 0732 80910600          lds R24,_speed
 0736 8837              cpi R24,120
 0738 38F4              brsh L95
 073A                   .dbline 225
 073A           ;                    {keyboard=0;speed+=5;}
 073A                   .dbline 225
 073A 2224              clr R2
 073C 20923500          sts _keyboard,R2
 0740                   .dbline 225
 0740 8B5F              subi R24,251    ; addi 5

⌨️ 快捷键说明

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