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

📄 id_chang.asm

📁 VCP201_CODE is a FPGA source code.
💻 ASM
字号:
;-----------------------------------------
; update_id:
; update the pad id according to D_A_mode;
; D_A_mode may be changed by 44 or switch.
; have to check mode_ch by switch first.
;-----------------------------------------
update_id:
	btfss	f_44_chmode	; change by 44?
	goto	end_update_id
;	goto	id_not_44_ch

	movlw	digital_id	; 41		
	btfsc	D_A_mode
	movlw	analog_id	; 73
	
	movwf	pad_id
	bcf	f_44_chmode	; clr 44 set flag
;	goto	id_init_parameter
;	
;id_not_44_ch:
;	btfss	mode_ch
;	goto	end_update_id
	
id_init_parameter:	
	call	set_pb
        btfsc   f_mapbad
        call    def_pb		

	bcf	all_intr
	bsf	STATUS,RP0
	clrf	m_reset
	bcf	STATUS,RP0
	
update_wait_200ms:		; wait for 
	call	p_timer
	bsf	STATUS,RP0
	movf	m_reset,W
	bcf	STATUS,RP0
	sublw	0x20
	btfsc	STATUS,C
	goto	update_wait_200ms

;	bcf	f_time_reset
		
	bsf	all_intr
		
end_update_id:
	
	return
	

;-------------------------------------------	
; mode_change:
; mode change by push button
; if using slide sw, don't call this routine
;-------------------------------------------
mode_change:
        movlw   DBC26MS       	;SET 0.5MSEC KEY RELEASE DEBOUNCE
        movw    dur_dbc
        movw    tmr_dbc         ;RESET DEBOUNCE TIMER
        bcf     f_keystb        ;CLEAR KEY STABLE FLAG
mode_dbc:
;$$$$$$$$$$$$$$$$$
	call	readport
;$$$$$$$$$$$$$$$$$
	call    p_timer         ;DEBOUCE MODE KEY FOR 0.5 SECOND
        btfss   f_keystb        ;IF MODE RELEASES WITHIN THE DEBOUNCE TIME
        goto    mode_dbc         ;THE ROUTINE WILL EXIT WITHOUT DOING
        btfsc   mode_bit         ;ANYTHING
        goto	end_mode_change


	btfsc	f_44_lock		; locked by 44 ?
	goto	end_mode_change		; Yes
	
	bcf	all_intr

	btfsc	D_A_mode
	goto	mode_ch_to_41
        bsf	D_A_mode
	movlw	analog_id		; change to 73 
	goto	mode_ch_set
	
mode_ch_to_41:
	bcf	D_A_mode
	movlw	digital_id		; change to 41	

mode_ch_set:
	movwf	pad_id

	call	id_init_parameter
	
;	call	set_pb
;       btfsc   f_mapbad
;        call    def_pb	
	
;	btfsc	f_nmode			; which protocol is operating	
;	bsf	mode_ch			; set mode change flag for 2.0

mode_release:
        movlw   DBC100MS        ;SET 0.1S PROGRAM KEY RELEASE DEBOUNCE
        movw    dur_dbc
        movw    tmr_dbc         ;RESET DEBOUNCE TIMER
mode_lp2:
        movlw   0x0             ;WAIT FOR MODE KEY OFF BEFORE EXIT
        call    waitkey
        btfss   mode_bit
        goto    mode_lp2

        movlw   DBC100MS        ;SET DEBOUNCE TIME BACK TO 0.1 SECOND
        movw    dur_dbc
        movw    tmr_dbc         ;RESET DEBOUNCE TIMER

	

end_mode_change:	
	return

⌨️ 快捷键说明

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