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

📄 li_charge_main.lst

📁 应用松翰母体写的充电器一款!好像是锂电的!
💻 LST
📖 第 1 页 / 共 3 页
字号:
     1  000000             include define.asm
     2  000000             ;********************************************************
     3  000000             ;  COMPANY      : CHOMP					*
     4  000000             ;  PROJECT NAME : li_chargeq					*
     5  000000             ;  Author	: wwf					*
     6  000000             ;  Original	: 					*
     7  000000             ;  VERSION	: V1.0			      		*
     8  000000             ;  START DATE	: 2005.7.5			*
     9  000000             ;  COMPLISH DATE: 2005.7.17				*
    10  000000             ;  Modify	: 					*
    11  000000             ;  BODY		: SN8P2711				*
    12  000000             ;  COMPILER	: 					*
    13  000000             ;  CRYSTAL	: rc					*
    14  000000             ;  Modify function:					*
    15  000000             ; *******************************************************
    16  000000             
    17  000000             ;ICE_MODE	EQU	1
    18  000000             
    19  E 00000000         ICE_MODE	EQU	0
    20  000000             
    21  000000             chip	sn8p2711
    22  000000             //{{SONIX_CODE_OPTION
    23  000000             	.Code_Option	LVD		LVD_L		; 2.0V Reset
    24  000000             	.Code_Option	Low_Power	Enabel
    25  000000             	.Code_Option	Reset_Pin	Reset
    26  000000             	.Code_Option	Watch_Dog	Always_On
    27  000000             	.Code_Option	High_Clk	IHRC_16M	; Internal 16M RC Oscillator
    28  000000             	.Code_Option	Fcpu		Fosc/1
    29  000000             	.Code_Option	Security	Enable
    30  000000             	.Code_Option	Noise_Filter	Enable
    31  000000             //}}SONIX_CODE_OPTION
    32  000000             
    33  000008             ;*************Port define*******************
    34  E 000300D0         	com_p		equ	p0.3
    35  E 000200D0         	plu_p		equ	p0.2
    36  E 000300D5         	mob_p		equ	p5.3
    37  E 000400D5         	s1_p		equ	p5.4
    38  E 000100D0         	s2_p		equ	p0.1
    39  E 000000D0         	s3_p		equ	p0.0
    40  000008             	
    41  E 000000D4         	s4_p		equ	p4.0	
    42  E 000100D4         	s5_p		equ	p4.1
    43  E 000200D4         	s6_p		equ	p4.2
    44  E 000300D4         	ad1_p		equ	p4.3
    45  E 000400D4         	ad2_p		equ	p4.4
    46  000008             
    47  000008             ;------------------ Define flag ------------
    48  000008             
    49  000008             
    50  000008             ;----------------------------------
    51  000008             
    52  000008             ;enddefine
    53  000008             ;-----------------------------------------------
    54  000008             ;******************Program code segment**********
    55  000008             ;-----------------------------------------------
    56  000000             .code
    57  000000             	org     0
    58  000000   8010       	jmp	start
    59  000008             	org     8
    60  000008   8000      	jmp 	isr
    61  000010             	org	010h
    62  000010             
    63  000010             start:
    64  000010   2D00      	mov	a,#0h
    65  000011   2FC8      	b0mov	intrq,a
    66  000012   67DF      	b0bclr	FGIE			;//disable Interrupt gain
    67  000013   2B86      	clr	PFLAG			;pflag = x,x,x,x,x,c,dc,z
    68  000014   2D00      	mov  	A,#0h			;Clear watchdog timer and initial system mode
    69  000015   2FCA      	b0mov	OSCM,A
    70  000016   4ACA      	bset	Fclkmd			;切换到低速时钟
    71  000017   49CA      	bset	Fstphx			;停止高速时钟
    72  000018   2D5A      	mov	a,#5ah
    73  000019   2FCC      	b0mov	wdtr,a			;clr wdt
    74  00001A             ;	call	delay_10ms
    75  00001A             	
    76  00001A   C000      	call	PortInitial
    77  00001B   C000      	call	delay_10ms	
    78  00001C   C000      	call	PortInitial
    79  00001D   C000      	call	SysInitial
    80  00001E   C000      	call	RAMInitial
    81  00001F   C000      	call	VariableInitial
    82  000020             
    83  000020   6FDF      	b0bset	fgie			;开中断
    84  000021             main:
    85  000021   2D5A      	mov	a,#5ah
    86  000022   2FCC      	b0mov	wdtr,a			;clr wdt
    87  000023             
    88  000023   C029      	call	voltage_adc
    89  000024   C000      	call	state_judge
    90  000025   C000      	call	voltage_judge
    91  000026   C000      	call	disp_data_prepare
    92  000027   C000      	call	display
    93  000028   8021      	jmp	main
    94  000029             
    95  000029             ;-------------------------------------------------
    96  000029             voltage_adc:	
    97  000029             ;	b0bts1	f_adt
    98  000029             ;	jmp	ad_end
    99  000029             	setb	Fgchs
   100  000029             	setb	Fadenb
   101  000029             	mov	a,#93h
   102  000029             	b0mov	adm,a
   103  000029             	call	delay100us
   104  000029             	b0bset	Fads
   105  000029             	b0bts1	Feoc
   106  000029             	jmp	$-1
   107  000029             	xch	a,vc
   108  000029             	b0bts0	fz
   109  000029             	jmp	$+4
   110  000029             	add	vc,a
   111  000029             	rrcm	vc
   112  000029             
   113  000029             	mov	a,#94h
   114  000029             	b0mov	adm,a
   115  000029             	call	delay100us
   116  000029             	b0bset	ads
   117  000029             	b0bts1	eoc
   118  000029             	jmp	$-1
   119  000029             	xch	a,vb
   120  000029             	b0bts0	fz
   121  000029             	jmp	$+4
   122  000029             	add	vb,a
   123  000029             	rrcm	vb
   124  000029             	clr	adm		;disable ad
   125  000029             voltage_adc_end:
   126  000029             	ret	
   127  000029             ;-----------------------------------------------------------
   128  000029             state_judge:	
   129  000029             	b0mov	a,vb
   130  000029             	sub	a,vc
   131  000029             	b0bts1	fc
   132  000029             	jmp	state_judge_next
   133  000029             	sub	a,#ad_rel
   134  000029             	b0bts0	fc
   135  000029             	jmp	$+5
   136  000029             	b0bset	f_empty
   137  000029             	bclr	f_charge
   138  000029             	bclr	f_discharge
   139  000029             	jmp	state_judge_end
   140  000029             	b0bset	f_discharge
   141  000029             	bclr	f_charge
   142  000029             	bclr	f_empty
   143  000029             	jmp	state_judge_end
   144  000029             state_judge_next:
   145  000029             	b0mov	a,vc
   146  000029             	sub	a,vb
   147  000029             	sub	a,#ad_rel
   148  000029             	b0bts0	fc
   149  000029             	jmp	$+5
   150  000029             	b0bset	f_empty
   151  000029             	bclr	f_chagre
   152  000029             	bclr	f_discharge
   153  000029             	jmp	state_judge_end
   154  000029             	b0bset	f_charge
   155  000029             	bclr	f_discharge
   156  000029             	bclr	f_empty
   157  000029             state_judge_end:
   158  000029             	ret
   159  000029             ;------------------------------------------------	
   160  000029             voltage_judge:
   161  000029             	mov	a,#6
   162  000029             	b0mov	voltage,a
   163  000029             	b0mov	a,vb
   164  000029             	sub	a,#ad85
   165  000029             	b0bts0	fc
   166  000029             	jmp	voltage_end
   167  000029             	decms	voltage			;5
   168  000029             	b0mov	a,vb
   169  000029             	sub	a,#ad80
   170  000029             	b0bts0	fc
   171  000029             	jmp	voltage_judeg_end
   172  000029             	decms	voltage			;4
   173  000029             	b0mov	a,vb
   174  000029             	sub	a,#ad77
   175  000029             	b0bts0	fc
   176  000029             	jmp	voltage_judge_end
   177  000029             	decms	voltage			;3
   178  000029             	b0mov	a,vb
   179  000029             	sub	a,#ad76
   180  000029             	b0bts0	fc
   181  000029             	jmp	voltage_judge_end	
   182  000029             	decms	voltage			;2
   183  000029             	b0mov	a,vb
   184  000029             	sub	a,#ad75
   185  000029             	b0bts0	fc
   186  000029             	jmp	voltage_judge_end	
   187  000029             	decms	voltage			;1
   188  000029             	b0mov	a,vb
   189  000029             	sub	a,#ad74
   190  000029             	b0bts0	fc
   191  000029             	jmp	voltage_judge_end	
   192  000029             	decms	voltage			;0
   193  000029             	nop
   194  000029             voltage_judge_end:
   195  000029             	ret
   196  000029             ;-------------------------------------------------------------------
   197  000029             display_prepare:
   198  000029             	b0mov	a,voltage
   199  000029             	add	a,pcl
   200  000029             	jmp	display0
   201  000029             	jmp	display1
   202  000029             	jmp	display2
   203  000029             	jmp	display3
   204  000029             	jmp	display4
   205  000029             	jmp	diaplay5
   206  000029             	jmp	display6
   207  000029             display0:
   208  000029             ;	b0bts0	f_display
   209  000029             ;	jmp	display0_1	;fanxiang 
   210  000029             	bset	com_p
   211  000029             	bset	s2_p
   212  000029             	bset	s3_p
   213  000029             	bset	s4_p
   214  000029             	bset	s5_p
   215  000029             	bset	s6_p
   216  000029             	b0bts1	f_charge
   217  000029             	jmp	display0_next
   218  000029             	bset	mob_p
   219  000029             	b0bts1	f_500ms
   220  000029             	jmp	display_prepare_end
   221  000029             	bclr	f_500ms
   222  000029             	b0bts0	f_lcd
   223  000029             	jmp	$+5
   224  000029             	bset	f_lcd
   225  000029             	bset	s1_p
   226  000029             	bset	plu_p
   227  000029             	jmp	display_prepare_end
   228  000029             	bclr	f_lcd
   229  000029             	bclr	s1_p
   230  000029             	bclr	plu_p
   231  000029             	jmp	display
   232  000029             display0_next:
   233  000029             	bclr	s1_p
   234  000029             	b0bts1	f_discharge
   235  000029             	jmp	display0_next1
   236  000029             	bset	plu_p
   237  000029             	b0bts0	f_500ms
   238  000029             	jmp	display_prepare_end
   239  000029             	bclr	f_500ms

⌨️ 快捷键说明

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