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

📄 hst1l.asm

📁 能实现对三相电流的实时检测功能,并具有长延时 短延时 瞬时 接地四断保护功能.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
OMS4	BCF	NOTM,1

OMS5	BTFSS	SIGN2,3		;JUDGE IC?
	BRA	OMS15
	CLRF	WREG
	CPFSEQ	ICMAXH
	BRA	OMS7
	MOVF	ICMAXL,0
	CPFSLT	NOTIME
	BRA	OMS8
OMS7	BTFSC	NOTM,2
	BRA	OMS9
	BSF	NOTM,2
	BRA	OMS12
OMS15	MOVFF	ICMINH,COM1H	
	MOVFF	ICMINL,COM1L
	MOVFF	II31,COM0H
	MOVFF	II30,COM0L
	CALL	FIBJ
	BTFSC	FLAG1,1
	BRA	OMS7
OMS8	BCF	NOTM,2
	BRA	OMS12

OMS9	BSF	NOTM,3
	MOVLW	1EH
	MOVWF	SMPLE		;LOAD THE SAMPLE TIME(30ms) TO SMPLE AFTER SHUT OFF OF NO DELAY
	BCF	PORTB,4	
	BCF	PORTB,5		;SEND OUT THE ORDER OF SHUT OFF
	BCF	PORTF,6
	BSF	PDBACK,0	
	BSF	PDBACK,1
	BSF	PDBACK,3	
	BCF	PDBACK,2
	BCF	PORTF,2		;BRIGHT THE LIGHTS OF SHUT OFF AND IR3
OMS10	DECFSZ	SMPLE
	BRA	OMS12
	BCF	PIE1,2
	BCF	INTCON,7
	BCF	INTCON,6
	BSF	PORTB,4
	CALL	ACT12

	BCF	SIGN2,0	
	GOTO	LOOP1	
OMS12	RETURN
	;****************WRITE EEPROM(NO TIME)************************
ACT12	
	MOVLB	00H
	MOVLW	0FH
	ANDWF	PDBACK,1
	MOVLW	01H
	MOVWF	EEADR
	CALL	RD_EEPROM
	MOVFF	EEDATA1,EPA0
	MOVLW	11H
	MOVWF	EEADR
	CALL	RD_EEPROM
	MOVFF	EEDATA1,EPA1
	MOVLW	21H
	MOVWF	EEADR
	CALL	RD_EEPROM
	MOVFF	EEDATA1,EPA2
	MOVLW	31H
	MOVWF	EEADR
	CALL	RD_EEPROM
	MOVFF	EEDATA1,EPA3	
	MOVLW	01H
	MOVWF	EEADDR
	MOVFF	PDBACK,EEDATA1
	CALL	WR_EEPROM
	MOVLW	11H
	MOVWF	EEADDR
	MOVFF	EPA0,EEDATA1
	CALL	WR_EEPROM
	MOVLW	21H
	MOVWF	EEADDR
	MOVFF	EPA1,EEDATA1
	CALL	WR_EEPROM
	MOVLW	31H
	MOVWF	EEADDR
	MOVFF	EPA2,EEDATA1
	CALL	WR_EEPROM
	MOVLW	41H
	MOVWF	EEADDR
	MOVFF	EPA3,EEDATA1
	CALL	WR_EEPROM
    NOP
    NOP
    NOP
	BCF		BZW,1
    BSF     INTCON,6
    BSF     INTCON,7
    RETURN
;********AD INTERRUPT OF SAMPLING MANAGE INTERRUPT SUBROUTINE :1ms*********
ADINT
	MOVLB	00H
	BCF 	PIE1,6		;SHUT OFF INTERRUPT
	BCF 	PIR1,6		;CLEAR FLAG BIT OF AD
	MOVLW	00H
	CPFSEQ	CHANEL		;CHANEL:000?
	BRA 	ADIAL1	
	BTFSC	ADRESH,1	;JUDGE THE HALF WAVE IS NEGATIVE?
	BRA	    ADIAH2	
	COMF	ADRESH
	COMF	ADRESL		;NEGATE THE NEGATIVE HALF WAVE
ADIAH2	BTFSS	ADRESH,0	;THE HALF WAVE IS POSITIVE
	BRA	TA2
	MOVLW	0E0H		;IS THE POSITIVE HALF WAVE OVERFLOW?
	CPFSGT	ADRESL
	BRA	TA2
ADIAH4	INCF	CHANEL		;CH NO.++
	
	BCF	PORTC,2		;POINT TO IAL
	BCF	PORTC,1
	BSF	PORTC,0
	NOP
	
	BSF	SIGN2,1		
	SETF	IAMINL		;GIVE THE VALUE TO IAMIN
	BSF	IAMINH,0
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		
	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	BRA	TAD1		
TA2	BCF	SIGN2,1		
	MOVLW	01H
	ANDWF	ADRESH

	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	IAMINH,COM0H
	MOVFF	IAMINL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIA0		
	MOVFF	ADRESH,IAMINH	;THE NEW VALUE REPLACE THE OLD ONE
	MOVFF	ADRESL,IAMINL
	BRA	ADIA0
ADIAL1	MOVLW	01H
	CPFSEQ	CHANEL		;JUDGE BE IAMAX??
	BRA	ADIB
	BSF	SIGN2,1		
	BTFSC	ADRESH,1	;JUDGE BE NEGATIVE OR POSITIVE HALF WAVE??
	BRA	ADIAL2
	COMF	ADRESH		;NEGATIVE HALF->ADRESH:ADRESL IS COMPLEMENT
	COMF	ADRESL
ADIAL2	MOVLW	01H
	ANDWF	ADRESH

	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	IAMAXH,COM0H
	MOVFF	IAMAXL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIA0	
	MOVFF	ADRESH,IAMAXH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,IAMAXL
ADIA0	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	MOVLW	0AH
	CPFSEQ	COUNT4
	BRA	TA3
	BRA	ADIA1
TA3	BTFSS	SIGN2,2		
	BRA	TA4
	
	BSF	PORTC,0		;SELECT THE CHANEL OF IBMAX
	BSF	PORTC,1
	BCF	PORTC,2
	NOP
	MOVLW	03H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IBMAX
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
	BRA	TAD1
TA4	
	BCF	PORTC,0		;SELECT THE CHANEL OF IBMIN
	BSF	PORTC,1
	BCF	PORTC,2
	NOP
	
	MOVLW	02H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IBMIN
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
TAD1	BCF	PIE1,6					
	RETURN
ADIA1	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	
	BCF	PORTC,0		;SELECT THE CHANEL OF IBMIN
	BSF	PORTC,1
	BCF	PORTC,2
	NOP
	
	MOVLW	02H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IBMIN
	BCF	PIE1,6		
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		;OPEN THE INTERRUPT OF CCP1
	RETURN
;*********************** CHANNEL : IB *****************************
ADIB	MOVLW	02H
	CPFSEQ	CHANEL		;CHANEL:010?
	BRA	ADIBL1
	BTFSC	ADRESH,1	;JUDGE THE HALF WAVE IS NEGATIVE?
	BRA	ADIBH2	
	COMF	ADRESH
	COMF	ADRESL		;NEGATE THE NEGATIVE HALF WAVE
ADIBH2	BTFSS	ADRESH,0	;THE HALF WAVE IS POSITIVE
	BRA	TB2
	MOVLW	0E0H		;IS THE POSITIVE HALF WAVE OVERFLOW?
	CPFSGT	ADRESL
	BRA	TB2
ADIBH4	INCF	CHANEL		;CH NO.++
	
	BCF	PORTC,2		;POINT TO IBL
	BSF	PORTC,1
	BSF	PORTC,0
	NOP	
	
	BSF	SIGN2,2		
	SETF	IBMINL		;GIVE THE VALUE TO IBMIN
	BSF	IBMINH,0
	BSF	T2CON,2
	BSF	PIE1,1	
	CLRF	TMR2		
	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	BRA	TBD1	
TB2	BCF	SIGN2,2		
	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	IBMINH,COM0H
	MOVFF	IBMINL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIB0
	MOVFF	ADRESH,IBMINH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,IBMINL
	BRA	ADIB0
ADIBL1	MOVLW	03H
	CPFSEQ	CHANEL		;JUDGE BE IBMAX?
	BRA	ADIC
	BSF	SIGN2,2	
	BTFSC	ADRESH,1	;JUDGE BE NEGATIVE OR POSITIVE HALF WAVE??
	BRA	ADIBL2
	COMF	ADRESH		;NEGATIVE HALF->ADRESH:ADRESL IS COMPLEMENT
	COMF	ADRESL
ADIBL2	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	IBMAXH,COM0H
	MOVFF	IBMAXL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIB0
	MOVFF	ADRESH,IBMAXH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,IBMAXL		
ADIB0	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	MOVLW	0AH
	CPFSEQ	COUNT4
	BRA	TB3
	BRA	ADIB1
TB3	BTFSS	SIGN2,3	
	BRA	TB4
			
	BSF	PORTC,0		;SELECT THE CHANEL OF ICMAX
	BCF	PORTC,1
	BSF	PORTC,2
	NOP		
	MOVLW	05H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:ICMAX
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
	BRA	TBD1
TB4		
	BCF	PORTC,0		;SELECT THE CHANEL OF ICMIN
	BCF	PORTC,1
	BSF	PORTC,2
	NOP
		
	MOVLW	04H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:ICMIN
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
TBD1	BCF	PIE1,6		
	RETURN
ADIB1	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
		
	BCF	PORTC,0		;SELECT THE CHANEL OF ICMIN
	BCF	PORTC,1
	BSF	PORTC,2
	NOP
		
	MOVLW	04H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:ICMIN
	BCF	PIE1,6		;OPEN THE INTERRUPT OF AD
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		;OPEN THE INTERRUPT OF CCP1
	RETURN
;*********************CHANNEL : IC ******************************
ADIC	MOVLW	04H
	CPFSEQ	CHANEL		;CHANEL:100?
	BRA	ADICL1		
	BTFSC	ADRESH,1	;JUDGE THE HALF WAVE IS NEGATIVE?
	BRA	ADICH2	
	COMF	ADRESH
	COMF	ADRESL		;NEGATE THE NEGATIVE HALF WAVE
ADICH2	BTFSS	ADRESH,0	;THE HALF WAVE IS POSITIVE
	BRA	TC2
	MOVLW	0E0H		;IS THE POSITIVE HALF WAVE OVERFLOW?
	CPFSGT	ADRESL
	BRA	TC2
ADICH4	INCF	CHANEL		;CH NO.++
		
	BSF	PORTC,2		;POINT TO ICL
	BCF	PORTC,1
	BSF	PORTC,0
	NOP
	
	BSF	SIGN2,3		
	SETF	ICMINL		;GIVE THE VALUE TO ICMIN
	BSF	ICMINH,0
	BSF	T2CON,2
	BSF	PIE1,1	
	CLRF	TMR2		
	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	BRA	TCD1	
TC2	BCF	SIGN2,3		
	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	ICMINH,COM0H
	MOVFF	ICMINL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIC0
	MOVFF	ADRESH,ICMINH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,ICMINL
	BRA	ADIC0
ADICL1	MOVLW	05H
	CPFSEQ	CHANEL		;JUDGE BE ICMAX??
	BRA	ADIN
	BSF	SIGN2,3		
	BTFSC	ADRESH,1	;JUDGE BE NEGATIVE OR POSITIVE HALF WAVE??
	BRA	ADICL2
	COMF	ADRESH		;NEGATIVE HALF->ADRESH:ADRESL IS COMPLEMENT
	COMF	ADRESL
ADICL2	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	ICMAXH,COM0H
	MOVFF	ICMAXL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIC0
	MOVFF	ADRESH,ICMAXH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,ICMAXL
ADIC0	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	MOVLW	0AH
	CPFSEQ	COUNT4
	BRA	TC3
	BRA	ADIC1
TC3	BTFSS	SIGN2,4		
	BRA	TC4
	BSF	PORTD,3		
	BSF	PORTC,0		;SELECT THE CHANEL OF INMAX
	BSF	PORTC,1
	BSF	PORTC,2
	NOP
	
	MOVLW	07H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:INMAX
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
	BRA	TCD1
TC4	
	BCF	PORTC,0		;SELECT THE CHANEL OF INMIN
	BSF	PORTC,1
	BSF	PORTC,2
	NOP
	
	MOVLW	06H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:INMIN
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
TCD1	BCF	PIE1,6					
	RETURN
ADIC1	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	
	BCF	PORTC,0		;SELECT THE CHANEL OF INMIN
	BSF	PORTC,1
	BSF	PORTC,2
	NOP
	
	MOVLW	06H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:INMIN
	BCF	PIE1,6		;OPEN THE INTERRUPT OF AD
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		;OPEN THE INTERRUPT OF CCP1
	RETURN
;******************** CHANNEL : IN***********************************
ADIN	MOVLW	06H
	CPFSEQ	CHANEL		;CHANEL:110?
	BRA	ADINL1		
	BTFSC	ADRESH,1	;JUDGE THE HALF WAVE IS NEGATIVE?
	BRA	ADINH2	
	COMF	ADRESH
	COMF	ADRESL		;NEGATE THE NEGATIVE HALF WAVE
ADINH2	BTFSS	ADRESH,0	;THE HALF WAVE IS POSITIVE
	BRA	TN2
	MOVLW	0E0H		;IS THE POSITIVE HALF WAVE OVERFLOW?
	CPFSGT	ADRESL
	BRA	TN2
ADINH4	INCF	CHANEL		;CH NO.++
		
	BSF	PORTC,2		;POINT TO INL
	BSF	PORTC,1
	BSF	PORTC,0
	NOP
		
	BSF	SIGN2,4		
	SETF	ICMINL		;GIVE THE VALUE TO INMIN
	BSF	ICMINH,0
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		
	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	BRA	TND1	
TN2	BCF	SIGN2,4		
	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	INMINH,COM0H
	MOVFF	INMINL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIN0
	MOVFF	ADRESH,INMINH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,INMINL
	BRA	ADIN0
ADINL1	MOVLW	07H
	CPFSEQ	CHANEL		;JUDGE BE INMAX??
	BRA	ADIG
	BSF	SIGN2,4		
	BTFSC	ADRESH,1	;JUDGE BE NEGATIVE OR POSITIVE HALF WAVE??
	BRA	ADINL2
	COMF	ADRESH		;NEGATIVE HALF->ADRESH:ADRESL IS COMPLEMENT
	COMF	ADRESL
ADINL2	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	INMAXH,COM0H
	MOVFF	INMAXL,COM0L
	CALL	FIBJ
	BTFSS	FLAG1,1
	BRA	ADIN0
	MOVFF	ADRESH,INMAXH	;THE NEW VALUA REPLACE THE OLD ONE
	MOVFF	ADRESL,INMAXL		
ADIN0	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	MOVLW	0AH
	CPFSEQ	COUNT4
	BRA	TN3
	BRA	ADIN1
TN3	BTFSS	SIGN2,5	
	BRA	TN4
;	BCF		ADCON0,5
;	BSF		ADCON0,4
;	BCF		ADCON0,3
;	BCF		ADCON0,2
	MOVLW	11H
	MOVWF	ADCON0		;SELECT AN1(IGMAX)
	MOVLW	09H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IGMAX
	NOP
	
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
	BRA	TND1
TN4	;BCF	ADCON0,5
	;BCF	ADCON0,4
	;BCF	ADCON0,3
	;BSF	ADCON0,2
	MOVLW	05H
	MOVWF	ADCON0		;SELECT AN1(IGMIN)
	MOVLW	08H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IGMIN
	NOP
	
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
TND1	BCF	PIE1,6						
	RETURN
ADIN1	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
;	BCF		ADCON0,5
;	BCF		ADCON0,4
;	BCF		ADCON0,3
;	BSF		ADCON0,2	
	MOVLW	05H
	MOVWF	ADCON0		;SELECT AN1(IGMIN)
	MOVLW	08H
	MOVWF	CHANEL		;POINT TO NEXT CHANEL:IGMIN
	NOP
	
	BCF	PIE1,6		;OPEN THE INTERRUPT OF AD
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2		;OPEN THE INTERRUPT OF CCP1
	RETURN
;********************** CHANNEL : IG******************************************
ADIG 
	MOVLW	08H
	CPFSEQ	CHANEL		;JUDGE THE CHANEL IS IGMIN?
	BRA	ADIGL1
;	MOVLW	03H
;	MOVWF	ADRESH
;	MOVLW	0XFA
;	MOVWF	ADRESL
	BTFSC	ADRESH,1	;JUDGE THE HALF WAVE IS NEGATIVE?
	BRA	ADIGH2	
	COMF	ADRESH
	COMF	ADRESL		;NEGATE THE NEGATIVE HALF WAVE
ADIGH2	BTFSS	ADRESH,0	;THE HALF WAVE IS POSITIVE
	BRA	TG2
	MOVLW	0E0H		;IS THE POSITIVE HALF WAVE OVERFLOW?
	CPFSGT	ADRESL
	BRA	TG2
ADIGH4
;	BCF		ADCON0,5
;	BSF		ADCON0,4
;	BCF		ADCON0,3
;	BCF		ADCON0,2		
	MOVLW	11H		;POINT TO AN4(IGMAX)
	MOVWF	ADCON0
	INCF	CHANEL		;POINT TO NEXT CHANEL
	NOP
	BSF	SIGN2,5		
	CLRF	TMR2
	BSF	PIE1,1	
	BSF	T2CON,2
	MOVLW	0FFH
	MOVWF	IGMINL
	BSF	IGMINH,0	;SET THE IGMIN
	CLRF	ADRESH
	CLRF	ADRESL
	BCF	PIE1,6
	RETURN
TG2	BCF	SIGN2,5	
	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L	
	MOVFF	IGMINH,COM0H
	MOVFF	IGMINL,COM0L
	CALL	FIBJ		;JUDGE THE SIZE OF THE NEW VALUE ANG THE OLD ONE
	BTFSS	FLAG1,1
	BRA	ADIG9
	MOVFF	ADRESH,IGMINH	;THE NEW VALUE TAKE PLACE OF THE OLD ONE
	MOVFF	ADRESL,IGMINL
	BRA	ADIG9
ADIGL1	MOVLW	09H
	CPFSEQ	CHANEL		;BEING IGMAX
	BRA	AD10		;TURN TO END
	BSF	SIGN2,5		
	BTFSC	ADRESH,1	;JUDGE BE POSITIVE OR NEGATIVE
	BRA	ADIGL2
	COMF	ADRESH		;GET COMPLEMENT OF THE AD'S RESULT
	COMF	ADRESL
ADIGL2	MOVLW	01H
	ANDWF	ADRESH
	MOVFF	ADRESH,COM1H
	MOVFF	ADRESL,COM1L
	MOVFF	IGMAXH,COM0H
	MOVFF	IGMAXL,COM0L
	CALL	FIBJ 		;JUDGE THE SIZE OF THE NEW VALUE AND THE THE OLD ONE
	BTFSS	FLAG1,1
	BRA	ADIG9
	MOVFF	ADRESH,IGMAXH
	MOVFF	ADRESL,IGMAXL
ADIG9	CLRF	ADRESH		;CLEAR THE RESULT OF AD CONVERTER
	CLRF	ADRESL
	DECFSZ	COUNT4		;10ms COUNT DECREASE 1,JUDGE THE COUNT4 EQUAL 0?
	BRA	AD10
	BSF	SIGN2,0		;SET THE FLAG OF 10ms
	MOVLW	0AH		;SET THE ORIGINAL VALUE OF COUNT4
	MOVWF	COUNT4		;READY FOR NEXT 10ms
	BTFSS	SIGN2,1		;JUDGE THE HIGH/LOWER CHANEL OF IA
	BRA	ADI1
	MOVFF	IAMAXH,IAH
	MOVFF	IAMAXL,IAL
	BRA	ADI2
ADI1	MOVFF	IAMINH,IAH
	MOVFF	IAMINL,IAL
ADI2	BTFSS	SIGN2,2		;JUDGE THE HIGH/LOWER CHANEL OF IB
	BRA	ADI3

⌨️ 快捷键说明

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