Forum: Mikrocontroller und Digitale Elektronik PIC16f88 läßt sich nach Programmierfehler nicht mehr flashen


von spatro (Gast)


Lesenswert?

Hallo,

ich bin Anfänger in Sachen Mikrocontrollerprogrammierung und habe den 
Fehler gemacht, alle Ausgänge mit meinem Prorgamm auf 1 zu setzen. Beim 
Pic16f88 sind das 16 Stück. Nun kann ich den PIC nicht mehr neu brennen, 
da an den zum Programmieren nötigen Pins immer Spannung anliegt. Gibt es 
irgendeine Möglichkeit das Programm zu löschen, bzw. zu überschreiben.

Vielen Dank schon mal

von Jens M. (Gast)


Lesenswert?

spatro schrieb:
> ich bin Anfänger in Sachen Mikrocontrollerprogrammierung und habe den
> Fehler gemacht, alle Ausgänge mit meinem Prorgamm auf 1 zu setzen. Beim
> Pic16f88 sind das 16 Stück. Nun kann ich den PIC nicht mehr neu brennen,
> da an den zum Programmieren nötigen Pins immer Spannung anliegt. Gibt es
> irgendeine Möglichkeit das Programm zu löschen, bzw. zu überschreiben.

Nach dem Reset sind alle Pins auf Eingang, egal was du programmierst.

Wenn der Pic dann auf dem Vpp Pin Vpp sieht geht er in die Prog. 
Routine.

Wenn dein Brenner ok ist hast du wahrscheinlich einen Pin zum "fuse bit 
umprogrammiert" ( zu deutsch geschossen).

von Lehrmann M. (ubimbo)


Lesenswert?

Jens Martin schrieb:
> Nach dem Reset sind alle Pins auf Eingang, egal was du programmierst.

Ja wenn das Programm anläuft dann nichtmehr.

spatro schrieb:
> Nun kann ich den PIC nicht mehr neu brennen,
> da an den zum Programmieren nötigen Pins immer Spannung anliegt.

Dann geht der PIC nicht in den Programmiermodus - das Programm läuft an.

spatro schrieb:
> Gibt es
> irgendeine Möglichkeit das Programm zu löschen, bzw. zu überschreiben.

Ja einfach neu programmieren - selbst wenn du den MCLR als Eingang nutzt 
kann man ihn noch programmieren.

Jens Martin schrieb:
> fuse bit

gibt es beim PIC nicht! Das heißt Config-Bits.


Man kann einen PIC nicht wie einen AVR verfusen - es gibt allerdings 
eine Kombination die Probleme macht:

Bei einigen PIC-Typen lässt sich das MCLR-Pin zum normalen I/O-Pin 
umkonfigurieren. Wird das getan, und gleichzeitig LV-Programming 
erlaubt, kann es massive Probleme beim nächsten Brennen geben. Es ist 
dann nötig, das PGM-Pin (meist RB3) vor dem Brennen auf Vss (low) zu 
legen.

von tt2t (Gast)


Lesenswert?

Schau Dich mal bei www.sprut.de um, da sind die Probleme und die 
Lösungen beschrieben. Einen falsch programmierten 16F88 kann man IMMER 
wieder erwecken, es sei denn, er ist völlig hinüber.

von Matthias R. (spatro)


Lesenswert?

Vielen Dank für die schnelle Hilfe, ich werde mir mich dann gleich mal 
hinsetzen und versuchen den RB3 auf VSS zu legen. Ich habe nämlich den 
MCLR als I/O verwendet.

von Jens M. (Gast)


Lesenswert?

Lehrmann Michael schrieb:
> Bei einigen PIC-Typen lässt sich das MCLR-Pin zum normalen I/O-Pin
> umkonfigurieren.

Das geht bei fast allen, hier mal das ganze in ausführlich und mit 
Proggerschaltung.

PICmicro® Device Programming:
What You Always Wanted to Know (But Didn?t Know Who to Ask)

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en012156

von Lehrmann M. (ubimbo)


Lesenswert?

Matthias Raithel schrieb:
> Ich habe nämlich den
> MCLR als I/O verwendet.

Die Falle schnappt aber nur zu wenn du gleichzeitig Low Voltage (LV) 
Programming erlaubt hast (!)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.