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

📄 maincharger.lst

📁 镍氢充电器(四并充)&#8722 HT46R53 设计报告
💻 LST
📖 第 1 页 / 共 2 页
字号:
"File: MAINCHARGER.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              #INCLUDE   NIMHCHARGER.INC


   2  0032              ;;;;;;;;;;;;;;;;;;;;;MASK OPTION;;;;;;;;;;;;;;;;;;;;;;;;
   3  0032              ;;BODY:                HT46R53
   4  0032              ;;PRODUCT:             28SKDIP
   5  0032              ;;VDD                  5V
   6  0032              ;;WDT:                 ENABLE
   7  0032              ;;CLR WDT              ONE CLEAR INSTRUCTION
   8  0032              ;;WDT CLOCK SOURCE     T1
   9  0032              ;;WDT TIME-OUT PERIOD  2^15/fs
  10  0032              ;;WAKE-UP              NONE WAKE-UP
  11  0032              ;;PULL-HIGH            PA.0,PA.1,PA.2,PA.3,PB AND PC PORT ALL PULL-HIGH
  12  0032              ;;NONE PULL-HITH:      PA.4,PA.5,PA.6,PA.7 AND PD.0 ALL NONE PULL-HIGH
  13  0032              ;;LVR                  DISABLE
  14  0032              ;;OSC                  RC MODEL(ROSC=75k)
  15  0032              ;;PD0                  ENABLE PWM
  16  0032              ;;PWM MODEL            6+2 MODEL
  17  0032              ;;PA3/PFD              DISABLE PFD
  18  0032              ;;ESTABLISHED DATE:    2005/05/26
  19  0032              ;;;;;;;;;;;;;;;;;;;;;CODE SECTION;;;;;;;;;;;;;;;;;;;;;;;
  20  0000              MAIN. SECTION  AT 00H 'CODE'
  21  0000                      ORG    00H
  22  0000  280D          		JMP    MAIN    
  23  0001                
  24  0001                      ORG    04H
  25  0004  0004                RETI       
  26  0005              
  27  0005                      ORG    08H
  28  0008  291A                JMP    ISR_TIMER
  29  0009              
  30  0009                      ORG    0CH
  31  000C  0004                RETI
  32  000D              
  33  000D                      MAIN:
  34  000D              		INI_REGISTER:
  35  000D              				M_INITIATE
  36  0011  24D1        				CALL  INI_IOPORTS   
  37  0012              				M_CLRRAM   
  38  0021  24C7        				CALL  SBR_DELAY50MS
  39  0022              		MLP_MAIN: 
  40  0022  0001        				CLR   WDT
  41  0023  0F28        				MOV   A,28H
  42  0024  00A2        				MOV   ADCR,A                           ;;CHECK BATTERY 1 STATUS
  43  0025  228C        				CALL  SBR_CHECKBATSTATUS
  44  0026              				
  45  0026  0F29        				MOV   A,29H
  46  0027  00A2        				MOV   ADCR,A   				           ;;CHECK BATTERY 2 STATUS               
  47  0028  228C                        CALL  SBR_CHECKBATSTATUS
  48  0029              
  49  0029  0F2A                        MOV   A,2AH
  50  002A  00A2        				MOV   ADCR,A                           ;;CHECK BATTERY 3 STATUS   	  	
  51  002B  228C                        CALL  SBR_CHECKBATSTATUS
  52  002C              
  53  002C  0F2B                        MOV   A,2BH
  54  002D  00A2        				MOV   ADCR,A                           ;;CHECK BATTERY 4 STATUS  	  	
  55  002E  228C                        CALL  SBR_CHECKBATSTATUS
  56  002F              
  57  002F  2393                        CALL  SBR_SHOWBATSTATUS
"File: MAINCHARGER.ASM  Holtek Cross-Assembler  Version 2.86      Page 2

  58  0030  0F0F                        MOV   A,0FH
  59  0031  0600     R                  AND   A,R_FLAG
  60  0032  3D0A                        SZ    Z                                ;;JUDGE HAVE OR NOT BATTERIES IN THE PACK				                              
  61  0033  2822                        JMP   MLP_MAIN                         ;;NO BATTERIES IN THE PACK    
  62  0034  0080     R  				MOV   R_TEMP3,A                        ;;THERE ARE BATTERIES IN THE PACK
  63  0035  0F0F        				MOV   A,0FH
  64  0036  0600     R  				AND   A,R_FLAG2
  65  0037  0400     R  				XOR   A,R_TEMP3
  66  0038  3D0A        				SZ    Z                                ;;JUDGE THE BATTERIES IN THE PACK IS OR NOT NEW
  67  0039  2822        				JMP   MLP_MAIN                         ;;THE BATTERIES IN THE PACK IS NOT NEW
  68  003A              		L_CHARGEMAIN:                                                           
  69  003A  0714                        MOV   A,PB
  70  003B  3A85                        SNZ   ACC.5
  71  003C  28AD                        JMP   MLP_DISCHARGING
  72  003D  283E        				JMP   L_CHARGING
  73  003E              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  74  003E              ;$$$$$$$$$$$$$$$$$ CHARGING PART $$$$$$$$$$$$$$$$$$$$$$$
  75  003E              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76  003E              		L_CHARGING:
  77  003E  0001        				CLR   WDT
  78  003F  0F9B        				MOV   A,09BH                           ;;TIMER 0.8MS 
  79  0040  008D        				MOV   TMR,A
  80  0041  0FFB             		    MOV   A,0FBH
  81  0042  0080     R  				MOV   R_TMRH,A                 		   ;;TOTAL TIMER TIME IS 0.8MS*250=200MS
  82  0043  320E        				SET   TMRC.4		
  83  0044              ;;-----------------------------------------------------;;BATTERY 1 CHARGING
  84  0044              		MLP_CHARGE:
  85  0044  0F0F        				MOV   A,0FH                 
  86  0045  0600     R  				AND   A,R_FLAG
  87  0046  3D0A        				SZ    Z
  88  0047  28AA        				JMP   MLP_CHARGINGEXIT                 ;;THERE IS NO BATTERIES IN THE PACK
  89  0048  0080     R  				MOV   R_TEMP3,A		
  90  0049  0F0F        				MOV   A,0FH
  91  004A  0600     R  				AND   A,R_FLAG1
  92  004B  0400     R  				XOR   A,R_TEMP3
  93  004C  3D0A        				SZ    Z                                ;;JUDGE BATTERIES IN THE PACK IS OR NOT CHARGING FINISHED
  94  004D  28AA        				JMP   MLP_CHARGINGEXIT                 ;;BATTERIES CHARGING FINISHED		
  95  004E              		L_BAT1CHARGE:  
  96  004E  0001        				CLR   WDT                           								
  97  004F  3800     R  				SNZ   F_BAT1CHARGE
  98  0050  285A        				JMP   L_BAT2CHARGE   
  99  0051  3C00     R  				SZ    F_QCBAT1
 100  0052  2855        				JMP   L_BAT1QCHARGING
 101  0053  3400     R  				CLR   F_QUICKCHARGE
 102  0054  2856        				JMP   L_BAT1CHARGING
 103  0055              		L_BAT1QCHARGING:
 104  0055  3000     R  				SET   F_QUICKCHARGE
 105  0056              		L_BAT1CHARGING:
 106  0056  0FFE        				MOV   A,0FEH
 107  0057  0692        				ANDM  A,PA                             ;;SETTING PA.0 LOW LEVEL, BATTERY 1 CHARGING
 108  0058  3018        				SET   PD.0   
 109  0059  287E        				JMP   L_BATSCHARGING        
 110  005A              ;;-----------------------------------------------------;;BATTERY 2 CHARGING
 111  005A              		L_BAT2CHARGE:   
 112  005A  0001        				CLR   WDT				                        								
 113  005B  3800     R  				SNZ   F_BAT2CHARGE
 114  005C  2866        				JMP   L_BAT3CHARGE  
 115  005D  3C00     R  				SZ    F_QCBAT2
 116  005E  2861        				JMP   L_BAT2QCHARGING
 117  005F  3400     R  				CLR   F_QUICKCHARGE
"File: MAINCHARGER.ASM  Holtek Cross-Assembler  Version 2.86      Page 3

 118  0060  2862        				JMP   L_BAT2CHARGING
 119  0061              		L_BAT2QCHARGING:
 120  0061  3000     R  				SET   F_QUICKCHARGE 
 121  0062              		L_BAT2CHARGING:
 122  0062  0FFD        				MOV   A,0FDH
 123  0063  0692        				ANDM  A,PA                             ;;SETTING PA.1 LOW LEVEL, BATTERY 2 CHARGING
 124  0064  3018        				SET   PD.0     
 125  0065  287E        				JMP   L_BATSCHARGING         
 126  0066              ;;-----------------------------------------------------;;BATTERY 3 CHARGING				
 127  0066              		L_BAT3CHARGE:  
 128  0066  0001        				CLR   WDT				                            
 129  0067  3800     R  				SNZ   F_BAT3CHARGE
 130  0068  2872        				JMP   L_BAT4CHARGE	
 131  0069  3C00     R  				SZ    F_QCBAT3
 132  006A  286D        				JMP   L_BAT3QCHARGING
 133  006B  3400     R  				CLR   F_QUICKCHARGE
 134  006C  286E        				JMP   L_BAT3CHARGING
 135  006D              		L_BAT3QCHARGING:
 136  006D  3000     R  				SET   F_QUICKCHARGE
 137  006E              		L_BAT3CHARGING:
 138  006E  0FFB        				MOV   A,0FBH
 139  006F  0692        				ANDM  A,PA                             ;;SETTING PA.2 LOW LEVEL, BATTERY 3 CHARGING
 140  0070  3018        				SET   PD.0	
 141  0071  287E        				JMP   L_BATSCHARGING 		        
 142  0072              ;;-----------------------------------------------------;;BATTERY 4 CHARGING
 143  0072              		L_BAT4CHARGE:  
 144  0072  0001        				CLR   WDT				                              				
 145  0073  3800     R  				SNZ   F_BAT4CHARGE
 146  0074  2844        				JMP   MLP_CHARGE  	
 147  0075  3C00     R  				SZ    F_QCBAT4
 148  0076  2879        				JMP   L_BAT4QCHARGING
 149  0077  3400     R  				CLR   F_QUICKCHARGE
 150  0078  287A        				JMP   L_BAT4CHARGING
 151  0079              		L_BAT4QCHARGING:
 152  0079  3000     R  				SET   F_QUICKCHARGE
 153  007A              		L_BAT4CHARGING:
 154  007A  0FF7        				MOV   A,0F7H
 155  007B  0692        				ANDM  A,PA                             ;;SETTING PA.3 LOW LEVEL, BATTERY 4 CHARGING	
 156  007C  3018        				SET   PD.0		
 157  007D  287E        				JMP   L_BATSCHARGING          
 158  007E              ;;-----------------------------------------------------
 159  007E              		L_BATSCHARGING:
 160  007E  2411        				CALL  SBR_CHECKBATSDELTAV
 161  007F  248A        				CALL  SBR_CHECKTIMEOUT
 162  0080  3800     R  				SNZ   F_QUICKCHARGE
 163  0081  2896        				JMP   L_SLOWCHARGING
 164  0082              ;;-----------------------------------------------------
 165  0082              L_QUICKCHARGING:
 166  0082  0F2C        				MOV   A,2CH
 167  0083  00A2        				MOV   ADCR,A                           ;;SELECT AN4 CHANNEL
 168  0084  2380              		    CALL  SBR_ADCONVERT
 169  0085  0720                  		MOV   A,ADRL
 170  0086  0080     R         			MOV   R_ADRL_CBAK,A
 171  0087  0721                		MOV   A,ADRH

⌨️ 快捷键说明

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