In Antwort auf:
Ich weiß noch nicht mal, was ein sourcecode ist.
sowas:
; ************* interrupt timer2 ueberlauf 0,065536s ******************
t2_int:
bcf PIR1,TMR2IF ; bit in software loeschen
decfsz icount,f
goto RestoreIntStatus ; erst nach 4mal ausführen=0,262144s
movlw 4
movwf icount ; zaehler neu setzen
movf m_time,w
btfss STATUS,Z ; ist m_time = 0, dann nix abziehen
decf m_time,f ; menuerauszaehler -1
movf lcd_timeout,f
btfss STATUS,Z ; ist m_time = 0, dann nix abziehen
decf lcd_timeout,f ; timeoutzaehler -1
; Messen
bsf STATUS,RP0 ; setzt status,5 (page 1 fuer adcon1 in h9f)
movlw b'10000100' ; AN0 / AN1 / AN3 Analogeingaenge, vdd die vref
movwf ADCON1 ; nun programmiert
bcf STATUS,RP0 ; setze wieder page 0
movf messcount,w ; was soll gemessen werden?
sublw 3 ; ist das = 3 (Spannung)?
btfss STATUS,Z ;
goto t2_0 ; nein, weiter
; U messen
bcf STATUS,RP0 ; in page 0
movlw b'10000001' ; fuer wandler 0
movwf ADCON0
movlw 20
movwf int_aqui
decfsz int_aqui,f
goto $-1
bsf ADCON0,GO ; und wandeln
btfsc ADCON0,NOT_DONE ; ueberspringe wenn fertig
goto $-1 ; schleife bis AD fertig
bcf STATUS,C ; carry loeschen
movf ADRESH,w ; ergebnis High in w ( SPANUNG )
movwf ubatt_h ; und weg
bsf STATUS,RP0 ; in page 1
movf ADRESL,w
bcf STATUS,RP0 ; in page 0
movwf ubatt_l ; auch weg
goto t2_2 ; weiter nach messen
.
.
.
.
wird etwas unübersichtlich angezeigt, da die tabs nicht rüberkommen
und davon 70 din-a4 seiten