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

📄 ex0701.asm

📁 关于PIC16F877A单片机的一些源代码,比较丰富.初学者认真看看应该有收获的.
💻 ASM
字号:
;
;	8 BITS A/D + HEX TO BCD CONVERTER
;
	LIST P=16F877, R=DEC
	#INCLUDE P16F877.INC
	CBLOCK 0X20
	ENDC
;
;	DEFINE RAM
;
	CBLOCK
	 BCDBFL, BCDBFH	; result of 8 bit HEX to BCD
	ENDC
;
	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'00000100'	; select left(0) justified (d7)
				; 3(ch)/0 refs (0100), 0XXX0100
	MOVWF ADCON1
;
	BANKSEL ADCON0
	MOVLW B'01001001'	; select Fosc/8(01), AN1(001)
	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	
;
	MOVF ADRESH,W		; read a/d result ( high byte )
	CALL HX2BCD		; Hexadecimal to decimal converter
	MOVF BCDBFL,W
	MOVWF DATBF1
	MOVF BCDBFH,W
	MOVWF DATBF2
;
	CALL FOURLED		; display a/d results
	GOTO MAIN1
;
;---------------------------------------------------------------;
								;
	#INCLUDE <FOURLED.INC>					;
								;
;	externally defined pins (in main program)		;
								;
PORTSEG EQU PORTD	; segment port				;
TRISEG  EQU TRISD	; direction of segment port		;
PORTCA  EQU PORTB	; common anode port			;
TRICA   EQU TRISB	; direction of segment port		;
								;
	#INCLUDE <DLY2_5mS.INC>					;	
								;
;===============================================================;
;
;
;
;	HEX TO BCD CONVERTER
;
;	 convert w to BCDBFH/BCDBFL	
;
;
;	define RAM
;
	CBLOCK 
	 R0_HX2BCD
	ENDC
;
;
HX2BCD:
	MOVWF R0_HX2BCD		; temporary store w
	CLRF BCDBFL
	CLRF BCDBFH
;
HX2BCD1:
	MOVLW .100
	SUBWF R0_HX2BCD,W
	SKPC
	GOTO HX2BCD2		; end of hundred convertion
	MOVWF R0_HX2BCD
	INCF BCDBFH
	GOTO HX2BCD1
HX2BCD2:
	MOVLW .10
	SUBWF R0_HX2BCD,W
	SKPC
	GOTO HX2BCD3		; end of hundred convertion
	MOVWF R0_HX2BCD
	MOVLW H'10'	
	ADDWF BCDBFL
	GOTO HX2BCD2
HX2BCD3:
	MOVF R0_HX2BCD,W
	ADDWF BCDBFL
	RETURN
;
;
;
	END

⌨️ 快捷键说明

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