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

📄 adin.inc

📁 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Mille
💻 INC
字号:
;
;-----------------------------------------------------------
;	ADIN.INC	MPB	10-1-06
;	Include file to read analogue input
;	Receives channel selection in W
;	Returns 8-bit voltage in W
;-----------------------------------------------------------

Count	EQU	20		; Delay count
ADcon	EQU	21		; ADC control word
Vin	EQU	22		; Input voltage

; Setup ADC .................................................

adin	CLRF	ADcon		; Zero control bits
	MOVWF	ADcon		; load channel number
	BCF	STATUS,C	; Clear carry flag
	RLF	ADcon		; to position..
	RLF	ADcon		; ...channel select bits
	MOVLW	B'01000001'	; Analogue input setup code
	XORWF	ADcon		; Form control code
	MOVWF	ADCON0		; f/8, RA0, done, enable  

	BANKSEL	ADCON1		; Bank 1
	MOVLW	B'00000011'	; Analogue input setup code
	MOVWF	ADCON1		; Left justify, analogue
	BANKSEL	ADCON0		; Bank 0

; Sample & hold settling delay 20us .........................

getADC	MOVLW	007		;
	MOVWF	Count		;
down	DECFSZ	Count		;
	GOTO	down		;

; Read input ................................................

	BSF	ADCON0,GO	; start ADC..
wait	BTFSC	ADCON0,GO	; and wait.. 
	GOTO	wait		; for finish
	MOVF	ADRESH,W	; store result
	
; Set level indicator .......................................

	MOVWF	Vin		; Get input volts
	MOVLW	080		; Half scale
	BSF	STATUS,C	; Compare
	SUBWF	Vin		;
	BTFSC	STATUS,C	; 
	GOTO	ledon		; input high

	BCF	PORTB,1		; below 1.25V
	MOVF	ADRESH,W	; reload result
	RETURN			; done
ledon	BSF	PORTB,1		; above 1.25V
	MOVF	ADRESH,W	; reload result
	RETURN			; done

; ...........................................................  		
	

⌨️ 快捷键说明

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