Nun, ich habe mich endlich entschieden, mich mit PICs vertraut zu machen, und mir einen PIC18F4680 und einen Klon von PICkit 2 besorgt. Ich habe eine einfache Hallo-Welt-Schaltung gemacht, wie hier gezeigt:
Also im Grunde habe ich eine LED von Port A Pin 0, einen Quarzoszillator, eine dieser All-in-One-Einheiten in einer Dose (verwende ich sie richtig?), zwei 100-nF-Kondensatoren und den MCLR-Pin hochgezogen (und mit dem verbunden). Programmiergerät, wenn ich es verwende).
Auf dem Programmiergerät habe ich Vpp/MCLR-, Vdd-, Vss-, ICSPDAT/PD-, ICSPCLK/PGC- und AUX-Pins. Nach einigem Lesen fand ich heraus, dass der AUX mit dem PGM-Pin am PIC verbunden werden sollte. Ich habe alle Pins des Programmierers mit den entsprechenden Pins auf dem PIC verbunden.
Ich habe versucht, den PIC mit dem externen Oszillator bei 40 MHz und mit dem internen Oszillator bei 1 MHz zu verwenden, und es hat keinen Unterschied zum Hauptproblem gemacht. Ich denke, dass die Oszillatoren in Ordnung sind, weil ich einen 250-kHz-Ausgang an Pin 14 sehen kann, wenn ich den internen 1-MHz-Oszillator verwende, und einige seltsame Messwerte, wenn ich den externen 40-MHz-Oszillator verwende (was zu erwarten ist, da mein Multimeter kann Frequenzen bis zu 5 MHz messen und ich erwarte eine Ausgabe von 10 MHz, laut Datenblatt des Mikrocontrollers).
Das Problem ist, dass, wenn ich den programmierten PIC an die Stromversorgung anschließe, er nichts tut, soweit ich sehen kann. Stattdessen muss ich das PICkit daran anschließen, die PICkit 2-Anwendung des Mikrochips öffnen und nachdem es den Chip überprüft hat, beginnt die LED zu blinken, wie es mit der richtigen Frequenz sein soll. Wenn ich das PICkit von der Schaltung oder dem Computer trenne, hört die blinkende LED auf.
Es hört sich so an, als hätten Sie es in MPLAB eingerichtet, um das PICkit als Debugger und nicht als Programmierer zu verwenden. Dadurch kann es mit dem angeschlossenen PICkit arbeiten und MPLAB ausführen, aber nicht alleine. Stellen Sie sicher, dass das Debug-Konfigurationsbit ausgeschaltet ist und dass Sie das Teil mit dem PICkit als Programmierer programmieren , nicht als Debugger.
Welche Frequenz hat dein externer Oszillator? Ich weiß nicht, ob der PIC 40 MHz aufnehmen kann. Normalerweise verwenden wir einen 10-MHz-Oszillator und verwenden die interne PLL des PIC, um ihn auf 40 MHz zu erhöhen. Überprüfen Sie jedoch, ob Ihre Konfigurationseinstellungen HS für den Oszillator sind.
Überprüfen Sie auch, ob der externe Oszillator tatsächlich eine Ausgabe erzeugt. Oft haben diese Geräte 4 Pins, wovon einer ein Enable-Eingang ist. Sie müssen den Aktivierungseingang mit +5 V verbinden, damit es funktioniert.
Sie müssen einen 10-kOhm-Pullup-Widerstand an MCLR (Pin 1) hinzufügen.
John Burton
Andreja Ko
John Burton
Andreja Ko
While in Low-Voltage ICSP Programming mode, the RB5 pin can no longer be used as a general purpose I/O pin and should be held low during normal operation.
und RB5 ist hier PGM.John Burton