Probleme mit PIC16C71

Gast #3325236
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
> 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
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.