Ich bin noch kein so erfahrener Programmierer und arbeite darum noch viel mit der Ansteuerung von LEDs in bestimten Reihenfolgen, damit ich mein Wissen über Assembler verbessere, und die Fehlerquote beim Programmieren sinkt.
Also habe ich wieder einmal ein Programm geschrieben, dass auf eiem neuem selbstgelötetes Board als Positionsleuchtensteuerung für Modellfahrzeuge eingesetzt werden soll.
Das erste Programm lief Fehlerlos, weil ich dabei alle ausgänge nur auf 1 setzte. Alle LEDs Leuchteten.
Beim Zweiten Programm, wollte ich 3 LEDs einschalten, nach 250ms ausschalten, noch einmal 250ms warterten, und dann auch den dritten Led asuschalten. Dass solte sich dann nach 750ms wiederholen. Also schrieb ich dass Programm, und wollte einen neue Methode benützen. Sie war Länger, man konnte aber auch andere LEDs eingeschaltet haben. Dieses Mal schrieb ich aslo nicht in Binärwärten in dass W Register, und kopierte es an PORTA, sondern schrieb an diese Stelle

bsf PORTA,0
bsf PORTA,1
bsf PORTA,2


Ich probierte dass Programm, und ich wunderte mich, dass nur der LED leuchtete, der als letztes auf 1 gestellt wurde. Ich musste das Programm wieder auf die Alte Methode umschreiben, aber ich frage mich noch immer, warum die anderen 2 LEDs nicht geleuchtet haben. Ich habe nämlich die 5 LEDs, die noch von dem 1. Test darin steckten, nicht herausgezogen. Ich hoffe ich hab dass nicht zu kompliziert beschrieben, und ihr könnt mir helfen.



Vielleicht hilft es, ich hab dass Programm auf den PIC 16F630 gebrannt