Hallo,
wer kann mir dieses Programm genau erklären? Ich habe absolut keine
Ahnung von Assembler.
Es handelt sich um einen PIC 12C508A in einem Aktor, der mit 6 bzw. 12
Ausgangen bestückt werden kann.
IMHO empfängt der PIC Daten und schiebt sie dann in 1 bzw. 2
Schieberegister (74HC4094), bei denen jeweils die Ausgänge 1-6 verwendet
werden.
Insbesondere würde mich interessieren, ab damit nur ein Schieberegister
angesprochen wird (6Ausgänge) oder auch die Ansteuerung von 2
Kaskadierten 4094 (Eingang 2. 4097 hängt an QS2 des 1. 4097, damit 12
Ausgänge) möglich ist?
mfg
Ist doch nicht schwer. Das Programm springt auf die Marke 251, führt
dann etliche NOPs aus und lädt zum Schluß den Wert 116 ins
Arbeitsregister. Danach hängt es sich dann vermutlich auf.
Du glaubst doch nicht im ernst, dass sich hier jemand die Arbeit macht,
ein dissassembliertes Programm nachzuvollziehen. Das wirst du wohl
selber machen müssen.
Gruß
S.
Hallo,
wenn ich das selber könnte, würde ich das ja machen, aber mein
Assemblerwissen geht gegen 0.
Den Sprung auf 251 und die NOPs bis ans ende hab ich selbst gesehen.
Allerdings ist das Prog. aus einer funkt. Baugruppe ausgelesen, sollt
also noch mehr können.
Kann es evtl. sein, das per Interrupt ins Programm gesprungen wird?
Allerdings kann ICH weder eine Interruptroutine noch eine
Initialisierung der Ausgänge erkennen, obwohl ich inzwischen einig
PIC-Tutorials gelesen habe.
Die Baugruppe mit dem Pic hängt an einer EIB-BCU. Die Platine ist mit 6
Ausgängen bestückt, läßt sich aber auch mit 12 Ausgängen bestücken. Da
ich davon mehrere habe, wollte ich aus 2 6ern eine 12er machen. Einzige
Schwierigkeit könnt evtl. der PIC sein (unterschiedliche Programme für 6
oder 12 Ausgänge).
Bevor ich nun anfange, eine Platine zu schlachten und bei einer 2. die
restliche 6 Ausgänge bestücke, wollt ich nur wissen, ob in dem Programm
eine Begrenzung auf 6 Ausgange (Ausgabe von 6 Bits in das
Schieberegister) vorhanden ist.
Sorry das sich ein PIC-Anfänger getraut hat, so eine Frage zu stellen.
mfg
>Ist doch nicht schwer. Das Programm springt auf die Marke 251, führt>dann etliche NOPs aus und lädt zum Schluß den Wert 116 ins>Arbeitsregister. Danach hängt es sich dann vermutlich auf.
Bei den PIC12 liegt am Ende des Programm-Flash ein Kalibrierwert für den
internen Oszillator. Das Programm wird also nicht abstürzen.
>Du glaubst doch nicht im ernst, dass sich hier jemand die Arbeit macht,>ein dissassembliertes Programm nachzuvollziehen. Das wirst du wohl>selber machen müssen.
Seh ich auch so. Wenn es aber eine dringende Sache ist und Jemand die
Zeit bezahlt kann man darüber reden.
So, hab mir das noch einmal angeschaut. Bei deinem PIC ist vermutlich
das Code-Protection Bit gesetzt. Damit lassen sich von dem Programm nur
die ersten 64 Bytes auslesen. Der Rest wird vom Brenner als NOP gelesen.
Und nur um der Frage gleich vorzubeugen: Es gibt keine Möglichkeit den
geschützten Programmspeicherbereich doch irgendwie auszulesen. Somit
erklärt sich auch das Programm. Es springt halt erst einmal in den
geschützten Bereich. Was es dort macht weiss nur der Entwickler des
Programms. Einfacher wird es wohl sein, das Programm neu zu entwickeln
und an deine Schieberegister Steuerung anzupassen.