Hallo JayCool!
Ich habe mal so ein Problem gehabt und so wie im Code gelöst (es ist ein Fragment meines Programms für PIC18F252, soll aber auf allen PICs laufen). Die Variable ist im DTemp und hat einen wert 0...7. Man kann es aber biliebig erweitern. Nach dem feststellen des Wertes der Variablen wird mit goto ein bit im DTemp2 gesetzt. Z.B. wenn die Variable im DTemp gleich 3 ist, wird ein bit 4 im DTemp2 gesetzt. Es ist vieleicht nicht die optimale Lösung, hat aber funktioniert.
Alles klar ? Wenn nicht, bitte weiter fragen !
MfG
Code:
Comp00_07 movf DTemp,0
sublw 7
btfsc _Z
goto SetB0
movf DTemp,0
sublw 6
btfsc _Z
goto SetB1
movf DTemp,0
sublw 5
btfsc _Z
goto SetB2
movf DTemp,0
sublw 4
btfsc _Z
goto SetB3
movf DTemp,0
sublw 3
btfsc _Z
goto SetB4
movf DTemp,0
sublw 2
btfsc _Z
goto SetB5
movf DTemp,0
sublw 1
btfsc _Z
goto SetB6
movf DTemp,0
sublw 0
btfsc _Z
goto SetB7
SetB0 bsf DTemp2,0
return
SetB1 bsf DTemp2,1
return
SetB2 bsf DTemp2,2
return
SetB3 bsf DTemp2,3
return
SetB4 bsf DTemp2,4
return
SetB5 bsf DTemp2,5
return
SetB6 bsf DTemp2,6
return
SetB7 bsf DTemp2,7
return
Lesezeichen