Hallo zusammen,
PIC-Mikrocontroller lassen sich relativ einfach selbst programmieren, wenn man Grundkenntnisse in BASIC oder einer anderen Programmiersprache besitzt. Um auf den Geschmack der PIC-Programmierung zu kommen, muss man noch nicht einmal Geld ausgeben. Für den absoluten Anfänger möchte ich hier ein paar grundlegende Tipps geben, wie man vorzugehen hat.
Unter http://www.il-online.de/il_indx1.htm findet man im Downloadbereich einen kostenlosen BASIC-Compiler von DD4GS für den PIC 16F84(A). Diese Demo-Version kann zwar nicht den vollen Umfang der Leistungsfähigkeit des inzwischen schon in die Jahre gekommenen 16F84A ausschöpfen, zum Üben und für kleinere Projekte reicht es aber. Mit der beigefügten Hilfe kommt man gut klar.
Einfache Aufgaben wie z.B. die Steuerlogik für die Bandumschaltung eines QRP-TRX, ein automatischer Rufzeichengebers in CW oder die Verwirklichung eines Sequenzers lassen sich damit selbst von Anfängern relativ schnell in den Griff bekommen.
Unter http://www.janson-soft.de/amateurfunk/zaehler02.txt
habe ich mal ein einfaches Beispiel-Listing (Quellcode) in BASIC abgelegt. Es lässt zwei LEDs abwechselnd blinken und auf der Punktmatrixanzeige kann man die verstrichenen Sekunden seit dem Einschalten des Programms ablesen. Man könnte das Programm zu einem Timer erweitern, um damit z.B. die Leiterplattenbelichtung zu steuern. Nachfolgend ein Bild meines Versuchsaufbaus, der gleichzeitig als Experimentierplatine dient. Die Punktmatrixanzeige habe ich steckbar befestigt.
[Blockierte Grafik: http://www.janson-soft.de/amateurfunk/pic-experiment.jpg]
Wie mann die Punktmatrixanzeige verdrahtet, ist in der Hilfe des BASIC-Compilers beschrieben.
Wie man die beiden LEDs anschließt und grundlegende Informationen zur Beschaltung der PICs findet man unter http://www.sprut.de/electronic/pic/index.htm beschrieben. Für die Einarbeitung erleichtert es ungemein, wenn man weiß, dass man bestimmte Pins - die Ports - des PICs softwaremäßig entweder als Eingänge oder Ausgänge beschalten kann (I/O-Ports = Input/Output-Ports).
Um die Software, die in diesem Fall Firmware heißt, in den PIC zu bekommen, muss man den BASIC-Quelltext in einen HEX-Code umwandeln, was man mit dem Compiler vornimmt. Der HEX-Code besteht aus einer für die allermeisten Menschen völlig unverständlichen Zahlen- und Buchstabenkombination.
Dieser HEX-Code wird nun mit einem Brenner in den PIC gebrannt. Dieses Brennen nennt man auch Flashen, da man die PICs der F-Serie fast beliebig oft überschreiben kann, weshalb die PICs im Hobbybereich so beliebt sind. Unter http://www.janson-soft.de/pic/pic-dl.htm ist ein einfacher Brenner beschrieben, den man mit der seriellen Schnittstelle des Computers verbindet. Auf dieser Seite ist auch ein Link zu einer kostenlosen Brenner-Software enthalten.
Wenn ich dem Anfänger mit diesen kurzen und einleitenden Hinweisen Mut machen konnte, sich an die PIC-Programmierung zu wagen, habe ich mein Ziel erreicht.