Habe eine frage,
Habe an einem Pic eine Sensorenspannung von 0 bis 5 V anliegen.
Diese muss ausgewertet werden.
Bei einer Reichweite von 10 cm gibt der Sensor eine Spannung von 5 V aus.

Nun möchte ich mit Hilfe des Pics 16f877, diese Spannung auswerten.

Code:
;***********************************************************
;*  Name      : LCD		         Datum: 05.03.2008 *
;*              ------------                               *
;*  Funktion  :	sensor				       *
;*      											       *
;*  Autor     :                       *
;***********************************************************
	LIST p=16F877		; TAB - otherwise: unnecessary warning
	#include <p16F877.inc>
	;__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _LVP_OFF & _BODEN_OFF
	__CONFIG 0x3F39
	ERRORLEVEL -302
	
	ADW_1			EQU		0x31

	
Initialisierung:
	bsf		STATUS,RP0
	clrf	TRISB
	bsf		TRISA,0
	bcf		STATUS,RP0
	clrf	PORTB  
	movlw	B'00000000'
	movwf	ADCON1
	
Main_1
	
; ADC-Vorbereitungen:
; ADC einschalten
	bsf     ADCON0, 0      ; ADON=1
; ADC speed für (fosc/32) MHz einstellen  
	bsf     ADCON0, 7      ; ADCS1=1
	bcf     ADCON0, 6      ; ADCS0=0

	
Haupt:      
	clrf	PORTB
	bcf		PORTB,4
	clrf	ADW_1
	bcf     ADCON0, 5      
	bcf     ADCON0, 4      
	bcf     ADCON0, 3      
    call	Verzögerung_100us
	bsf     ADCON0, 2 

warte_auf_ADW:    

	btfsc   ADCON0, 2      
	goto    warte_auf_ADW 
    movf    ADRESH,W      
    movwf   ADW_1

	movlw	D'100'
	subwf	ADW_1,W
	btfss	STATUS,Z
	goto	Test


goto Haupt

Test
	bsf		PORTB,4
	call	Verzögerung_1s
	call	Verzögerung_1s
	call	Verzögerung_1s
	;call	Verzögerung_1s
	;call	Verzögerung_1s	

goto	Haupt
	
#include  	"VERZ/Verz_A.inc"

end
Bei diesem Code wird immer wieder das Zero Flag überprüft. Da sich die Spannung immer um ein paar mV veränder und nie konstant ist, ist das Zero flag auch nur einen kurzen Moment gesetzt.
es sollte aber länger gesetzt sein. damit an einem Portpin ein High signal ausgegeben werden kann
WIe kann ich das realisieren bzw. den code umstellen