PIC-Programmierung starten

13

Ich habe versucht, eine PIC-Programmierung durchzuführen, aber im Gegensatz zu einigen anderen verfügbaren Mikrocontrollern hat mich die bloße Anzahl der verfügbaren Chips verwirrt. Es scheint auch, dass einige der Chips, die auf einigen Websites als gute Wahl für Leute vorgeschlagen wurden, die mit der PIC-Programmierung beginnen, abgelöst wurden (oder dass ich nur noch verwirrter werde).

Meine Frage besteht also aus drei Teilen:

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

  • Ich bin ziemlich glücklich, Assembler oder eine andere Sprache zu beherrschen. 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 übertragen, und welche Platinen- / 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 beschlossen, mit dem PicKit2 Starter Kit zu beginnen. Dies wird mit einem PIC16F690-Chip geliefert.

Amos
quelle

Antworten:

7

Ich bin mit PIC18 einverstanden, aber für jemanden, der gerade erst anfängt, können sie ein bisschen intensiv sein. Gegenwärtig unterrichte ich leitende Elektrotechniker in der PIC-Entwicklung, und selbst in den gleichen Klassen kann ihr Hintergrund erstaunlich sein.

Momentan unterrichte ich Leute mit dem CCS PIC-C Compiler, aber es kostet Geld. Es ist unglaublich einfach und wurde ausgewählt, da die meisten unserer Schüler nur in einer Laborumgebung mit Basisassemblierung oder x86-Programmierung gearbeitet haben.

Ich habe das Gefühl, dass ein sehr einfaches PIC16 besser passt, aber es hängt von Ihrem Hintergrund ab. Das PIC16F688 ist ein sehr einfaches PIC, das wir für unser erstes Projekt zum Aufwärmen von Menschen verwenden.

Kortuk
quelle
1
Ich habe einen First Class Honours Degree in Computing, der viel Programmierung beinhaltete (hauptsächlich C ++, ein bisschen VB6, etwas Assembler). Ich habe auch einen Abschluss in Mathematik und unterrichte Gymnasiasten in Mathematik. Ich kann und mache Programme in einer Vielzahl von Sprachen (aber nicht in C) und beschäftige mich mit verschiedenen neuen Dingen, einschließlich des Spielens mit Mikrocontrollern.
Amos
1
Der 16F88 ist eine perfekte Wahl. Es gibt eine Million verschiedene PICs, und ich denke, dass ungefähr 50.000 davon für den Start gut sind. Programmierung Mikrocontroller haben sehr oft Probleme mit Leuten, denen ich mit einem CS-Hintergrund geholfen habe, weil sie nicht viele Kurse über Elektrizität belegen, was ich mir wünschte, sie würden zu Studiengängen hinzufügen. Ich denke nicht, dass die Programmierung eine Herausforderung sein wird, aber es wäre wahrscheinlich keine schlechte Wahl, ein Entwicklungsboard zu bekommen. Dies würde durch Ihre Preisspanne beeinflusst. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Kortuk
1
Ich denke, dass der letzte Link, den ich gepostet habe, eine gute Wahl sein könnte. Er gibt Ihnen ein Board, das bereits für 50 Dollar für die Arbeit verkabelt ist (-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 freue mich auf Ihre Projekte.
Kortuk
1
Wenn Sie das DM164120-1 erhalten, würde ich vorschlagen, dass Sie das PIC verwenden, das mit ihm kommt. Ich bin gerade dabei, jemandem bei einem Projekt zu helfen, das er morgen unterrichten muss, oder ich würde mehr suchen, aber an jedem Ort, an dem ich dein Board finde, finde ich es nicht schematisch. Ich kann Ihnen anhand der Pinbelegung des PIC16F631 sagen, dass er nicht mit einem PIC16F88 kompatibel ist. Die Stromversorgungs- und Programmierstifte werden nicht ausgerichtet. Wenn Sie ein Entwicklungsboard kaufen, verwenden Sie einfach das mitgelieferte PIC. Sie werden deutlich zufriedener sein.
Kortuk,
2
Ja, Sie haben gut recherchiert. Meine Hilfe war vielleicht ein bisschen fehlgeleitet. Wenn Sie Ihre Füße nass machen möchten, können Sie mit einem Entwicklungsboard vermeiden, dass Sie sich mit der Hardware für die Erstellung eines PIC beschäftigen, bevor Sie fertig sind. Wenn Sie diesen Weg gehen, würde ich vorschlagen, den mit dem Board gelieferten PIC zu verwenden und Ihre nächste Auswahl an 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 benötigen, um das Bild von Anfang an zu starten. Sie können Geld sparen und ein Steckbrett verwenden.
Kortuk,
4

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

Wie in anderen Programmiersprachen bietet es die Möglichkeit, Hardware-Bibliotheken zu verwenden, um das Anschließen des ausgewählten PIC an andere Hardware erheblich zu vereinfachen. Die Software ermöglicht es Ihnen auch, Programme über Ihren PIC2 (oder einen Klon dieses Programmierers) zu kompilieren und hochzuladen.

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

JAL Wiki Eintrag

In Bezug auf Bücher "PIC Microcontroller, 50 Projekte für Anfänger und Experten" von Bert Van Dam lohnt sich ein Blick als Einführung in JAL

Bisher habe ich nur den 16F877A-Chip von PIC verwendet, anscheinend ein guter Anfänger-Chip. Ziemlich billig und viele Häfen zur Verfügung.

Justblair
quelle
Prost, ich schau mal. Verwendet JAL eine bestimmte IDE, eine für Linux?
Amos
1
Ja, es hat einen namens JAL Edit, der Sie auf der Codierungsseite hält und über die typischen Tools verfügt, die Sie auf IDE's jal.sunish.net/jaledit finden
Justblair 18.11.09
Leider ist das nur Windows, es scheint jedoch eines für Linux namens PicShell zu geben. Die aktuelle Beta ist unter: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos
2

Für den Chip-Look ist die 18F-Serie fast so günstig wie die 16F, viel mehr Mut. 18F2550 ist ein netter Chip und enthält USB, es gibt andere in der gleichen Serie. Schauen Sie sich die Auswahltabellen für Mikrochips auf ihrer Website an.

Kostenlose IDE von Mikrochip einschließlich C, die Sie über Assembler IMHO verwenden sollten. Ich bin mir nicht sicher, ob microchip IDE unter Linux läuft, aber es kann sein.

PicKit ist möglicherweise gut für die Programmierung geeignet. Sie möchten möglicherweise einen Bootloader das erste Mal brennen und dann über USB booten. Der Bitwacker (google it) ist ein schönes Setup zum benutzen oder kopieren.

Es gibt eine Menge Foren und andere Websites, nur Google. 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, fragen 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" hat der Typ eine Menge in C gemacht (aber nicht der Mikrochip)

russ_hensel
quelle
Ich habe Embedded Adventures mit einem Lesezeichen versehen, wenn ich ein oder zwei Stunden Zeit zum Töten habe, und mir den Bitwacker als Referenz für die Zukunft angesehen. Prost.
Amos
1

Das Dwengo-Board basiert auf dem PIC18F4550. Es enthält außerdem einen kostengünstigen PICkit2-Klon und einige sehr gute Tutorials, die Ihnen den Einstieg erleichtern: http://www.dwengo.org/tutorials

Wim
quelle
Interessant. Sie wären nicht derselbe Wim, der auch zum Dwengo-Team gehört, oder?
Amos
Ja, das gleiche ;-)
Wim
1

Für Verweise auf einige Dinge habe ich mit dem PIC mit Pik Kit 2 ein wenig programmiert Pickit 1 , ich würde die 100 Mikrocontroller-Projekte für das böse Genie empfehlen, ich habe auch einige Blog-Posts, die sich mit solchen Dingen beschäftigen

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 habe vor, ein SPI-Update zu veröffentlichen. Wenn ich herausfinde, wie ich mit dem CAN-Bus-Verkehr mit einigen Mikrochip-Chips umgehen soll, werde ich auch Updates haben.

Vielen Dank,

onaclov

onaclov2000
quelle
Sieht interessant aus, ich werde mir deine Sachen genauer ansehen, wenn ich eine Minute Zeit habe.
Amos
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 ich würde das wirklich gerne ändern ...
onaclov2000
1

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

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

John Burton
quelle