user_mac.inc

来自「DALI系统主控制器的软件代码」· INC 代码 · 共 87 行

INC
87
字号
#define	dvron	bsf	PORTB, 3
#define dvroff	bcf	PORTB, 3


; *****************************************************************************
txdali	macro	MYREGH, MYREGL
	movff	MYREGH, DALI_H
	movff	MYREGL, DALI_L
	call	SendData
	endm
; *****************************************************************************


; *****************************************************************************
rxdali	macro
	call	RecvData
	endm
; *****************************************************************************


; *****************************************************************************
tx	macro	MYREG
	movff	MYREG, TXREG
	endm
; *****************************************************************************


; *****************************************************************************
delay	macro	MYLIT
	movlf	high MYLIT, TMR1H
	movlf	low MYLIT, TMR1L
	call	DelayCyclesT1
	endm
; *****************************************************************************


; *****************************************************************************
delayf	macro	MYFILE_H, MYFILE_L
	movff	MYFILE_H, TMR1H
	movff	MYFILE_L, TMR1L
	call	DelayCyclesT1
	endm
; *****************************************************************************


; *** Set DALI Bus High *******************************************************
outhi	macro
	bcf	PORTB, 4		; Turn off clamp
	goto	$ + 1
	bsf	PORTB, 5		; Turn on output
;	goto	$ + 1
;	goto	$ + 1
	endm
; *****************************************************************************


; *** Set DALI Bus Low ********************************************************
outlo	macro
	bcf	PORTB, 5		; Turn off output driver
	goto 	$ + 1			; Wait a little for gate discharge
	bsf	PORTB, 4		; Turn on clamp
;	goto	$ + 1
	endm
; *****************************************************************************


; *** Emergency Shutdown ******************************************************
esdwn	macro	WHERE
	bcf	PORTB, 3		; Turn off output driver
	goto	WHERE
	endm
; *****************************************************************************


; *****************************************************************************
wrtee	macro	MYREG
	banksel	EEADR
	movwf	EEDATA				; Init the first values 
	movlw	TX_EDGE_DELAY_H
	sublw	MYREG
	movwf	EEADR 
	call	WriteEEData
	endm
; *****************************************************************************


⌨️ 快捷键说明

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