Einfache LED Platine für Pickit2 Low Pin Count Demo Board

LED Platine für Pickit2 Low Pin Count Demo Board

Da ich ja so gut wie immer mit dem Pickit 2 arbeite, habe ich mir eine kleine Adapterplatine gebastelt, welche die auf dem mitgelieferten Low Pin Count Demo Board vorhandene Stiftleiste nutzt. Darauf sind einfach 5 LEDs mit 220 180 Ohm Vorwiderstand angebracht, die mir als Monitor für die als Ausgänge geschalteten Ports des 12F675 (und pinkompatiblen) dienen.

Weiterlesen

PIC 12F67X und der OSCCAL Wert

Ergänzung zum Thema PIC 12F675:

Einige PIC’s (wie auch der 12F675) können mit ihrem internen Oszillator betrieben werden. Da dieser recht große Toleranzen aufweist, wurde für jeden PIC ab Werk ein Kalibirierwert ermittelt. Dieser Wert liegt in der letzten Speicherzelle des Programmspeichers (0x3FF) und sollte beim Start in das Osccal Register geschrieben werden. In meinem Beispielprogramm ist das missverständlich beschrieben, die Teile, die in der Initialisierung das OSCCAL Register betreffen am besten löschen wenn man damit keine Erfahrung hat. (Ich habe diese Zeilen eigentlich nur zu Experimenten eingefügt und übersehen :oops: )

Weiterlesen

Quick & Dirty – simple Schaltung für PIC 12F675

Grundsätzlich: Dies ist keine Schaltung, die ich als professionell einstufen würde, es ist wirklich eine ‚Quick & Dirty‘ Lösung – auch wenn einige davon bei mir seit Jahren funktionieren.

Da der PIC 12F675 (und andere) recht anspruchslos ist, kann man ihn mit einem Minimum an Bauteilen zum Leben erwecken.

Ich habe mal eine kleine  und schnell zu bauende Lösung gesucht, um eine LED an einer 12V Rollerbatterie zum Blinken zu bringen. Dazu reichten incl. LED und µController sieben Bauteile. Klar hätte auch eine Blink LED gereicht, hatte ich aber gerade nicht da und es sollte später auch noch etwas an Elektronik dazukommen, zusätzlich war mir die Blinkfrequenz einer käuflichen Blink LED zu gering.

Also habe ich mit Bauteilen aus der Kramkiste folgendes aufgebaut:

12f675_Quick_&_Dirty

Es gibt natürlich bei so einer improvisierten Lösung auch einiges zu beachten! Also bitte weiterlesen!

 

 

 

  • Der max. Strom wird durch R1 bestimmt, mehr kann aus dem PIC nicht heraus kommen
  • R1 ist so zu berechnen, das die Z-Diode nicht überlastet wird
  • Bei zu hoher Last an D1/R1 kann das Ganze zu warm werden
  • Wenn nur C1 verwendet wird, MUSS die Betriebsspannung sauber und halbwegs stabil sein, ansonsten noch ’nen kleinen Elko einsetzen!
  •  Ist das eine Schaltung, die man durch was besseres ersetzen sollte :-)

 

 

PIC Programmieren mit MPLAB (Teil 2) und PIC 12F675

Ich habe mal eine Assembler Datei erstellt, die ein Programm für einen einfachen Blinker erzeugt.  Eine auf der Uniplatine angeschlossene LED blinkt an Port GP2 (+-/ O3) im ungefähr 0,5 Sekundentakt. Die .asm Datei wird (wie in MPLAB Teil 1 beschrieben) sinnvollerweise in ein Projekt eingebunden.

Die Einstellungen des PIC (die configuration Bits) sind in diesem Beispiel NICHT im Programm festgelegt, das muss in MPLAB mit „Configure -> Configuration Bits“ manuell festgelegt werden.

 

 

 

 

 

In MPLAB wird die Konfiguration so beim Brennen festgelegt, bei anderen Programmiergeräten muss dies über das jeweilige Programm geschehen!

 

 

 

Bitte beachten, das der Vorwiderstand für die LED (bei Originalschaltung irgendwas um 300 Ohm) noch zusätzlich eingesetzt werden muss!

Ich werde dieses Programm hier nach und nach ‚zerlegen‘ und erläutern, falls Bedarf besteht. Es sind Kommentare im Programm eingefügt, da diese aber natürlich hauptsächlich als eigene Gedankenstütze gedacht waren, könnte es gut sein, das jemand anderes da doch Probleme bekommt :-D ;-)

Downloads:

12F675.asm (ungepackt)

12F675.zip (ZIP gepackt)

 Zurück zu Teil 1

 




reichelt elektronik – Elektronik und PC-Technik

 

PIC Programmieren mit MPLAB (Teil 1)

Vorweg:

Wer sich näher mit dem Programmieren von Microchip PIC Microcontrollern beschäftigen möchte, dem sei die Homepage von SPRUT an’s Herz gelegt! So viele Details wie er im Laufe der Zeit beschrieben hat, kann ich gar nicht nachreichen.

In den Beiträgen zu MPLAB werde ich schrittweise versuchen, einen einfachen Weg aufzuzeigen, mit dem man mit dieser Programmier IDE erfolgreich arbeiten kann. Mir ist bewußt, daß diese IDE noch mehr zu bieten hat als vielleicht manchmal beschreiben, ich denke aber, daß es gerade zu Beginn nicht allzutief in die Materie gehen muß soll. In diesem Beitrag beziehe ich mich auf die MPLAB Version 8.1! Mit der neuen X Version habe ich noch keine Erfahrung, ggf. reiche ich das nach, ich bin aktuell aus Weiterlesen

Projekt Unischaltung Ergänzungen

Wegen der Nachfragen:

Ich erstelle noch eine kleine Beschreibung der Schaltung mit den möglichen Optionen bzw. Änderungen. Kommt in den nächsten Tagen!

 





Unischaltung für PIC 12F675

Eine Schaltung für Vieles 

Bei kleineren Aufgaben greife ich sehr oft auf einen PIC 12F675 zurück.

Er bietet 5 I/O Ports, von denen einige sogar als AD Wandler arbeiten können. Wenn nicht gerade ein LCD-Display oder ähnliches angesteuert werden soll, reicht sein Funktionsumfang meist aus, zumal er nur so um 1,20-1,50 € kostet.

Mit dieser Schaltung habe ich u.a. schon Modellbauservos, Faller-Car-System Stoppspulennachbauten, alle möglichen Lichteffekte und vieles mehr aufgebaut.

Wer sich irgendwas aus meinen Projekten zunutze machen möchte, kann davon ausgehen, dass dies die Beschaltung ist. Wenn nicht, weise ich natürlich darauf hin ;-)

Unischaltung PIC 12F675

Die Schaltung bietet 3 Openkollektor Ausgänge und 2 Eingänge mit externem Pull-up Widerstand. Die Eingänge können natürlich auch als Ausgänge genutzt werden, dann einfach die Pullup’s weglassen und den Imax des PIC beachten. Für einzelne Leuchtdioden hat es bisher allemal gereicht.

Die Schaltung ist absolut unkritisch. Solange man sich an die Pinbelegung des Controllers hält (um eben kompatibel zur Software zu bleiben), kann man so ziemlich alles ändern. Ich gehe an dieser Stelle mal davon aus, dass Kenntnisse zum Thema Transistor, U/R/I und Co vorhanden sind. Wenn es an der Stelle doch Fragen gibt bitte melden, ich versuche dann mal ein kleines ‚How to…‘ aufzubauen. Das steht eigentlich eh auf dem Plan… irgendwann :-D Die Funktionsbeschreibung der Schaltung reiche ich aber noch nach!

Folgendes sollte aber beachtet werden:

  • Die Schaltung bietet kein ICSP, es muss extern programmiert werden
  • Viel mehr als 5,5V sollte man dem PIC nicht zumuten, besser weniger (3-5V haben bei mir immer funktioniert.
  • R1 muss mit ca. 10-20k vorhanden sein damit der PIC arbeitet (Masse auf Pin 4 löst einen Reset aus!)
  • C4 sollte als Stützkondensator vorhanden sein

 

Programmieren

Irgendwie fehlt es mir im Moment an der Fähigkeit, den Computer auch Dinge machen zu lassen, die nicht per fertig zu bekommender Software erledigt werden können.

In grauer Vorzeit habe ich das meiste mal via Turbopascal erledigt, aber das ist  ja nicht mehr so richtig aktuell (obwohl fast alles noch in einer DOS Box läuft…). Ich will aber auch an die neuen Schnittstellen (USB vor allem) ran, außerdem möchte ich es doch mal etwas komfortabler bei der Programmierumgebung haben. Aber welche Sprache wählt man… Ich werde mich sicherlich noch weiter in das Thema einlesen,  bisher neige ich zu C++ oder JAVA, Anregungen sind herzlich willkommen :-)