ex0901.asm

来自「PIC单片机指令集」· 汇编 代码 · 共 76 行

ASM
76
字号
;
;	MOVING LEDS
;
	LIST P=16F877, R=DEC
	#INCLUDE P16F877.INC
	CBLOCK 0X20
	ENDC
;
;	define RAM
;
	CBLOCK
	 R0, USRFLAG
	ENDC
;
;
DRCT	EQU	0		; USRFLAG,DRCT=1(LEFT)/0(RIGHT)
;
;
	ORG 	0
	NOP
	GOTO 	MAIN		; reset vector
;
	ORG 4			;
	BTFSS	USRFLAG,DRCT
	GOTO	INT01
	BCF	USRFLAG,DRCT
	GOTO	INT02
INT01:
	BSF	USRFLAG,DRCT
INT02:
	BTFSS	PORTB,0
	GOTO	INT02
	BCF	INTCON,INTF
	RETFIE			; return + (bsf	INTCON,GIE)
;
;................................
;
MAIN:
	BANKSEL TRISD
	MOVLW 	0
	MOVWF 	TRISD
	BANKSEL	PORTD
;
	BSF	INTCON,GIE
	BSF	INTCON,INTE
	BCF	INTCON,INTF	; reset interrupt FLAG

	MOVLW	B'11111100'
	MOVWF	R0
	BCF	USRFLAG,DRCT	; default = left rotating
MAIN1:
	MOVF	R0,W
	MOVWF	PORTD
	CALL	DLY0_2S
	BTFSC	USRFLAG,DRCT
	GOTO	RIGHT
LEFT:
	CLRC
	BTFSC	R0,7
	SETC
	RLF	R0,F
	GOTO	MAIN1
RIGHT:
	CLRC
	BTFSC	R0,0
	SETC
	RRF	R0,F
	GOTO	MAIN1
;
;
	#INCLUDE	<DLY0_2S.INC>
;
;
;
	END

⌨️ 快捷键说明

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