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

📄 spm-02.asm

📁 pic16f877a simple mcu apply to industry automatic equipment.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		MOVWF	SORT_DATA7_HB			;"Wreg" --> "SORT_DATA7_HB"
		MOVF	AD_DATA7_LB,W			;"AD_DATA7_LB" --> "Wreg"
		MOVWF	SORT_DATA7_LB			;"Wreg" --> "SORT_DATA7_LB"
		;***************   AD_DATA8 --> SORT_DATA8   ***************
		MOVF	AD_DATA8_HB,W			;"AD_DATA8_HB" --> "Wreg"
		MOVWF	SORT_DATA8_HB			;"Wreg" --> "SORT_DATA8_HB"
		MOVF	AD_DATA8_LB,W			;"AD_DATA8_LB" --> "Wreg"
		MOVWF	SORT_DATA8_LB			;"Wreg" --> "SORT_DATA8_LB"
	;***************   Set of "SORT_COUNT"   ***************
		MOVLW	H'04'					;B'0000 0100' = D'4' --> "Wreg"
		MOVWF	SORT_COUNT				;"Wreg" --> "SORT_COUNT"

;***************   ("SORT_DATA1" << "SORT_DATA2") ?   ***************
SORT_START
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA2_HB,W			;"SORT_DATA2_HB" --> "Wreg"
		SUBWF	SORT_DATA1_HB,W			;"SORT_DATA1_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_3_4				;No. SORT_3_4
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA2_LB,W			;"SORT_DATA2_LB" --> "Wreg"
		SUBWF	SORT_DATA1_LB,W			;"SORT_DATA1_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_3_4				;No. SORT_3_4
	;***************   "SORT_DATA1_HB" <--> "SORT_DATA2_HB"   ***************
		MOVF	SORT_DATA1_HB,W			;"SORT_DATA1_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA2_HB,W			;"SORT_DATA2_HB" --> "Wreg"
		MOVWF	SORT_DATA1_HB			;"Wreg" --> "SORT_DATA1_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA2_HB			;"Wreg" --> "SORT_DATA2_HB"
	;***************   "SORT_DATA1_LB" <--> "SORT_DATA2_LB"   ***************
		MOVF	SORT_DATA1_LB,W			;"SORT_DATA1_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA2_LB,W			;"SORT_DATA2_LB" --> "Wreg"
		MOVWF	SORT_DATA1_LB			;"Wreg" --> "SORT_DATA1_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA2_LB			;"Wreg" --> "SORT_DATA2_LB"

;***************   ("SORT_DATA3" << "SORT_DATA4") ?   ***************
SORT_3_4
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA4_HB,W			;"SORT_DATA4_HB" --> "Wreg"
		SUBWF	SORT_DATA3_HB,W			;"SORT_DATA3_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_5_6				;No. SORT_5_6
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA4_LB,W			;"SORT_DATA4_LB" --> "Wreg"
		SUBWF	SORT_DATA3_LB,W			;"SORT_DATA3_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_5_6				;No. SORT_5_6
	;***************   "SORT_DATA3_HB" <--> "SORT_DATA4_HB"   ***************
		MOVF	SORT_DATA3_HB,W			;"SORT_DATA3_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA4_HB,W			;"SORT_DATA4_HB" --> "Wreg"
		MOVWF	SORT_DATA3_HB			;"Wreg" --> "SORT_DATA3_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA4_HB			;"Wreg" --> "SORT_DATA4_HB"
	;***************   "SORT_DATA3_LB" <--> "SORT_DATA4_LB"   ***************
		MOVF	SORT_DATA3_LB,W			;"SORT_DATA3_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA4_LB,W			;"SORT_DATA4_LB" --> "Wreg"
		MOVWF	SORT_DATA3_LB			;"Wreg" --> "SORT_DATA3_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA4_LB			;"Wreg" --> "SORT_DATA4_LB"

;***************   ("SORT_DATA5" << "SORT_DATA6") ?   ***************
SORT_5_6
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA6_HB,W			;"SORT_DATA6_HB" --> "Wreg"
		SUBWF	SORT_DATA5_HB,W			;"SORT_DATA5_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_7_8				;No. SORT_7_8
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA6_LB,W			;"SORT_DATA6_LB" --> "Wreg"
		SUBWF	SORT_DATA5_LB,W			;"SORT_DATA5_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_7_8				;No. SORT_7_8
	;***************   "SORT_DATA5_HB" <--> "SORT_DATA6_HB"   ***************
		MOVF	SORT_DATA5_HB,W			;"SORT_DATA5_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA6_HB,W			;"SORT_DATA6_HB" --> "Wreg"
		MOVWF	SORT_DATA5_HB			;"Wreg" --> "SORT_DATA5_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA6_HB			;"Wreg" --> "SORT_DATA6_HB"
	;***************   "SORT_DATA5_LB" <--> "SORT_DATA6_LB"   ***************
		MOVF	SORT_DATA5_LB,W			;"SORT_DATA5_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA6_LB,W			;"SORT_DATA6_LB" --> "Wreg"
		MOVWF	SORT_DATA5_LB			;"Wreg" --> "SORT_DATA5_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA6_LB			;"Wreg" --> "SORT_DATA6_LB"

;***************   ("SORT_DATA7" << "SORT_DATA8") ?   ***************
SORT_7_8
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA8_HB,W			;"SORT_DATA8_HB" --> "Wreg"
		SUBWF	SORT_DATA7_HB,W			;"SORT_DATA7_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_2_3				;No. SORT_2_3
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA8_LB,W			;"SORT_DATA8_LB" --> "Wreg"
		SUBWF	SORT_DATA7_LB,W			;"SORT_DATA7_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_2_3				;No. SORT_2_3
	;***************   "SORT_DATA7_HB" <--> "SORT_DATA8_HB"   ***************
		MOVF	SORT_DATA7_HB,W			;"SORT_DATA7_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA8_HB,W			;"SORT_DATA8_HB" --> "Wreg"
		MOVWF	SORT_DATA7_HB			;"Wreg" --> "SORT_DATA7_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA8_HB			;"Wreg" --> "SORT_DATA8_HB"
	;***************   "SORT_DATA7_LB" <--> "SORT_DATA8_LB"   ***************
		MOVF	SORT_DATA7_LB,W			;"SORT_DATA7_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA8_LB,W			;"SORT_DATA8_LB" --> "Wreg"
		MOVWF	SORT_DATA7_LB			;"Wreg" --> "SORT_DATA7_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA8_LB			;"Wreg" --> "SORT_DATA8_LB"

;***************   ("SORT_DATA2" << "SORT_DATA3") ?   ***************
SORT_2_3
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA3_HB,W			;"SORT_DATA3_HB" --> "Wreg"
		SUBWF	SORT_DATA2_HB,W			;"SORT_DATA2_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_4_5				;No. SORT_4_5
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA3_LB,W			;"SORT_DATA3_LB" --> "Wreg"
		SUBWF	SORT_DATA2_LB,W			;"SORT_DATA2_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_4_5				;No. SORT_4_5
	;***************   "SORT_DATA2_HB" <--> "SORT_DATA3_HB"   ***************
		MOVF	SORT_DATA2_HB,W			;"SORT_DATA2_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA3_HB,W			;"SORT_DATA3_HB" --> "Wreg"
		MOVWF	SORT_DATA2_HB			;"Wreg" --> "SORT_DATA2_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA3_HB			;"Wreg" --> "SORT_DATA3_HB"
	;***************   "SORT_DATA2_LB" <--> "SORT_DATA3_LB"   ***************
		MOVF	SORT_DATA2_LB,W			;"SORT_DATA2_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA3_LB,W			;"SORT_DATA3_LB" --> "Wreg"
		MOVWF	SORT_DATA2_LB			;"Wreg" --> "SORT_DATA2_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA3_LB			;"Wreg" --> "SORT_DATA3_LB"

;***************   ("SORT_DATA4" << "SORT_DATA5") ?   ***************
SORT_4_5
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA5_HB,W			;"SORT_DATA5_HB" --> "Wreg"
		SUBWF	SORT_DATA4_HB,W			;"SORT_DATA4_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_6_7				;No. SORT_6_7
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA5_LB,W			;"SORT_DATA5_LB" --> "Wreg"
		SUBWF	SORT_DATA4_LB,W			;"SORT_DATA4_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_6_7				;No. SORT_6_7
	;***************   "SORT_DATA4_HB" <--> "SORT_DATA5_HB"   ***************
		MOVF	SORT_DATA4_HB,W			;"SORT_DATA4_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA5_HB,W			;"SORT_DATA5_HB" --> "Wreg"
		MOVWF	SORT_DATA4_HB			;"Wreg" --> "SORT_DATA4_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA5_HB			;"Wreg" --> "SORT_DATA5_HB"
	;***************   "SORT_DATA4_LB" <--> "SORT_DATA5_LB"   ***************
		MOVF	SORT_DATA4_LB,W			;"SORT_DATA4_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA5_LB,W			;"SORT_DATA5_LB" --> "Wreg"
		MOVWF	SORT_DATA4_LB			;"Wreg" --> "SORT_DATA4_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA5_LB			;"Wreg" --> "SORT_DATA5_LB"

;***************   ("SORT_DATA6" << "SORT_DATA7") ?   ***************
SORT_6_7
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA7_HB,W			;"SORT_DATA7_HB" --> "Wreg"
		SUBWF	SORT_DATA6_HB,W			;"SORT_DATA6_HB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_END				;No. SORT_END
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA7_LB,W			;"SORT_DATA7_LB" --> "Wreg"
		SUBWF	SORT_DATA6_LB,W			;"SORT_DATA6_LB" - "Wreg" = '+','-'
		BTFSC	STATUS,C				;C flag '0'?
		GOTO	SORT_END				;No. SORT_END
	;***************   "SORT_DATA6_HB" <--> "SORT_DATA7_HB"   ***************
		MOVF	SORT_DATA6_HB,W			;"SORT_DATA6_HB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA7_HB,W			;"SORT_DATA7_HB" --> "Wreg"
		MOVWF	SORT_DATA6_HB			;"Wreg" --> "SORT_DATA6_HB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA7_HB			;"Wreg" --> "SORT_DATA7_HB"
	;***************   "SORT_DATA6_LB" <--> "SORT_DATA7_LB"   ***************
		MOVF	SORT_DATA6_LB,W			;"SORT_DATA6_LB" --> "Wreg"
		MOVWF	SORT_TEMP				;"Wreg" --> "SORT_TEMP"
		MOVF	SORT_DATA7_LB,W			;"SORT_DATA7_LB" --> "Wreg"
		MOVWF	SORT_DATA6_LB			;"Wreg" --> "SORT_DATA6_LB"
		MOVF	SORT_TEMP,W				;"SORT_TEMP" --> "Wreg"
		MOVWF	SORT_DATA7_LB			;"Wreg" --> "SORT_DATA7_LB"

;***************   SORT_END   ***************
SORT_END
		DECFSZ	SORT_COUNT,F			;End ?
		GOTO	SORT_START				;SORT_START

		RETURN



;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;		Calculation of Mean Value Process
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CALCULATION_MEAN_VALUE
	;@@@@@ Clear Register @@@@@
		CLRF	CAL_TEMP1_HB			;Clear "CAL_TEMP1_HB"
		CLRF	CAL_TEMP1_LB			;Clear "CAL_TEMP1_LB"

	;***************   SORT_DATA_LB   ***************
		;***************   + "SORT_DATA3_LB"   ***************
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA3_LB,W			;"SORT_DATA3_LB" --> "Wreg"
		MOVWF	CAL_TEMP1_LB			;"Wreg" --> "CAL_TEMP1_LB"
		;***************   + "SORT_DATA4_LB"   ***************
		MOVF	SORT_DATA4_LB,W			;"SORT_DATA4_LB" --> "Wreg"
		ADDWF	CAL_TEMP1_LB,F			;"Wreg" + "CAL_TEMP1_LB" --> "CAL_TEMP1_LB"
		BTFSC	STATUS,C				;C flag '0'?
		INCF	CAL_TEMP1_HB,F			;"CAL_TEMP1_HB" + '1' --> "CAL_TEMP1_HB"
		;***************   + "SORT_DATA5_LB"   ***************
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA5_LB,W			;"SORT_DATA5_LB" --> "Wreg"
		ADDWF	CAL_TEMP1_LB,F			;"Wreg" + "CAL_TEMP1_LB" --> "CAL_TEMP1_LB"
		BTFSC	STATUS,C				;C flag '0'?
		INCF	CAL_TEMP1_HB,F			;"CAL_TEMP1_HB" + '1' --> "CAL_TEMP1_HB"
		;***************   + "SORT_DATA6_LB"   ***************
		BCF		STATUS,C				;Clear "STATUS" C flag
		MOVF	SORT_DATA6_LB,W			;"SORT_DATA6_LB" --> "Wreg"
		ADDWF	CAL_TEMP1_LB,F			;"Wreg" + "CAL_TEMP1_LB" --> "CAL_TEMP1_LB"
		BTFSC	STATUS,C				;C flag '0'?
		INCF	CAL_TEMP1_HB,F			;"CAL_TEMP1_HB" + '1' --> "CAL_TEMP1_HB"

	;***************   SORT_DATA_HB   ***************
		;***************   + "SORT_DATA3_HB"   ***************
		MOVF	SORT_DATA3_HB,W			;"SORT_DATA3_HB" --> "Wreg"
		ADDWF	CAL_TEMP1_HB,F			;"Wreg" + "CAL_TEMP1_HB" --> "CAL_TEMP1_HB"
		;***************   + "SORT_DATA4_HB"   ***************
		MOVF	SORT_DATA4_HB,W			;"SORT_DATA4_HB" --> "Wreg"
		ADDWF	CAL_TEMP1_HB,F			;"Wreg" + "CAL_TEMP1_HB" --> "CAL_TEMP1_HB"
		;***************   + "SORT_DATA5_HB"   ***************
		MOVF	SORT_DATA5_HB,W			;"SORT_DATA5_HB" --> "Wreg"
		ADDWF	CAL_TEMP1_HB,F			;"Wreg" + "CAL_TEMP1_HB" --> "CAL_TEMP1_HB"
		;***************   + "SORT_DATA6_HB"   ***************
		MOVF	SORT_DATA6_HB,W			;"SORT_DATA6_HB" --> "Wreg"
		ADDWF	CAL_TEMP1_HB,F			;"Wreg" + "CAL_TEMP1_HB" --> "CAL_TEMP1_HB"

	;***************   "CAL_TEMP" / 4   ***************
		BCF		STATUS,C				;Clear "STATUS" C flag
		RRF		CAL_TEMP1_HB,F			;Right shift
		RRF		CAL_TEMP1_LB,F			;Right shift
		BCF		STATUS,C				;Clear "STATUS" C flag
		RRF		CAL_TEMP1_HB,F			;Right shift
		RRF		CAL_TEMP1_LB,F			;Right shift

	;***************   CAL_TEMP --> CONV_DATA   ***************
		MOVF	CAL_TEMP1_HB,W			;"CAL_TEMP1_HB" --> "Wreg"
		MOVWF	CONV_DATA_HB			;"Wreg" --> "CONV_DATA_HB"
		MOVF	CAL_TEMP1_LB,W			;"CAL_TEMP1_LB" --> "Wreg"
		MOVWF	CONV_DATA_LB			;"Wreg" --> "CONV_DATA_LB"

		RETURN



;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;		Data Hold Process
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

DATA_HOLD
	;STDH
		BTFSC	LABEL_STATUS,0			;"LABEL_STATUS" = 'STDH'?
		GOTO	STDH_DATA_HOLD			;STDH_DATA_HOLD
	;STDL
		BTFSC	LABEL_STATUS,1			;"LABEL_STATUS" = 'STDL'?
		GOTO	STDL_DATA_HOLD			;STDL_DATA_HOLD
	;MEAH
		BTFSC	LABEL_STATUS,2			;"LABEL_STATUS" = 'MEAH'?
		GOTO	MEAH_DATA_HOLD			;MEAH_DATA_HOLD
	;MEAL
		BTFSC	LABEL_STATUS,3			;"LABEL_STATUS" = 'MEAL'?
		GOTO	MEAL_DATA_HOLD			;MEAL_DATA_HOLD
	;FINH
		BTFSC	LABEL_STATUS,4			;"LABEL_STATUS" = 'FINH'?
		GOTO	FINH_DATA_HOLD			;FINH_DATA_HOLD
	;FINL
		BTFSC	LABEL_STATUS,5			;"LABEL_STATUS" = 'FINL'?
		GOTO	FINL_DATA_HOLD			;FINL_DATA_HOLD
	;NOTHING
		GOTO	END_DATA_HOLD			;END_DATA_HOLD


;***************   Standard-High Data Hold   ***************
STDH_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	STDH_DATA_HB			;"Wreg" --> "STDH_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	STDH_DATA_LB			;"Wreg" --> "STDH_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   Standard-Low Data Hold   ***************
STDL_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	STDL_DATA_HB			;"Wreg" --> "STDL_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	STDL_DATA_LB			;"Wreg" --> "STDL_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   Measurement-High Data Hold   ***************
MEAH_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	MEAH_DATA_HB			;"Wreg" --> "MEAH_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	MEAH_DATA_LB			;"Wreg" --> "MEAH_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   Measurement-Low Data Hold   ***************
MEAL_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	MEAL_DATA_HB			;"Wreg" --> "MEAL_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	MEAL_DATA_LB			;"Wreg" --> "MEAL_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   Finish-High Data Hold   ***************
FINH_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	FINH_DATA_HB			;"Wreg" --> "FINH_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	FINH_DATA_LB			;"Wreg" --> "FINH_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   Finish-Low Data Hold   ***************
FINL_DATA_HOLD
		MOVF	CONV_DATA_HB,W			;"CONV_DATA_HB" --> "Wreg"
		MOVWF	FINL_DATA_HB			;"Wreg" --> "FINL_DATA_HB"
		MOVF	CONV_DATA_LB,W			;"CONV_DATA_LB" --> "Wreg"
		MOVWF	FINL_DATA_LB			;"Wreg" --> "FINL_DATA_LB"
		GOTO	END_DATA_HOLD			;END_DATA_HOLD

;***************   End Data Hold   ***************
END_DATA_HOLD

		RETURN



;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;		Limit Generation Process
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LIMIT_GENERATION

⌨️ 快捷键说明

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