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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren