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      :               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