Code:
Luft_Fe
bcf Flag2,3 ;Flag für 1 Messung/Minute
clrf PRODL
clrf PRODH
clrf ADRES_L
clrf ADRES_H
clrf PR_ZH
clrf PR_ZL
clrf Sum_L
clrf Sum_H
clrf ADRESL
clrf ADRESH
bsf ADCON0,3 ;RA2 gesetzt
bsf ADCON0,4 ; "
bcf ADCON0,5 ; "
bsf ADCON0,2 ;AD Start
Test_B btfsc ADCON0,2
goto Test_B ;AD fertig?
movf ADRESL,w
movwf ADRES_L ;zwischensp. für Berechnung
movf ADRESH,w
movwf ADRES_H ;zwischensp. für Berechnung
movlw B'11000100'
movwf Sum_L
movlw B'00000000' ;196 nach Sum_H und _L
movwf Sum_H
bcf STATUS,C
movf Sum_L,w
subwf ADRES_L,f
btfss STATUS,C
goto M_sub16a
movf Sum_H,w
subwf ADRES_H,f
goto M_sub16c
M_sub16a movf Sum_H,w
subwf ADRES_H,f
btfsc STATUS,C
goto M_sub16b
decf ADRES_H,f
goto M_sub16c
M_sub16b movlw 1
subwf ADRES_H,f ;AD Wert -196(offset für0°C)
M_sub16c
movf ADRES_L,w
movwf PR_ZL
movf ADRES_H,w ;Wert speichern für Add. x10
movwf PR_ZH
bcf STATUS,C
rlcf ADRES_L,f
rlcf ADRES_H,f
bcf STATUS,C
rlcf ADRES_L,f
rlcf ADRES_H,f
bcf STATUS,C
rlcf ADRES_L,f
rlcf ADRES_H,f
movf PR_ZL,w
addwf ADRES_L,f
movf PR_ZH,w
addwfc ADRES_H,f
movf PR_ZL,w
addwf ADRES_L,f
movf PR_ZH,w
addwfc ADRES_H,f ;x10
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;1x
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;2x
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;3x
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;4x
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;5x
bcf STATUS,C
rrcf ADRES_H,f
rrcf ADRES_L,f ;6x =/64
clrf Ergeb
clrf ZLF
clrf Luft ;Wert für Ausgabe LCD aufarbeiten
movf ADRES_L,w
movwf Luft ;ganzzahliger Wert für Sprühdauer
movf ADRES_L,w
movwf Ergeb
Schle_Z movlw D'10' ;Zehnerstelle ermitteln
subwf Ergeb,f
btfss STATUS,C
goto Fert_Z
incf ZLF,f ;Zehnerstelle
goto Schle_Z
Fert_Z
clrf PRODH
clrf PRODL
clrf ELF
clrf Ergeb
movlw D'10'
mulwf ZLF
movf PRODL,w
subwf ADRES_L,w ;
movwf ELF ;Einer Luftfeuchte
movlw B'11011010' ;LCD Zeile vier Zehner Luftfeu
call OutLcdControl
movf ZLF,w ;Ausgabe Zehner Luftfeuchte
iorlw '0'
call OutLcdDaten
movlw B'11011011'
call OutLcdControl
movf ELF,w ;Ausgage Einer Luftfeu
iorlw '0'
call OutLcdDaten
return
vielen Dank schon mal im Voraus, Djog
Lesezeichen