Variable für Bit beim PIC Assembler

OP #451692
Lesenswert?

Hallo,

ich habe seit Jahren das erste mal wieder einen Pic in den Fingern und 
stolpere über das eine und andere Problem und finde keine Lösung über 
google.


Kann man beim Assembler einem Bit einen Variablennamen geben?


Folgende Zeile wird mit einem Fehler quittiert:

S1   equ   PORTB,3


->  "Error 108: Illegal Character"


Ich habe im Netz nur Beispiele dafür gefunden, dass ganzen Bytes 
Variablennamen gegeben wurden. Ich vermute daher, dass das mit Bits 
nicht geht, bin mir aber nicht sicher.
OP #451700
Lesenswert?

Ne, das funktioniert leider auch nicht.

Ich habe inzwischen auch probiert direkt die Adresse anzugeben. Geht 
aber auch nicht.

S1   equ   0x06,3       -> illegal charakter
S1   equ   0x06.3       -> missing operator


Damit es einigermaßen leserlich bleibt, habe ich mir so weitergeholfen:

S1   equ     3
     btfsc   PORTB,S1




Gast #451906
Lesenswert?

Wenn die zum Controller passende include-Datei von Microchip eingebunden 
ist kann man auch rrf T1,f schreiben, da muss man nicht überlegen was 
die ,1 bedeutet (geht mir zumindestens so). Genauso lässt sich an Stelle 
,0 auch ,w verwenden.
OP #451923
Lesenswert?

Diese Datei ist hier eingebunden. An anderen Stellen im Programm habe 
ich auch die Namen der Konstanten verwendet. Im Moment kram ich mir die 
Sachen hier und da zusammen, sodass das ein Mischmasch aus allen 
möglichen Stilen ist.

Aber ich habe wohl ein viel grundsätzlicheres Problem.
Mein 16F84 macht hier, was er will, nur nicht das, was ich erwarte.
Ich bekomme zwar ganz problemlos ein Modellbauservo angesteuert, aber 
sobald ich ein zweites anschließe, hängen beide am Anschlag.

Dann wollte ich testweise über einen Schalter Variablen im laufenden 
Betrieb verändern. Weil das nicht ging, habe ich eine LED parallel 
geschaltet, die mir den Status des Schalters anzeigen sollte. Nicht mal 
das geht, wobei ich mir sicher bin, dass das Programm die Stelle 
passiert.

Es ist unglaublich.

Ich löte jetz erstmal alles auf eine Lochrasterplatine und probier es 
dann. Dieses Steckboard ist mir nicht ganz geheuer.
Gast #451943
Lesenswert?

<<Das Carry brauchst du nicht zu löschen.>>

Selbstverständlich muss man das löschen.

Beim Rechtsrotieren wird das Carry ins MSB geschoben. Wenn das Carry 
also gesetzt war, dann ist nichts mit geteilt durch 2 ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren