Probleme mit PIC16C71

Gast #3325236
Hallo Leute!

Ich habe in meiner Firma ein projekt mit einem PIC16C71 geerbt.
Der ursprüngliche Entwickler ist schon vor Jahren verschwunden,
Quellen sind nicht auffindbar. Das ganze wurde über einen längeren
zeitraum von der Produktion einfach mit der Hex datei immer wieder
dupliziert. Nun soll etwas geändert werden. Ich habe das ganze
über einen Disassembler gejagt und dabei festgestellt dass der
Entwickler unbekannte Opcodes verwendet. Und zwar 0x0066 (wird
gleich nach dem Reset ausgeführt) und 0x0062 sowie 0x0065.

Kann mir jemand sagen was das für Befehle sind?

MfG
Gast #3325378
Hallo!
Das kann so ganz nicht stimmen. Option ist ein Register und kein
Mnemonic, genauso TRIS. Das gabe es bei alten PIC 16C5X.
Da musste aber das W-Register entsprechend geladen sein. Die 0x062 ist 
der absolut erste Befehl nach Reset.
Gast #3325395
Komisch, im Datenblatt steht das aber anders. Die Befehle werden noch 
unterstützt, man solle sie aber bitteschön nicht mehr benutzen.
Wenn man so ein Projekt bekommt, bitte erstmal das Datenblatt 
runterladen und mindestens eine Nacht unters Kopfkissen legen....
Gast #3325405
> Die Befehle werden noch unterstützt, man solle sie aber bitteschön nicht
> mehr benutzen.

Lustigerweise fehlt in aktuellen Datenblaettern (z.b. 16F1508/9) dieser
Hinweis wieder und OPTION und TRIS sind ganz normal gelistet.
#3325448
Der 16C71 hat einen 14-Bit Befehlssatz und bei dem gibt es mit der 
Kombination 00 0000 011x xxxx genau 2 Befehle:
0x0064 = 00 0000 0110 0100 = CLRWDT
0x0063 = 00 0000 0100 0011 = SLEEP

@TO: Ich kenne deinen Disassembler nicht, aber bist du dir sicher das 
der Disassembler auf den 14-Bit-Befehlssatz gestellt ist und nicht auf 
den 12-Bit Befehlssatz?
Denn beim 12-Bit-Befehlssatz ist 0000 011x xxxx der CLRF Befehl und die 
3 "illegalen" Opcodes sind dann

0x062 = 0000 0110 0010 = CLRF PCL
0x065 = 0000 0110 0101 = CLRF OSCCAL
0x066 = 0000 0110 0110 = CLRF GPIO

...wobei CLRF OSCCAL nicht unbedingt Sinn machen würde....

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.