Wie programmiere ich einen PIC12?

Ich habe einen PIC12F675, den ich programmieren muss. Ich verwende ein Pickit 2 und die Pickit 2-Software. Angeblich sollte ich es mit dieser Schaltung programmieren können , aber die Pickit 2-Software erkennt den Chip überhaupt nicht.

Schaltkreis

Was läuft schief?

BEARBEITEN: Ich habe ein Bild meiner ausgesteckten Schaltung hinzugefügt. Und hier finden Sie das Datenblatt für den PIC12F675. Fahren Sie mit der Pinbelegung auf Seite 4 fort.

Brotschneidebrett

EDIT2: Ich habe mir gerade die Chips angesehen (dumm, aber ich bin davon ausgegangen, dass Mouser mir das schicken würde, was ich bestellt habe), und mir ist aufgefallen, dass es sich tatsächlich um PIC12C671 handelt. Wie viel Unterschied würde dies machen?

Endgültige EDIT: Wow! Danke an alle, die mir dabei geholfen haben! Mit dieser Art von Reaktion hatte ich nicht gerechnet. Am Ende war es ein kleines dummes Problem, genau wie ich es mir vorgestellt hatte. Es war meine Schuld, dass ich nicht alles doppelt überprüft habe, als ich das Paket von Mouser erhielt.

Sind Sie sicher, dass Ihre Schaltung korrekt ist, mit Strom versorgt wird, Entkopplungskondensatoren hat und an Ihren Computer angeschlossen ist?
Ich habe 5 Volt und es ist mit meinem Computer verbunden. Anscheinend habe ich die Entkopplungskondensatoren übersehen. Hätte das so große Auswirkungen auf die Rennstrecke?
Wahrscheinlich nicht, aber Sie möchten keine Woche für einen Entkopplungskondensator verschwenden, den Sie in einer Minute hinzufügen können.
Okay, also habe ich sie hinzugefügt. Pickit sagt: Nicht unterstützter Teil (ID = 0500)
Der 12F675 wird von PICkit 2 und MPLAB unterstützt.
WIRD unterstützt oder nicht?
Ist !
Vdd am ICSP-Anschluss sollte mit +5 V verbunden werden.
Vielleicht hilft es, wenn du ein Bild von der Schaltung postest...
@Leon: nein, in diesem Fall wurde der PIC von einer anderen Quelle mit Strom versorgt. Willem versuchte auch, den PIC vom Pickit2 aus mit Strom zu versorgen, ohne Erfolg.
Ihr Entkopplungskondensator sollte aufgrund der Induktivität der Drähte direkt an den PIC-Pins und nicht auf der Stromschiene platziert werden. Das ist vielleicht nicht Ihr Problem, aber das Verschieben dieser Obergrenzen kostet nichts ...

Antworten (3)

Ein mögliches Problem ist, dass einige PICs einen Power-Cycle benötigen, um in den Programmiermodus zu gelangen. Der 12F675 benötigt dies insbesondere, wenn das Konfigurationswort in Ihrer Anwendung den MCLR-Pin als GPIO konfiguriert.

Wenn das pcikit2 Ihren Zielchip mit Strom versorgt, stellt es den Stromzyklus bereit. Mit den unabhängigen +5 V, die Sie liefern, ist dies nicht möglich.


Nachdem Sie die wahrscheinlichsten Probleme behandelt haben, können Sie sich für die unwahrscheinlichen entscheiden ... Lachen Sie mich nicht aus, ich greife auf meine eigene Erfahrung zurück!

  • könntest du zwei pickit2 angeschlossen haben? (Ja, ich habe dies einmal getan und war verblüfft, dass die von der pickit2-Anwendung ausgewählte nicht diejenige war, mit der der PIC verbunden war. Ich habe auch einmal eine Stunde verschwendet, als ich zwei Ziel-PIC-Drähte parallel hatte. Das gibt sehr seltsame Ergebnisse wenn Beide geben ihre Chip-ID an den Programmierer weiter.)
  • Ist das von Ihnen verwendete pickit2 mit dem von Ihnen verwendeten PC verbunden? (Ich mache PIC-Kurse und die Schüler können ziemlich kreativ werden, wer den Laptop mit wem PIC verbindet.)
  • Sind sowohl der pickit2 als auch der Chip auf der rechten Seite rund? Das Pickit2-Bild ist von oben zu sehen (wo sich die Taste und die LEDs befinden).
  • Ist der Chip wirklich ein 12F675? (Ich habe einmal einen ganzen Tag lang versucht, den A/D-Wandler eines 12F629 zum Laufen zu bringen - für die Nicht-PIC-Guru's: das ist der billigere Bruder des 12F675, er ist billiger, weil er keinen A/D-Wandler hat ).
  • Sind die Drähte genau so, wie Sie sie zeigen, nicht verwechselt? Und sind sie nicht zufällig kaputt gegangen? Wenn Sie ein lötfreies Steckbrett verwenden: Stellt es immer noch alle Kontakte her?
  • Ist die Firmware im pickit2 eine Version, die zu Ihrer PC-Seite passt? Eventuell die Firmware neu laden um 100% sicher zu sein.

Als Antwort auf Ihr EDIT2: ROFL, überprüfen Sie meine Kugel 4. Der PIC12C671 ist ein völlig anderer Chip, und das C bedeutet, dass es sich um einen EPROM-Chip (einmal programmierbar) handelt, der von pickit2 nicht unterstützt wird.

Ich habe versucht, es über das PICKit selbst mit Strom zu versorgen, und es funktioniert immer noch nicht.
:( Vielen Dank für die Hilfe! Wie ich schon sagte, ich nahm an, dass Mouser mir die richtigen Chips geschickt hatte. Mein Fehler, dass ich nicht alles doppelt überprüft habe, bevor ich loslegte. Nochmals vielen Dank!
Wie ich meinen Schülern sage: Fühlen Sie sich frei, zum ersten Mal einen Fehler zu machen. Aber nie wieder.

Der PICkit2-Programmierer sollte für Ihren Teil so funktionieren, wie er ist, ohne Header. (Debuggen ist eine ganz andere Sache.)

Beachten Sie neben dem angebotenen Rat zum Entkopplungskondensator Folgendes: Die meisten (alle) PIC-Geräte benötigen einen 10k-Pullup von _MCLR auf VDD. Versuchen Sie, das hinzuzufügen, und sehen Sie, was passiert.

PICkit2-Unterstützung

Hier ist ein Verdrahtungsbeispiel aus dem PICkit3-Setup-Poster. (Die Pinbelegungen von PICkit2 und PICkit3 sind identisch, daher sind die Informationen zu 100% relevant.)

ISCP-Diagramm

Sie können sehen, dass die Stifte 1 bis 5 des Programmiergeräts mit Ihrer Schaltung verbunden werden müssen. In Ihrem Schaltplan fehlt die VDD-Target-Verbindung von Pin 2. Versuchen Sie, diese anzuschließen und dem PICkit2 zu erlauben, die Schaltung mit Strom zu versorgen.

Das Fehlen eines Widerstands am MCLR wird das PICkit nicht daran hindern, das Gerät zu programmieren. Es kann jedoch dazu führen, dass das Programm nicht mehr ausgeführt wird.
Ich fügte das Pull-up hinzu und stellte sicher, dass ich das richtige Gerät in MPLAB ausgewählt hatte. Immer noch keine Würfel.
@LeonHeller Ich habe meine Aussage zu _MCLR auf das PICkit3-Poster gestützt, das den _MCLR-Pull-up unter der "richtigen" Art der Verkabelung zeigt.
@Madmanguruman Ich wünschte, ich hätte es nicht genau so angeschlossen, aber ich habe es mit dem Datenblatt überprüft und alle Verbindungen sind korrekt.

PICKit2 unterstützt Ihr Gerät ( Quelle ). Dies bedeutet, dass etwas mit Ihrem Setup nicht stimmt. Es gibt einige Dinge, die Sie überprüfen können:

  • Gibt es ein Problem in der Kommunikation mit PICKit? Nein, wenn dies der Fall wäre, würden Sie eine Fehlermeldung erhalten, dass das ICSP-Tool nicht gefunden werden konnte.
  • Gibt es ein Problem mit der Schaltung mit dem Chip? Evtl. _ Sie sollten Ihre Schaltung überprüfen und Entkopplungskondensatoren hinzufügen, falls dies noch nicht geschehen ist. Alle VDD- und VSS-Pins sollten verbunden sein, auch die des ICSP-Anschlusses. Überprüfen Sie auch Ihre Stromversorgung: Ist sie glatt?
  • Liegt ein Softwareproblem vor? Höchstwahrscheinlich , würde ich sagen. Haben Sie den richtigen Chip in MPLAB ausgewählt? Können Sie andere Chips mit dem gleichen Setup programmieren?
Ich habe das alles überprüft. In den Entkopplungskappen und dem MCLR-Pull-up-Widerstand hinzugefügt. Ich verwende die Software PICKit2 v2.61 zum Programmieren des Chips anstelle von MPLAB. Obwohl ich versucht habe, was Sie in MPLAB gesagt haben. Ich erhalte diesen Fehler, wenn ich versuche, mich mit dem Chip zu verbinden. Bitte überprüfen Sie, ob ein PIC12F675 korrekt in der Anwendung installiert ist
@WillemEllis Sehr gut. Ich dachte an etwas anderes: Hast du alle Vdd- und Vss-Pins des Chips verbunden? Überprüfen Sie auch, ob PGC mit PGC und nicht mit PGD verbunden ist - das hat mir in letzter Zeit einige Probleme bereitet.
@WillemEllis irgendwelche Fortschritte bei diesem?
entschuldigen Sie, dass es so lange gedauert hat, sich bei Ihnen zu melden. Unglücklicherweise nicht. Ich habe mit meinem Professor gesprochen und er konnte es auch nicht herausfinden. Ich habe sichergestellt, dass alles wie in der Schaltung angeschlossen ist, wobei PGD und PGC an die richtigen Pins gehen. Immer noch kein Glück.
Wenn Sie sicher sind, dass Ihre Verbindungen gut sind, versuchen Sie es mit einem anderen Gerät oder einem anderen PICkit2.
@WillemEllis, das ist eine gute Idee von Madmanguruman. Um sicherzustellen, dass der Chip / Programmierer nicht kaputt ist. Danach habe ich leider auch keine Ahnung. Vielleicht ein Bild vom Aufbau, um den Schaltplan zu überprüfen und so, aber es kommt nichts Brillantes heraus.
@WillemEllis macht nichts, siehe Wouter van Ooijens Bearbeitung seiner Antwort. Ihr Chip ist nicht reprogrammierbar!
Das PICkit 2 unterstützt Ihr Gerät nicht nativ . Dieses wunderbare PICkit- (PICkitminus) wurde jedoch aktualisiert, um alle Arten von Geräten zu unterstützen! kair.us/projects/pickitminus