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

📄 charging current.lst

📁 NiMH充电的原代码,汇编格式,居于holtek MCU的,已量产5K以上
💻 LST
📖 第 1 页 / 共 2 页
字号:
  74  0021              
  75  0021              
  76  0021              bat0_1c_charging_over_voltage:
  77  0021              bat0_voltagec_over:
  78  0021  2823        jmp bat0_1c_charging_Vpeak_ok
  79  0022              
  80  0022              
  81  0022              
  82  0022              bat0_1c_charging_time_out:
  83  0022  2823        jmp bat0_1c_charging_Vpeak_ok
  84  0023              
  85  0023              
  86  0023              bat0_1c_charging_Vpeak_ok:
  87  0023              
  88  0023  3065        set led0_on_flag
  89  0024  30E5        set led1_on_flag
  90  0025  334E        set ch0_old
  91  0026  281C        jmp ch0_charging_ok_main
  92  0027              
  93  0027              
  94  0027              include sub.asm

   1  0027            C 
   2  0027            C 
   3  0027            C bat_main_sub:
   4  0027            C 
   5  0027  20C6      C call stop_charging
   6  0028  20A1      C call madc_on_sub
   7  0029  3B4E      C snz ch0_old
   8  002A  211A      C call show_bat0_led
   9  002B  20DA      C call delay1s
  10  002C  0003      C ret
  11  002D            C 
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 11

  12  002D            C 
  13  002D            C 
  14  002D            C cinitial: 
  15  002D            C 
  16  002D            C mmov pa,00000011b
  16  002D  0F03      C mov a, 00000011b
  16  002E  0092      C mov [12h],a
  17  002F            C mmov pac,080h
  17  002F  0F80      C mov a, 080h
  17  0030  0093      C mov [13h],a
  18  0031            C 
  19  0031  1F95      C set pbc
  20  0032  1F14      C clr pb
  21  0033  1F19      C clr pdc
  22  0034  1F18      C clr pd
  23  0035            C mmov acsr,02h
  23  0035  0F02      C mov a, 02h
  23  0036  00A3      C mov [23h],a
  24  0037            C mmov adcr,ch3+a0
  24  0037  0F18      C mov a, 00011000b + 00h
  24  0038  00A2      C mov [22h],a
  25  0039  1F1A      C clr pwm0
  26  003A            C mclear_ram
  26  003A            C 
  26  003A            C mmov mp0,040h+80h
  26  003A  0FC0      C mov a, 040h + 80h
  26  003B  0081      C mov [01h],a
  26  003C            C 
  26  003C            C  ??0000:
  26  003C            C 
  26  003C  1F00      C clr [00h]
  26  003D  1481      C inc [01h]
  26  003E  0701      C mov a, [01h]
  26  003F  0C80      C xor a,080h
  26  0040  390A      C snz [0ah].2
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 12

  26  0041  283C      C jmp ??0000
  26  0042            C 
  27  0042  20C6      C call stop_charging
  28  0043            C mmov intc0,00000101b
  28  0043  0F05      C mov a, 00000101b
  28  0044  008B      C mov [0bh],a
  29  0045            C mmov tmr0l,(256-250)
  29  0045  0F06      C mov a, ( 256 - 250 )
  29  0046  008D      C mov [0dh],a
  30  0047            C mmov tmrc, timer_mode+timer_on+t1_16
  30  0047  0F96      C mov a, 80h + 10h + 0110b
  30  0048  008E      C mov [0eh],a
  31  0049            C 
  32  0049  3065      C set led0_on_flag
  33  004A  30E5      C set led1_on_flag
  34  004B  3565      C clr led2_on_flag
  35  004C  35E5      C clr led3_on_flag
  36  004D            C 
  37  004D  3665      C clr common_flag
  38  004E  20DA      C call delay1s
  39  004F  21CE      C call lcd_initial
  40  0050  20DA      C call delay1s
  41  0051  0003      C ret
  42  0052            C 
  43  0052            C 
  44  0052            C 
  45  0052            C timer_isr:
  46  0052            C push
  46  0052  00C0      C mov acc_stack,a
  46  0053  070A      C mov a, [0ah]
  46  0054  00C1      C mov status_stack,a
  47  0055            C 
  48  0055  0712      C mov a,pa
  49  0056  0C40      C xor a,01000000b
  50  0057  3B05      C snz acc.led_com
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 13

  51  0058  3665      C clr common_flag
  52  0059  3F05      C sz acc.led_com
  53  005A  3265      C set common_flag
  54  005B  0092      C mov pa,a
  55  005C            C 
  56  005C  3F05      C sz acc.led_com
  57  005D  2865      C jmp pa6_1
  58  005E            C pa6_0:
  59  005E  3692      C clr pa.5
  60  005F  3DE5      C sz led3_on_flag
  61  0060  3292      C set pa.5
  62  0061            C 
  63  0061  3612      C clr pa.4
  64  0062  3C65      C sz led0_on_flag
  65  0063  3212      C set pa.4
  66  0064  286C      C jmp timer_isr_ap
  67  0065            C 
  68  0065            C pa6_1:
  69  0065  3292      C set pa.5
  70  0066  3D65      C sz led2_on_flag
  71  0067  3692      C clr pa.5
  72  0068            C 
  73  0068  3212      C set pa.4
  74  0069  3CE5      C sz led1_on_flag
  75  006A  3612      C clr pa.4
  76  006B  286C      C jmp timer_isr_ap
  77  006C            C 
  78  006C            C 
  79  006C            C timer_isr_ap:
  80  006C            C 
  81  006C  14C9      C inc time_4ms
  82  006D  14CD      C inc charging_cx
  83  006E            C 
  84  006E            C mjneq time_4ms,250,timer_isr_exit
  84  006E  0749      C mov a, time_4ms
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 14

  84  006F  0CFA      C xor a, 250
  84  0070  390A      C snz [0ah].2
  84  0071  287D      C jmp timer_isr_exit
  85  0072  0001      C clr wdt1
  86  0073  1F49      C clr time_4ms
  87  0074  14CA      C inc time_1s
  88  0075  14CC      C inc Vpeak_cx
  89  0076            C mjneq time_1s,90,timer_isr_exit
  89  0076  074A      C mov a, time_1s
  89  0077  0C5A      C xor a, 90
  89  0078  390A      C snz [0ah].2
  89  0079  287D      C jmp timer_isr_exit
  90  007A  1F4A      C clr time_1s
  91  007B  14CB      C inc time_1min
  92  007C  14E6      C inc total_time
  93  007D            C 
  94  007D            C timer_isr_exit:
  95  007D            C pop
  95  007D  0741      C mov a,status_stack
  95  007E  008A      C mov [0ah],a
  95  007F  0740      C mov a,acc_stack
  95  0080  0004      C reti
  96  0081            C 
  97  0081            C 
  98  0081            C 
  99  0081            C 
 100  0081            C bat0_flag_initial:
 101  0081            C 
 102  0081  1F4C      C clr Vpeak_cx
 103  0082  34CE      C clr bat0_Vpeak_charging_ok
 104  0083  1F4B      C clr time_1min
 105  0084            C mmov pwm0,010h
 105  0084  0F10      C mov a, 010h
 105  0085  009A      C mov [1ah],a
 106  0086  1F49      C clr time_4ms
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 15

 107  0087  1F4A      C clr time_1s
 108  0088  0003      C ret
 109  0089            C 
 110  0089            C 
 111  0089            C 
 112  0089            C bat0_charging_initial:
 113  0089            C 
 114  0089  214A      C call ad_4_data
 115  008A  214A      C call ad_4_data
 116  008B  214A      C call ad_4_data
 117  008C  214A      C call ad_4_data
 118  008D  214A      C call ad_4_data
 119  008E  214A      C call ad_4_data
 120  008F  214A      C call ad_4_data
 121  0090  214A      C call ad_4_data
 122  0091            C 
 123  0091            C mmov Vbat0l_old,Vbat0l
 123  0091  075F      C mov a, Vbat0l
 123  0092  00E1      C mov Vbat0l_old,a
 124  0093  00E3      C mov Vbat0l_peak,a
 125  0094            C 
 126  0094            C mmov Vbat0h_old,Vbat0h
 126  0094  0760      C mov a, Vbat0h
 126  0095  00E2      C mov Vbat0h_old,a
 127  0096  00E4      C mov Vbat0h_peak,a
 128  0097            C 
 129  0097  0003      C ret
 130  0098            C 
 131  0098            C 
 132  0098            C 
 133  0098            C 
 134  0098            C 
 135  0098            C madcon_macro_sub:
 136  0098            C 
 137  0098            C 
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 16

 138  0098            C madcon_temp_lp:
 139  0098  340B      C clr emi
 140  0099  37A2      C clr start
 141  009A  33A2      C set start
 142  009B  37A2      C clr start
 143  009C            C madcon_label:
 144  009C  3F22      C sz eoc
 145  009D  289C      C jmp madcon_label 
 146  009E  300B      C set emi
 147  009F  0005      C clr wdt2
 148  00A0            C 
 149  00A0  0003      C ret
 150  00A1            C 
 151  00A1            C 
 152  00A1            C madc_on_sub:
 153  00A1  0005      C clr wdt2
 154  00A2            C mmov Vbat0l_old,Vbat0l
 154  00A2  075F      C mov a, Vbat0l
 154  00A3  00E1      C mov Vbat0l_old,a
 155  00A4            C mmov Vbat0h_old,Vbat0h
 155  00A4  0760      C mov a, Vbat0h
 155  00A5  00E2      C mov Vbat0h_old,a
 156  00A6  20AC      C call adc_on
 157  00A7            C mmov mp0,offset bat0_voltage_low
 157  00A7  0F47      C mov a, offset bat0_voltage_low
 157  00A8  0081      C mov [01h],a
 158  00A9  211F      C call adc_9bit_conver
 159  00AA  20E6      C call check_battery0_status
 160  00AB  0003      C ret
 161  00AC            C 
 162  00AC            C 
 163  00AC            C adc_on:
 164  00AC            C 
 165  00AC            C adc_on_again:
 166  00AC            C 
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 17

 167  00AC  20C6      C call stop_charging
 168  00AD            C 
 169  00AD            C 
 170  00AD            C adc_on_a0:
 171  00AD            C 
 172  00AD  20CC      C call delay10ms
 173  00AE            C mmov adcr,ch3+a0
 173  00AE  0F18      C mov a, 00011000b + 00h
 173  00AF  00A2      C mov [22h],a
 174  00B0  2098      C call madcon_macro_sub
 175  00B1            C mmov bat0_low,adrl
 175  00B1  0720      C mov a, [20h]
 175  00B2  00C5      C mov bat0_low,a
 176  00B3            C mmov bat0_high,adrh
 176  00B3  0721      C mov a, [21h]
 176  00B4  00C6      C mov bat0_high,a
 177  00B5  0745      C mov a,bat0_low
 178  00B6  00C7      C mov bat0_voltage_low,a
 179  00B7            C 
 180  00B7  0746      C mov a,bat0_high
 181  00B8  00C8      C mov bat0_voltage_high,a
 182  00B9            C 
 183  00B9  0003      C ret
 184  00BA            C 
 185  00BA            C 
 186  00BA            C a0_discharging:
 187  00BA  3418      C clr pd.0
 188  00BB            C 
 189  00BB  0712      C mov a,pa
 190  00BC  0EF3      C and a,11110011b
 191  00BD  0D07      C or a,00000111b
 192  00BE  0092      C mov pa,a
 193  00BF  0003      C ret
 194  00C0            C 
 195  00C0            C a0_charging:
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 18

 196  00C0            C 
 197  00C0  0712      C mov a,pa
 198  00C1  0EF1      C and a,11110001b
 199  00C2  0D01      C or a,00000001b
 200  00C3  0092      C mov pa,a
 201  00C4            C 
 202  00C4  3018      C set pd.0
 203  00C5  0003      C ret
 204  00C6            C 
 205  00C6            C 
 206  00C6            C stop_charging:
 207  00C6  3418      C clr pd.0
 208  00C7  0712      C mov a,pa
 209  00C8  0EF3      C and a,11110011b
 210  00C9  0D03      C or a,00000011b
 211  00CA  0092      C mov pa,a
 212  00CB  0003      C ret
 213  00CC            C 
 214  00CC            C 
 215  00CC            C 
 216  00CC            C delay10ms:
 217  00CC            C 
 218  00CC            C mmov buf0,00			
 218  00CC  0F00      C mov a, 00
 218  00CD  00C2      C mov buf0,a
 219  00CE            C mmov buf1,2			
 219  00CE  0F02      C mov a, 2
 219  00CF  00C3      C mov buf1,a
 220  00D0            C 
 221  00D0            C delay10ms_lp:
 222  00D0  17C2      C sdz buf0
 223  00D1  28D0      C jmp delay10ms_lp
 224  00D2  17C3      C sdz buf1
 225  00D3  28D0      C jmp delay10ms_lp
 226  00D4  0003      C ret
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 19

 227  00D5            C 
 228  00D5            C 
 229  00D5            C 
 230  00D5            C 
 231  00D5            C 
 232  00D5            C ;;; macro for 

⌨️ 快捷键说明

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