Forum: Mikrocontroller und Digitale Elektronik PIC - Adresskennung


von Freedzz (Gast)


Lesenswert?

Werte Programmiergemeinde,
ich hoffe ihr könnt einem Anfänger eine Frage beantworten und 
hoffentlich eine Idee bestätigen.

Ich möchte meinen PIC16f690 über eine RS232-SChnittstelle ansteuern.Aber 
darum geht es gar nicht. Die Befehlsdaten verstecken sich in einem 
kompletten Byte.
Nun möchte ich dem PIC sagen, das er die ersten 5 Bit dieses Bytes mit 
einer in ihm gespeicherten Bitfolge vergleicht. Wird das Carryflag 
gesetzt, ist er gemeint und er soll den Befehl der in den letzten 3 Bit 
codiert ist ausführen. Wenn nicht, soll er das Byte weitersenden.
Nun meine Frage ob die Idee, alles in ein Byte zu packen machbar ist 
oder nicht?
Kann ich dem Pic beibringen nur eine Bit des Bytes zu vergleichen? 
Vielleicht nach dem Motto, Bit 5 ist HIGH, dann mache dies, oder Bit 2 
ist LOW dann mache das?

Ich möchte bitte nur wissen ob dies möglich ist, eventuell einen kleinen 
Hinweis wie man dies macht. Auf die Komplettlösung möchte ich dann 
selber kommen.

Gruß
Freedzz

von Freedzz (Gast)


Lesenswert?

Verzeihung, aber es handelt sich um Assemblerprogrammierung. Ich 
vergass, dies mitzuteilen.

Gruß
Freedzz

von Jens P. (Gast)


Lesenswert?

wenn du eine AND- Funktion ausführst die "Eingelesenes Byte" AND 
11111000 verknüpft hast du diesen Wert isoliert. schibest du das ganze 3 
mal nach rechts sogar als "wirklicher Wert".

"Eingelesenes Byte" AND 00000111 liefert dann eben die befehlskennung.

Ich habe schon ewig nix mehr in Assembler gemacht auf Pics, aber das 
dürfte recht einfach zu realisieren sein.

Gruß,
Jens

von Jens P. (Gast)


Lesenswert?

Jepp, grad geschaut, ANDLW, RRF und eben das ganze MOVLW und MOVWF zeugs 
sollten genügen um das hinzubekommen.

von Freedzz (Gast)


Lesenswert?

Vielen Dank für deine Idee Jens . Ich werd dies gleich mal versuchen.

Gruß,
Freedzz

von Jens P. (Gast)


Lesenswert?

biddschee

von Tajas R. (Gast)


Lesenswert?

Wenn du dann tatsächlich nur einzelne Bits prüfen möchtest gibt es da 
noch die Befehle BTFSS und BTFSC einfach im Datenblatt die Befehlsliste 
anschauen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.