lab3.asm

来自「LED循坏闪烁 在 Picdem_2_Plus_code开发板上实现的功能」· 汇编 代码 · 共 57 行

ASM
57
字号
;
;	EX0601.ASM
;
	LIST P=16F877, R=DEC
	#INCLUDE P16F877.INC
	CBLOCK 0X20
	ENDC
;
;	define RAMs
;
	ORG 0
	NOP
	BANKSEL TRISB
	MOVLW 0
	MOVWF TRISB
	MOVWF PORTD
	BANKSEL PORTB
	MOVLW H'FF'	; TURN OFF LEDS
	MOVWF PORTB
;
	CLRF DATBF1	; CLEAR DATA BUFFERS
	CLRF DATBF2
;
;=======================
MAIN:
	BANKSEL ADCON1		; ADCON1 is in bank1
	MOVLW B'10001110'	; select right(1) justified (d7)
				; 1 ch(AN0)/0 refs
	MOVWF ADCON1
;
	BANKSEL ADCON0
	MOVLW B'01000001'	; select Fosc/8(01), AN0(000)
	MOVWF ADCON0		; a/d done(0), x(0), a/d ON(1)
;
	CALL DLY2_5mS		; wait for input charge
MAIN1:
	BSF ADCON0,GO		; start a/d converting
MAIN2:
	BTFSC ADCON0,GO		; a/d convertion finished?
	GOTO MAIN2		; no	
;
	BANKSEL ADRESL		; select bank1
	MOVF ADRESL,W		; read a/d result ( low byte )
;
	BANKSEL DATBF1		; select bank0
	MOVWF DATBF1		; store (0~7) in DATBF1
	MOVF ADRESH,W		; read a/d result ( high byte )
	MOVWF DATBF2		; store (8~9) in DATBF2
;
	CALL FOURLED		; display a/d results
	GOTO MAIN1
;

;
;
;
	END

⌨️ 快捷键说明

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