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

📄 charging current.lst

📁 NiMH充电的原代码,汇编格式,居于holtek MCU的,已量产5K以上
💻 LST
📖 第 1 页 / 共 2 页
字号:
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              
   2  0000              page 35
   3  0000              
   4  0000              include nimh.inc   

   6  0000            C .listinclude
   7  0000            C .listmacro
   8  0000            C 
   9  0000            C 
  10  0000            C r0      equ     [00h]   
  11  0000            C mp0     equ     [01h]
  12  0000            C acc     equ     [05h]
  13  0000            C pcl     equ     [06h]
  14  0000            C tblp    equ     [07h]
  15  0000            C tblh    equ     [08h]
  16  0000            C status  equ     [0ah]
  17  0000            C intc0   equ     [0bh]
  18  0000            C intc    equ     [0bh]
  19  0000            C tmrl    equ     [0dh]
  20  0000            C tmr0l   equ     [0dh]
  21  0000            C tmrc    equ     [0eh]
  22  0000            C tmr0c   equ     [0eh]
  23  0000            C pa      equ     [12h]
  24  0000            C pac     equ     [13h]
  25  0000            C pb      equ     [14h]
  26  0000            C pbc     equ     [15h]
  27  0000            C pd      equ     [18h]
  28  0000            C pdc     equ     [19h]
  29  0000            C pwm0    equ     [1ah]
  30  0000            C adrl    equ     [20h]
  31  0000            C adrh    equ     [21h]
  32  0000            C adcr    equ     [22h]
  33  0000            C acsr    equ     [23h]
  34  0000            C ;
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 2

  35  0000            C c       equ     [0ah].0
  36  0000            C ac      equ     [0ah].1
  37  0000            C z       equ     [0ah].2
  38  0000            C ov      equ     [0ah].3
  39  0000            C pdf     equ     [0ah].4
  40  0000            C to      equ     [0ah].5
  41  0000            C ;
  42  0000            C 
  43  0000            C EMI     EQU             [0BH].0
  44  0000            C ETI     EQU             [0BH].2
  45  0000            C timer_mode	         equ	80h
  46  0000            C timer_on             equ    10h
  47  0000            C 
  48  0000            C t1_16	equ	0110b
  49  0000            C 
  50  0000            C eoc equ adcr.6
  51  0000            C start equ adcr.7
  52  0000            C ;
  53  0000            C 
  54  0000            C a0 equ 00h
  55  0000            C a2 equ 02h
  56  0000            C ch3 equ 00011000b
  57  0000            C 
  58  0000            C 
  59  0000            C 
  60  0000            C mmov macro a1,b1
  61  0000            C mov a,b1
  62  0000            C mov a1,a
  63  0000            C endm
  64  0000            C 
  65  0000            C push macro
  66  0000            C mov acc_stack,a
  67  0000            C mov a,status
  68  0000            C mov status_stack,a
  69  0000            C endm
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 3

  70  0000            C 
  71  0000            C 
  72  0000            C pop macro
  73  0000            C mov a,status_stack
  74  0000            C mov status,a
  75  0000            C mov a,acc_stack
  76  0000            C reti
  77  0000            C endm
  78  0000            C 
  79  0000            C ;;; if b1<>c1 then d1
  80  0000            C mjneq macro b1,c1,d1
  81  0000            C mov a,b1
  82  0000            C xor a,c1
  83  0000            C snz z
  84  0000            C jmp d1
  85  0000            C endm
  86  0000            C 
  87  0000            C 
  88  0000            C ;;; if b1 > c1 then d1
  89  0000            C mjbig macro b1,c1,d1
  90  0000            C mov a,b1
  91  0000            C sub a,c1
  92  0000            C sz c
  93  0000            C jmp d1
  94  0000            C endm
  95  0000            C 
  96  0000            C 
  97  0000            C 
  98  0000            C ;;; if a1 < b1 then lab
  99  0000            C mjles16 macro a1l,a1h,b1l,b1h,lab
 100  0000            C mov a,a1l
 101  0000            C sub a,b1l
 102  0000            C mmov buf0,b1h
 103  0000            C mov a,a1h
 104  0000            C sbc a,buf0
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 4

 105  0000            C snz c
 106  0000            C jmp lab
 107  0000            C endm
 108  0000            C 
 109  0000            C 
 110  0000            C 
 111  0000            C mclear_ram macro
 112  0000            C LOCAL temp
 113  0000            C 
 114  0000            C mmov mp0,040h+80h
 115  0000            C 
 116  0000            C temp:
 117  0000            C 
 118  0000            C clr r0
 119  0000            C inc mp0
 120  0000            C mov a,mp0
 121  0000            C xor a,080h
 122  0000            C snz z
 123  0000            C jmp temp
 124  0000            C 
 125  0000            C endm
 126  0000            C 
 127  0000            C 
 128  0000            C v155 equ 1270
 129  0000            C v48 equ v155
 130  0000            C v48h equ high v48
 131  0000            C v48l equ low v48
 132  0000            C v115 equ 942
 133  0000            C v125 equ 1024
 134  0000            C v25 equ v125
 135  0000            C v25h equ high v25
 136  0000            C v25l equ low v25
 137  0000            C v22 equ v115
 138  0000            C v22h equ high v22
 139  0000            C v22l equ low v22
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 5

 140  0000            C v01 equ 82
 141  0000            C v03 equ v01
 142  0000            C v03h equ high v03
 143  0000            C v03l equ low v03
 144  0000            C 
 145  0000            C 
 146  0000            C 
 147  0000            C v80mv	equ 1
 148  0000            C v20mv	equ 0180h
 149  0000            C v30mv	equ 0200h
 150  0000            C v260mv equ 0f00h
 151  0000            C v250mv equ 0e80h
 152  0000            C 
 153  0000            C 
 154  0000            C charging_time equ 0240
 155  0000            C Vpk_time equ 64	
 156  0000            C led_com equ 6
 157  0000            C 
 158  0000            C 
 159  0000            C 
 160  0000            C ;;; RAM arrage
 161  0000            C 
 162  0000            C data_sec 	.section at 040h	'data'
 163  0000            C 
 164  0000            C 
 165  0000  00        C acc_stack		db ?
 166  0001  00        C status_stack	db ?
 167  0002  00        C buf0 			db ?
 168  0003  00        C buf1			db ?
 169  0004  00        C buf2			db ?
 170  0005            C 
 171  0005  00        C bat0_low		db ?   	
 172  0006  00        C bat0_high		db ?	
 173  0007            C 
 174  0007  00        C bat0_voltage_low	db ?	
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 6

 175  0008  00        C bat0_voltage_high	db ?
 176  0009            C 
 177  0009  00        C time_4ms	db ?
 178  000A  00        C time_1s		db ?
 179  000B  00        C time_1min	db ?
 180  000C  00        C Vpeak_cx	db ?
 181  000D  00        C charging_cx db ?
 182  000E            C 
 183  000E  00        C dis_charging_flag dbit
 184  000F            C 
 185  000E            C bat0_Vpeak_charging_ok dbit
 186  000F            C 
 187  000E            C bat0_on_flag dbit
 188  000F            C 
 189  000E            C bat0_1c_charging_flag dbit
 190  000F            C 
 191  000E            C bat0_voltage_over_flag dbit
 192  000F            C 
 193  000E            C bat0_discharging_ok_flag dbit
 194  000F            C 
 195  000F            C 
 196  000E            C ch0_old dbit
 197  000F            C 
 198  000E            C get_ch0_vmax_flag dbit
 199  000F            C 
 200  000F  00        C Vbat00l	db ?
 201  0010  00        C Vbat00h db ?
 202  0011            C 
 203  0011  00        C Vbat01l	db ?
 204  0012  00        C Vbat01h db ?
 205  0013            C 
 206  0013  00        C Vbat02l	db ?
 207  0014  00        C Vbat02h db ?
 208  0015            C 
 209  0015  00        C Vbat03l	db ?
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 7

 210  0016  00        C Vbat03h db ?
 211  0017            C 
 212  0017            C 
 213  0017  00        C Vbat04l	db ?
 214  0018  00        C Vbat04h db ?
 215  0019            C 
 216  0019  00        C Vbat05l	db ?
 217  001A  00        C Vbat05h db ?
 218  001B            C 
 219  001B  00        C Vbat06l	db ?
 220  001C  00        C Vbat06h db ?
 221  001D            C 
 222  001D  00        C Vbat07l	db ?
 223  001E  00        C Vbat07h db ?
 224  001F            C 
 225  001F            C 
 226  001F  00        C Vbat0l db ?		
 227  0020  00        C Vbat0h db ?
 228  0021            C 
 229  0021            C 
 230  0021  00        C Vbat0l_old	db ?
 231  0022  00        C Vbat0h_old db ?
 232  0023            C 
 233  0023  00        C Vbat0l_peak	db ?
 234  0024  00        C Vbat0h_peak db ?
 235  0025            C 
 236  0025  00        C led0_on_flag dbit
 237  0025            C led1_on_flag dbit
 238  0025            C led2_on_flag dbit
 239  0025            C led3_on_flag dbit
 240  0025            C common_flag dbit
 241  0026            C 
 242  0026  00        C total_time db ?
 243  0027  00        C ram_last db ?
 244  0028            C 
"File: nimh.inc      Holtek Cross-Assembler  Version 2.86      Page 8

 245  0028            C 
 246  0028            C 

   5  0028              
   6  0000              int_code	.SECTION 	at 00h	'CODE'
   7  0000              
   8  0000              org	000h
   9  0000  1F66        clr total_time
  10  0001  0000        nop
  11  0002  280D        jmp	ap
  12  0003              	
  13  0003              ORG	004h
  14  0004  0000        nop
  15  0005  0004        reti
  16  0006              
  17  0006              ORG	008h
  18  0008  0000        nop
  19  0009  2852        jmp	timer_isr
  20  000A              
  21  000A              ORG	00ch
  22  000C  0004        reti
  23  000D              
  24  000D              
  25  000D              
  26  000D              ap:
  27  000D              
  28  000D  01E7        cpl ram_last
  29  000E              
  30  000E  202D        call cinitial
  31  000F              
  32  000F              nimh_battery_main:
  33  000F  20A1        call madc_on_sub
  34  0010  211A        call show_bat0_led
  35  0011              
  36  0011  3D4E        sz bat0_on_flag
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 9

  37  0012  281B        jmp ch0_battery_charging_main
  38  0013              
  39  0013              
  40  0013              ch0_ch1_detect_main:
  41  0013              
  42  0013  2027        call bat_main_sub
  43  0014              
  44  0014  3D4E        sz bat0_on_flag
  45  0015  2818        jmp ch0_battery_charging_or_not    
  46  0016  374E        clr ch0_old
  47  0017              
  48  0017              ch1_detect_main:
  49  0017              
  50  0017  2813        jmp ch0_ch1_detect_main
  51  0018              
  52  0018              
  53  0018              ch0_battery_charging_or_not:
  54  0018  3F4E        sz ch0_old
  55  0019  2817        jmp ch1_detect_main
  56  001A  281B        jmp ch0_battery_charging_main
  57  001B              
  58  001B              
  59  001B              ch0_battery_charging_main:
  60  001B  2A34        jmp ch0_battery_charging_sub
  61  001C              
  62  001C              
  63  001C              ch0_charging_ok_main:
  64  001C  2813        jmp ch0_ch1_detect_main
  65  001D              
  66  001D              
  67  001D              
  68  001D              bat0_1c_charging_remove:
  69  001D  3465        clr led0_on_flag
  70  001E  34E5        clr led1_on_flag
  71  001F  374E        clr ch0_old
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 10

  72  0020  281C        jmp ch0_charging_ok_main
  73  0021              

⌨️ 快捷键说明

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