Beginnen Sie mit der PIC-Programmierung

Ich habe mich mit der PIC-Programmierung befasst, aber im Gegensatz zu einigen anderen verfügbaren Mikrocontrollern hat mich die schiere Anzahl verschiedener verfügbarer Chips verwirrt. Es scheint auch, dass einige der Chips, die auf einigen Websites als gute Wahl für Leute, die mit der PIC-Programmierung beginnen, vorgeschlagen wurden, möglicherweise ersetzt wurden (oder ich werde vielleicht nur noch verwirrter).

Meine Frage besteht also aus drei Teilen:

  • Was wäre ein guter PIC-Chip für den Anfang?

  • Ich bin ziemlich glücklich damit, entweder Assembler oder eine andere Sprache zu machen, also welche IDEs/Sprachen würden Sie für Linux vorschlagen?

  • Was würden Sie empfehlen, um den Code über eine USB-Verbindung von einem Linux-Laptop (PicKit 2? war eine Möglichkeit) auf den Chip zu bringen, und welche Schaltungs- / Platinenkonfiguration benötige ich dafür?

Bearbeiten: Nach einer langen Diskussion mit Kortuk (siehe Kommentare unten) über die Vorzüge verschiedener Teile des Kits habe ich mich entschieden, mit dem PicKit2 Starter Kit zu beginnen. Dies wird mit einem installierten PIC16F690-Chip geliefert.

Antworten (6)

Ich stimme PIC18s zu, aber für jemanden, der gerade erst anfängt, können sie ein bisschen intensiv sein. Ich unterrichte derzeit Elektroingenieure auf höherem Niveau in der PIC-Entwicklung, und selbst innerhalb derselben Klassen kann ihre Bandbreite an Hintergründen erstaunlich sein.

Ich unterrichte derzeit Leute mit dem CCS PIC-C-Compiler , aber es kostet Geld. Es ist unglaublich einfach und wurde gewählt, da die meisten unserer Studenten nur in einer Laborumgebung mit grundlegender Assemblierung oder x86-Programmierung gearbeitet haben.

Ich habe das Gefühl, dass ein sehr einfacher PIC16 besser passt, aber es hängt von Ihrem Hintergrund ab. Der PIC16F688 ist ein sehr einfacher PIC, den wir für unser erstes Projekt verwenden, um Leute aufzuwärmen.

Ich habe einen First Class Honours Degree in Computing, der viel Programmieren beinhaltete (hauptsächlich C++, ein bisschen VB6, etwas Assembler). Ich habe auch einen Abschluss in Mathematik und unterrichte Mathematik für Kinder der Sekundarstufe. Ich kann und tue es in einer Vielzahl von Sprachen zu programmieren (allerdings nicht in C) und beschäftige mich mit verschiedenen neuen Dingen, einschließlich dem Spielen mit Mikrocontrollern.
Der 16f88 war einer der Chips, die ich untersuchte.
Lesen Sie einfach Ihre Antwort noch einmal und stellen Sie fest, dass Sie 16f688 und nicht 16f88 angegeben haben.
Der 16F88 ist eine perfekte Wahl. Es gibt eine Million verschiedener PICs da draußen, und ich denke, etwa 50.000 davon sind gut für den Anfang. Das Programmieren von Mikrocontrollern bereitet Leuten, denen ich mit einem Informatikhintergrund geholfen habe, sehr oft Probleme, weil sie nicht viele Kurse über Elektrizität besucht haben, was ich mir wünschte, dass sie es zu Studiengängen hinzufügen würden. Ich glaube nicht, dass die Programmierung überhaupt eine Herausforderung sein wird, aber es wäre wahrscheinlich keine schlechte Wahl, sich ein Entwicklungsboard zu besorgen. Dies würde von Ihrer Preisspanne beeinflusst werden. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Ich denke, dass der letzte Link, den ich gepostet habe, eine gute Wahl sein könnte, er gibt Ihnen ein Board, das bereits verdrahtet ist, um mit ihm zu arbeiten, für 50 Dollar (-25%, wenn Sie eine .edu-E-Mail haben) und dann haben Sie einen Programmierer, den Sie verwenden können alle anderen Chips, die Sie bekommen. Ich bin gespannt, wie Ihre Projekte verlaufen.
Das waren genau die Bretter, die ich letzte Woche angeschaut habe. Obwohl ich denke, dass der 16f88 18-polig ist, müsste ich das Board auch für 18-polige Chips bekommen, was etwa 15 £ extra kostet?
Ich bin mir nicht sicher, was die Frage ist, das klingt für mich vollkommen vernünftig.
Das von Ihnen verlinkte (Pickit 2 Starter Kit) enthält ein Board, das für 8-, 14- und 20-Pin-Chips geeignet ist. Ich habe gerade überprüft, ob ich auch das DM164120-4-Board kaufen muss, um damit fertig zu werden ein 18-Pin-Chip, was der 16f88 ist. Ich habe nachgesehen, weil mindestens eine Seite, die ich letzte Woche besucht habe, implizierte, dass das DM164120-1-Board, das mit dem Kit geliefert wird, auch für 18-Pin-PICs geeignet wäre.
Wenn Sie das DM164120-1 erhalten, würde ich vorschlagen, dass Sie das mitgelieferte PIC verwenden. Ich bin gerade dabei, jemandem bei einem Projekt zu helfen, das er morgen im Unterricht unterrichten muss, oder ich würde mehr suchen, aber überall, wo ich Ihr Board finde, kann ich es nicht finden. Ich kann Ihnen anhand der Pinbelegung des PIC16F631 sagen, dass es nicht mit einem PIC16F88 kompatibel ist. Die Stromversorgungs- und Programmierstifte stimmen nicht überein. Wenn Sie ein Dev-Board kaufen, verwenden Sie einfach den mitgelieferten PIC, Sie werden deutlich glücklicher sein.
Diese Seite: microchip.com/stellent/… zeigt Boards, die mit dem PicKit 2 und 3 kompatibel sind. Im zweiten Feld unten steht, dass der DM161420-1 „keine Unterstützung für PIC10F 8DIP oder 18-Pin-Geräte“ hat. und hat dann den DM161420-4, der 18-Pin-kompatibel ist. Es scheint unten auf der Seite keine Schaltpläne für den 18-Pin zu geben, aber für die andere Platine im Benutzerhandbuch. Also denke ich, dass das der richtige Weg ist, wenn ich mich für den 16F88 als Starter entscheide. Alternativ wird die 18-polige Platine mit einem PIC16F648A geliefert.
Ja, Sie haben gut recherchiert. Meine Hilfe war vielleicht etwas fehlgeleitet. Wenn Sie Ihre Füße nass machen möchten, ist ein Entwicklungsboard eine Möglichkeit, den Umgang mit der Hardware zum Erstellen eines PIC zu vermeiden, bevor Sie bereit sind. Wenn Sie diesen Weg gehen, würde ich vorschlagen, den PIC zu verwenden, der mit dem Board geliefert wird, und Ihre nächste Wahl des PIC zu bestimmen, nachdem Sie bereit sind, Ihre eigenen Boards zu bauen. Wenn Sie von Anfang an Ihr eigenes Bild haben möchten, kaufen Sie einen Programmierer, das Bild und alles, was Sie brauchen, um das Bild von Anfang an auszuführen. Sie können Geld sparen und ein Steckbrett verwenden.
Ich denke, dass ich dann mit dem PicKit 2 Starter Kit weitermachen und nach und nach neue Chips/Boards hinzufügen werde. Dies scheint zunächst eine recht günstige Option zu sein, da ich das Kit direkt von Microchip für 31,24 £ erhalten kann, das ein Entwicklungsboard und einen Chip (16f690) enthält. Prost, jetzt finden Sie einige anständige Tutorials / Bücher.
Hey, wenn Sie es mit einem Konto bestellen, das Sie mit einer .edu-E-Mail registriert haben, erhalten Sie 25 % Rabatt.
MicrochipDirect hat einen Abschnitt in Großbritannien, der sich möglicherweise von dem in den USA unterscheidet. Mein Schulkonto endet auf .co.uk, wenn sie hier speziell für Schulen registriert sind, enden sie in der Regel auf .sch.uk, Universitäten in der Regel auf .ac.uk. Ich könnte sehen, ob sie sowieso Rabatte haben, obwohl es zu meinem Vorteil ist, nicht zu dem der Schule, sie neigen dazu, so flexibel zu sein.
Der Rabatt hat nichts mit dem Vorteil der Schule zu tun, es geht darum, einem Studenten (Uni) nicht so viel zu berechnen. Ich würde vorschlagen, versuchen Sie Ihr Glück.
Ich meinte, da unser Domainname auf .co.uk endet, müsste die Schule wahrscheinlich meinen Link zu ihnen überprüfen. Aber sie können solche Dinge ganz gut, auch wenn der Nutzen für die Schule nicht sofort ersichtlich ist. Obwohl ich, wenn ich nicht aufpasse, im nächsten Jahr willkürlich ausgewählten Schülern Elektronik beibringen werde, da das manchmal der Lauf der Dinge zu sein scheint, besonders wenn die Tories reinkommen.
Ohh, ich habe verstanden, ich habe ziemlich viele Freunde aus Großbritannien. Ich habe Ihnen gerade gesagt, dass ein Student alles ist, was sie brauchen, es kann ein persönliches Projekt sein.

Für den PIC gibt es einen Open-Source-Compiler namens JAL (Just Another Language)

Wie andere Programmiersprachen ermöglicht es die Verwendung von Hardwarebibliotheken, um den Prozess des Anschließens Ihres gewählten PIC an andere Hardware erheblich zu vereinfachen. Die Software ermöglicht es Ihnen auch, Programme über Ihren PIC2 (oder einen Klon dieses Programmiergeräts) zu kompilieren und hochzuladen.

JAL ist eine auf Pascal basierende Sprache und ist freie Software (immer schön, wenn Sie gerade erst anfangen)

JAL-Wiki-Eintrag

Was die Bücher betrifft, so ist „PIC-Mikrocontroller, 50 Projekte für Anfänger und Experten“ von Bert Van Dam als Einführung in JAL einen Blick wert

Bisher habe ich nur den 16F877A-Chip von PIC verwendet, anscheinend ein guter Anfänger-Chip. Ziemlich billig und viele Ports verfügbar.

Tschüss, ich schau mal. Verwendet JAL eine bestimmte IDE, gibt es eine für Linux?
Ja, es hat eines namens JAL Edit, es hält Sie direkt auf der Codierungsseite und hat die typischen Tools, die Sie normalerweise auf jal.sunish.net/jaledit der IDE finden
Leider ist das nur Windows, es scheint eine für Linux namens PicShell zu geben, die aktuelle Beta ist unter: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…

Schauen Sie sich für Chips die 18F-Serie an, die fast so billig ist wie die 16F, die viel mehr Mut hat. 18F2550 ist ein schöner Chip und enthält USB, es gibt andere in der gleichen Serie. Werfen Sie einen Blick auf die Auswahltabellen für Mikrochips auf ihrer Website.

Kostenlose IDE von Mikrochip einschließlich C, die Sie IMHO über Assembler verwenden sollten. Nicht sicher, ob Microchip IDE unter Linux läuft, aber es könnte sein.

PicKit kann gut zum Programmieren sein, vielleicht möchten Sie beim ersten Mal einen Bootloader brennen und dann über USB booten. Der Bitwacker (google it) ist ein nettes Setup zum Verwenden oder Kopieren.

Es gibt eine Menge Foren und andere Seiten, einfach googlen. Ein Problem mit dem PIC ist, dass es so viele Sprachen gibt und keine ganz gleich ist (sogar innerhalb von C-Compilern). Wenn Sie eine gute Frage schreiben können, stellen Sie sie auf piclist.com, aber machen Sie zuerst Ihre Hausaufgaben. Foren sind nicht der beste Ort zum Lernen, suchen Sie nach Tutorial-Sites dafür (wieder ist die Bitwacher-Site gut, auch google "Embedded Adventures", der Typ hat viel in C gemacht (aber nicht die Microchip-Site)

Ich habe Embedded Adventures mit einem Lesezeichen versehen, wenn ich ein oder zwei Stunden totzuschlagen habe, und mir den Bitwacker als zukünftige Referenz angesehen. Beifall.

Das Dwengo-Board basiert auf dem PIC18F4550, sie haben auch einen kostengünstigen PICkit2-Klon und einige sehr gute Tutorials, um Ihnen den Einstieg zu erleichtern: http://www.dwengo.org/tutorials

Interessant. Du wärst nicht derselbe Wim, der auch Mitglied des Dwengo-Teams ist, oder?
Ja, das gleiche ;-)

Für Referenzen zu einigen Sachen, ich habe ein wenig mit dem PIC mit Pik Kit 2 Pickit 1 programmiert, ich würde die 100 Mikrocontroller-Projekte für das böse Genie empfehlen, ich habe auch einige Blog-Beiträge, die sich mit solchen Dingen befassen

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Ich plane, ein SPI-Update zu veröffentlichen, und wenn ich herausfinde, wie ich mit einigen Mikrochip-Chips mit dem CAN-Bus-Verkehr umgehen kann, werde ich auch dann Updates haben.

Danke dir,

onaclov

Sieht interessant aus, ich werde mir Ihre Sachen genauer ansehen, wenn ich eine Minute Zeit habe.
Ich weiß vielleicht einfach nicht, wo ich die ganze Zeit suchen soll, aber im Vergleich zu avr und arduino gibt es praktisch keine Tutorials zu PICs und das würde ich wirklich gerne ändern ....

Wenn Sie PICs verwenden möchten, würde ich ernsthaft die PIC24-Serie von 16-Bit-Bildern oder das sehr ähnliche dsPIC33 in Betracht ziehen. Sie sind schneller, leistungsfähiger, in vielerlei Hinsicht einfacher zu programmieren und kosten nicht mehr als die einfachsten 8-Bit-Programme. Die unteren sind auch in Breadboard-freundlichen DIP-Sockelpaketen erhältlich.

Es ist zwar viel schwieriger, Beispiele im Internet zu finden, aber soweit ich sehen kann, ist das der Hauptnachteil.