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

📄 charging current.lst

📁 HT46R46 之应用-锂电池充电器
💻 LST
📖 第 1 页 / 共 2 页
字号:
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              ;;; (C_time+1) * 2 min
   2  0000              
   3  0000              c_time equ 180
   4  0000              fast_current equ 12
   5  0000              
   6  0000              include ht46r47.inc


   7  0000              
   8  0000              a0 equ 00h
   9  0000              a1 equ 01h
  10  0000              a2 equ 02h
  11  0000              ch3 equ 00011000b
  12  0000              t1_8	equ	0101b
  13  0000              
  14  0000              
  15  0000              mmov macro a1,b1
  16  0000              mov a,b1
  17  0000              mov a1,a
  18  0000              endm
  19  0000              
  20  0000              push macro
  21  0000              mov acc_stack,a
  22  0000              mov a,status
  23  0000              mov status_stack,a
  24  0000              endm
  25  0000              
  26  0000              
  27  0000              pop macro
  28  0000              mov a,status_stack
  29  0000              mov status,a
  30  0000              mov a,acc_stack
  31  0000              reti
  32  0000              endm
  33  0000              
  34  0000              ;;; if b1<>c1 then d1
  35  0000              mjneq macro b1,c1,d1
  36  0000              mov a,b1
  37  0000              xor a,c1
  38  0000              snz z
  39  0000              jmp d1
  40  0000              endm
  41  0000              
  42  0000              ;;; if b1==c1 then d1
  43  0000              mjeq macro b1,c1,d1
  44  0000              mov a,b1
  45  0000              xor a,c1
  46  0000              sz z
  47  0000              jmp d1
  48  0000              endm
  49  0000              
  50  0000              ;;; if b1<c1 then d1
  51  0000              mjles macro b1,c1,d1
  52  0000              mov a,b1
  53  0000              sub a,c1
  54  0000              snz c
  55  0000              jmp d1
  56  0000              endm
  57  0000              
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 2

  58  0000              
  59  0000              mclear_ram macro
  60  0000              LOCAL temp
  61  0000              
  62  0000              mmov mp0,040h+80h
  63  0000              
  64  0000              temp:
  65  0000              
  66  0000              clr r0
  67  0000              inc mp0
  68  0000              mov a,mp0
  69  0000              xor a,080h
  70  0000              snz z
  71  0000              jmp temp
  72  0000              
  73  0000              endm
  74  0000              
  75  0000              
  76  0000              ;;; macro for comple bit
  77  0000              
  78  0000              mcplb macro temp
  79  0000              local lab1,lab2
  80  0000              
  81  0000              snz temp
  82  0000              jmp lab1
  83  0000              clr temp
  84  0000              jmp lab2
  85  0000              lab1:
  86  0000              set temp
  87  0000              lab2:
  88  0000              
  89  0000              endm
  90  0000              
  91  0000              
  92  0000              
  93  0000              mpolling_eoc macro
  94  0000              
  95  0000              local bat0_300ma_polling_eoc
  96  0000              
  97  0000              clr emi
  98  0000              clr start
  99  0000              set start
 100  0000              clr start
 101  0000              
 102  0000              bat0_300ma_polling_eoc:
 103  0000              sz eoc
 104  0000              jmp bat0_300ma_polling_eoc
 105  0000              
 106  0000              set emi
 107  0000              clr wdt2
 108  0000              
 109  0000              endm
 110  0000              
 111  0000              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 112  0000              
 113  0000              data_sec 	.section at 040h	'data'
 114  0000              
 115  0000              
 116  0000  00          acc_stack		db ?
 117  0001  00          status_stack	db ?
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 3

 118  0002  00          buf0 			db ?
 119  0003  00          buf1			db ?
 120  0004  00          buf2			db ?
 121  0005              
 122  0005  00          time_4ms	db ?
 123  0006  00          time_1s		db ?
 124  0007  00          time_1min	db ?
 125  0008  00          charging_cx db ?
 126  0009              
 127  0009  00          charging_time_min db ?
 128  000A  00          zx db ?
 129  000B  00          led_cx db ?
 130  000C              
 131  000C  00          one_min_flag dbit
 132  000D  00          led_1s db ?
 133  000E              
 134  000E  00          ram_last db ?
 135  000F              
 136  000F              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 137  000F              
 138  000F              mrled_on macro
 139  000F              set pa.3
 140  000F              endm
 141  000F              
 142  000F              
 143  000F              mrled_off macro
 144  000F              clr pa.3
 145  000F              endm
 146  000F              
 147  000F              mgled_on macro
 148  000F              set pa.2
 149  000F              endm
 150  000F              
 151  000F              mgled_off macro
 152  000F              clr pa.2
 153  000F              endm
 154  000F              
 155  000F              
 156  000F              mther macro
 157  000F              local abc
 158  000F              call ad_ch2
 159  000F              mov a,adrh
 160  000F              and a,0fch
 161  000F              xor a,0fch
 162  000F              sz z
 163  000F              jmp abc
 164  000F              mjles 207,adrh, ther_fail
 165  000F              mjles adrh, 77, ther_fail
 166  000F              abc:
 167  000F              endm
 168  000F              
 169  000F              
 170  000F              .listinclude
 171  000F              
 172  0000              int_code	.SECTION 	at 00h	'CODE'
 173  0000              
 174  0000              org	000h
 175  0000              
 176  0000  0000        nop
 177  0001  280D        jmp	ap
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 4

 178  0002              	
 179  0002              ORG	004h
 180  0004  0000        nop
 181  0005  0004        reti
 182  0006              
 183  0006              ORG	008h
 184  0008  0000        nop
 185  0009  2867        jmp	timer_isr
 186  000A              
 187  000A              ORG	00ch
 188  000C  0004        reti
 189  000D              
 190  000D              
 191  000D              ap:
 192  000D  2043        call cinitial
 193  000E              
 194  000E              mther
 195  001C              
 196  001C  28F0        jmp li_battery_main
 197  001D              
 198  001D              
 199  001D              ther_fail:
 200  001D              
 201  001D              mrled_off
 202  001E              mgled_off
 203  001F  1F1A        clr pwm
 204  0020  3418        clr pd.0
 205  0021              
 206  0021              ther_fail_lp:
 207  0021              
 208  0021              mcplb pa.2
 209  0026  0005        clr wdt2
 210  0027  20DC        call delay05s
 211  0028              
 212  0028  203C        call ad_ch2
 213  0029              mjles 207-1,adrh, ther_fail_lp
 214  002D              mjles adrh, 77+1, ther_fail_lp
 215  0031              
 216  0031  3512        clr pa.2
 217  0032  0002        halt
 218  0033  2832        jmp  $-1
 219  0034              
 220  0034              ad_ch0:
 221  0034              mmov adcr,ch3+a0
 222  0036  20BE        call madcon_macro_sub
 223  0037  0003        ret
 224  0038              
 225  0038              ad_ch1:
 226  0038              mmov adcr,ch3+a1
 227  003A  20BE        call madcon_macro_sub
 228  003B  0003        ret
 229  003C              
 230  003C              ad_ch2:
 231  003C              mmov adcr,ch3+a2
 232  003E  20BE        call madcon_macro_sub
 233  003F  0003        ret
 234  0040              
 235  0040              stop_charging:
 236  0040  1F1A        clr pwm
 237  0041  1F18        clr pd
"File: CHARGING CURRENT.ASM  Holtek Cross-Assembler  Version 2.86      Page 5

 238  0042  0003        ret
 239  0043              
 240  0043              
 241  0043              include sub.asm

   1  0043            C 
   2  0043            C cinitial: 
   3  0043            C 
   4  0043            C mmov pa,0ffh
   5  0045            C mmov pac,03h
   6  0047  1F95      C set pbc
   7  0048  1F14      C clr pb
   8  0049  1F1A      C clr pwm
   9  004A  1F19      C clr pdc
  10  004B  1F18      C clr pd
  11  004C            C 
  12  004C            C mmov acsr,01h
  13  004E            C mmov adcr,ch3+a0
  14  0050            C 
  15  0050            C mclear_ram
  16  0058  2040      C call stop_charging
  17  0059            C 
  18  0059            C mmov intc,00000101b
  19  005B            C mmov tmr,(256-250)
  20  005D            C mmov tmrc, 95h
  21  005F            C 
  22  005F            C mrled_on
  23  0060            C mgled_on
  24  0061            C 
  25  0061  20DC      C call delay05s
  26  0062  20DC      C call delay05s
  27  0063  20DC      C call delay05s
  28  0064            C mrled_off
  29  0065            C mgled_off
  30  0066            C 
  31  0066  0003      C ret
  32  0067            C 
  33  0067            C ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34  0067            C 
  35  0067            C timer_isr:
  36  0067            C push
  37  006A            C 
  38  006A            C timer_isr_ap:
  39  006A            C 
  40  006A  14C5      C inc time_4ms
  41  006B  14C8      C inc charging_cx
  42  006C            C 
  43  006C            C mjneq time_4ms,250,timer_isr_exit
  44  0070  0001      C clr wdt1
  45  0071  1F45      C clr time_4ms
  46  0072  14C6      C inc time_1s
  47  0073  14CD      C inc led_1s
  48  0074            C 
  49  0074            C 
  50  0074            C timer_isr_t_2:
  51  0074            C 
  52  0074  074B      C mov a,led_cx
  53  0075  0E07      C and a,07h
  54  0076  0386      C addm a,pcl
  55  0077  28B9      C jmp led_cx_a_isr
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 6

  56  0078  2890      C jmp led_cx_0_isr
  57  0079  2899      C jmp led_cx_1_isr
  58  007A  28A2      C jmp led_cx_2_isr
  59  007B  28AB      C jmp led_cx_3_isr
  60  007C  28B4      C jmp led_cx_4_isr
  61  007D  28B4      C jmp led_cx_4_isr
  62  007E  28B4      C jmp led_cx_4_isr
  63  007F            C 
  64  007F            C timer_isr_exit_1:
  65  007F            C 
  66  007F            C mjneq led_1s,5,timer_isr_exit_3
  67  0083            C 
  68  0083            C ;set one_min_flag
  69  0083  1F4D      C clr led_1s
  70  0084            C 
  71  0084            C timer_isr_exit_3:
  72  0084            C 
  73  0084            C 
  74  0084            C mjneq time_1s,240,timer_isr_exit
  75  0088  1F46      C clr time_1s
  76  0089  14C7      C inc time_1min
  77  008A  14C9      C inc charging_time_min
  78  008B  304C      C set one_min_flag
  79  008C            C 
  80  008C            C timer_isr_exit:
  81  008C            C pop
  82  0090            C 
  83  0090            C 
  84  0090            C led_cx_0_isr:
  85  0090            C 
  86  0090  3392      C set pa.7
  87  0091  3312      C set pa.6
  88  0092  3292      C set pa.5
  89  0093            C 
  90  0093            C mcplb pa.4
  91  0098            C 
  92  0098  287F      C jmp timer_isr_exit_1
  93  0099            C 
  94  0099            C 
  95  0099            C led_cx_1_isr:
  96  0099            C 
  97  0099  3392      C set pa.7
  98  009A  3312      C set pa.6
  99  009B  3612      C clr pa.4
 100  009C            C 
 101  009C            C mcplb pa.5
 102  00A1            C 
 103  00A1  287F      C jmp timer_isr_exit_1
 104  00A2            C 
 105  00A2            C led_cx_2_isr:
 106  00A2            C 
 107  00A2  3392      C set pa.7
 108  00A3  3692      C clr pa.5
 109  00A4  3612      C clr pa.4
 110  00A5            C 
 111  00A5            C mcplb pa.6
 112  00AA            C 
 113  00AA  287F      C jmp timer_isr_exit_1
 114  00AB            C 
 115  00AB            C led_cx_3_isr:
"File: sub.asm       Holtek Cross-Assembler  Version 2.86      Page 7

 116  00AB            C 
 117  00AB  3712      C clr pa.6
 118  00AC  3692      C clr pa.5
 119  00AD  3612      C clr pa.4
 120  00AE            C 
 121  00AE            C mcplb pa.7
 122  00B3            C 
 123  00B3  287F      C jmp timer_isr_exit_1
 124  00B4            C 
 125  00B4            C 
 126  00B4            C led_cx_4_isr:
 127  00B4            C 
 128  00B4  3792      C clr pa.7
 129  00B5  3712      C clr pa.6
 130  00B6  3692      C clr pa.5
 131  00B7  3612      C clr pa.4
 132  00B8            C 
 133  00B8  287F      C jmp timer_isr_exit_1
 134  00B9            C 
 135  00B9            C 
 136  00B9            C led_cx_a_isr:

⌨️ 快捷键说明

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