<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=194.76.64.12</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=194.76.64.12"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/194.76.64.12"/>
	<updated>2026-04-10T23:38:40Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78017</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78017"/>
		<updated>2013-08-14T07:18:33Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Oft entschließen sich alte Leute, noch einmal Säx zu haben. Wenn die Vagina aber nicht feucht wird, ist es möglich, einfach die Kruste wegzukratzen, sodass es eitert. Dann müsste es eigentlich flutschen. Wenn das doch mal nicht funktioniert, kann der Mann darauf setzen, dass die Oma auch mit der Hand nach helfen kann. Viele alte Menschen stehen drauf, beim letzten Mal gefilmt zu werden. Mit solchen P0rn0filmen lässt sich manchmal die Rente etwas aufbessern, weil diese bei Google leicht zu finden sind. Na dann viel Spaß, ihr alten Knacker!&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [http://www.raabraxas.de/wiesel-600.gif Wiesel Attax]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== Was würde passieren, wenn sich die Welt 30 mal schneller drehen würde? Die Männer hätten jeden Tag Zahltag und die Frauen würden verbluten! :D ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78016</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78016"/>
		<updated>2013-08-14T07:17:16Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Oft entschließen sich alte Leute, noch einmal Säx zu haben. Wenn die Vagina aber nicht feucht wird, ist es möglich, einfach die Kruste wegzukratzen, sodass es eitert. Dann müsste es eigentlich flutschen. Wenn das doch mal nicht funktioniert, kann der Mann darauf setzen, dass die Oma auch mit der Hand nach helfen kann. Viele alte Menschen stehen drauf, beim letzten Mal gefilmt zu werden. Mit solchen P0rn0filmen lässt sich manchmal die Rente etwas aufbessern, weil diese bei Google leicht zu finden sind. Na dann viel Spaß, ihr alten Knacker!&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax http://www.raabraxas.de/wiesel-600.gif]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== Was würde passieren, wenn sich die Welt 30 mal schneller drehen würde? Die Männer hätten jeden Tag Zahltag und die Frauen würden verbluten! :D ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78015</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78015"/>
		<updated>2013-08-14T07:16:53Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Oft entschließen sich alte Leute, noch einmal Säx zu haben. Wenn die Vagina aber nicht feucht wird, ist es möglich, einfach die Kruste wegzukratzen, sodass es eitert. Dann müsste es eigentlich flutschen. Wenn das doch mal nicht funktioniert, kann der Mann darauf setzen, dass die Oma auch mit der Hand nach helfen kann. Viele alte Menschen stehen drauf, beim letzten Mal gefilmt zu werden. Mit solchen P0rn0filmen lässt sich manchmal die Rente etwas aufbessern, weil diese bei Google leicht zu finden sind. Na dann viel Spaß, ihr alten Knacker!&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax[http://www.raabraxas.de/wiesel-600.gif]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== Was würde passieren, wenn sich die Welt 30 mal schneller drehen würde? Die Männer hätten jeden Tag Zahltag und die Frauen würden verbluten! :D ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78014</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78014"/>
		<updated>2013-08-14T07:16:38Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Oft entschließen sich alte Leute, noch einmal Säx zu haben. Wenn die Vagina aber nicht feucht wird, ist es möglich, einfach die Kruste wegzukratzen, sodass es eitert. Dann müsste es eigentlich flutschen. Wenn das doch mal nicht funktioniert, kann der Mann darauf setzen, dass die Oma auch mit der Hand nach helfen kann. Viele alte Menschen stehen drauf, beim letzten Mal gefilmt zu werden. Mit solchen P0rn0filmen lässt sich manchmal die Rente etwas aufbessern, weil diese bei Google leicht zu finden sind. Na dann viel Spaß, ihr alten Knacker!&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]][[http://www.raabraxas.de/wiesel-600.gif]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== Was würde passieren, wenn sich die Welt 30 mal schneller drehen würde? Die Männer hätten jeden Tag Zahltag und die Frauen würden verbluten! :D ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78013</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78013"/>
		<updated>2013-08-14T07:16:36Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]][[http://www.raabraxas.de/wiesel-600.gif]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== Was würde passieren, wenn sich die Welt 30 mal schneller drehen würde? Die Männer hätten jeden Tag Zahltag und die Frauen würden verbluten! :D ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78012</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78012"/>
		<updated>2013-08-14T07:16:23Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]][[http://www.raabraxas.de/wiesel-600.gif]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78011</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78011"/>
		<updated>2013-08-14T07:14:40Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Wer hat bock auf Frühstück */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78010</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78010"/>
		<updated>2013-08-14T07:14:27Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78009</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78009"/>
		<updated>2013-08-14T07:12:50Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Ficken (umgangssprachlich Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78008</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78008"/>
		<updated>2013-08-14T07:12:45Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Sex (umgangssprachlich Ficken, Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
http://www.gailbergerwilhelm-naturfoto.com/hpfixgal_saeugetiere_wiesel_oder_hermelin_08_11_2008_20_44_08.jpg&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78007</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78007"/>
		<updated>2013-08-14T07:12:33Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock zu Ficken? ==&lt;br /&gt;
&lt;br /&gt;
Unter Sex (umgangssprachlich Ficken, Vögeln, Bumsen, Pimpern, Hämmern, Nageln, Wegflanken, Schnacksln, Pudern, Spargeln, doodeln oder rammeln) versteht man sexuelle Handlungen zwischen zwei oder mehr Lebewesen, die sich besonders sympathisch finden und/oder sich näher kennenlernen wollen oder die einfach nur Druck abbauen müssen. Sex wird von bestimmten Personengruppen mit der Kirche in Verbindung gebracht. Sie sagen, die katholische Kirche ist verbreiteter, weil sie mehr in den Nachwuchs steckt. Andere sehen darin den Sinn des Lebens, oder auch nur &amp;quot;die schönste Hauptsache Nebensache der Welt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78006</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78006"/>
		<updated>2013-08-14T07:11:07Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://Sprut.de I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78005</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78005"/>
		<updated>2013-08-14T07:10:26Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
Etwa seit Anfang des 20. Jahrhunderts wird das Wiesel als Synonym für Personen verwendet, die:&lt;br /&gt;
&lt;br /&gt;
    Entweder aus unbekannten oder geringwertigen Gründen Wagnisse eingehen&lt;br /&gt;
    oder einmal im Fokus allen Interesses stehen und danach völlig in Vergessenheit geraten. &lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele sind der Hochseilartist Phillippe Petit, der 1974 aus nicht vollständig geklärten zwischen den Twin Towers im Sprung eine Wäscheleine spannte, und der Komiker Gerd Holster, der mit seinen abfälligen Bemerkungen über die Politik 1941 Aufsehen erregte, dann aber plötzlich von der Bildfläche verschwand.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78004</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78004"/>
		<updated>2013-08-14T07:09:49Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Das Wiesel ist ein Fabelwesen. Seine einzige Erwähnung findet es in dem doch recht kurzen Morgensterngedicht &amp;quot;Das ästhetische Wiesel&amp;quot;, welches 2008 postmortem den Bambi für das Gedicht mit dem irritierendsten Titel bekam.&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78003</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78003"/>
		<updated>2013-08-14T07:09:03Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Als Wiesel werden mehrere Raubtierarten aus der Gattung Mustela innerhalb der Familie der Marder (Mustelidae) bezeichnet. Die Benennung ist jedoch keine systematische, da mehrere „Wiesel“ beispielsweise näher mit dem Europäischen Nerz verwandt sind als untereinander. In Europa sind zwei Arten beheimatet, das Mauswiesel und das Hermelin.&#039;&#039;&lt;br /&gt;
P.s.: Der Wiesel ist verwand mit dem Vielfraß&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78002</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78002"/>
		<updated>2013-08-14T07:08:20Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Als Wiesel werden mehrere Raubtierarten aus der Gattung Mustela innerhalb der Familie der Marder (Mustelidae) bezeichnet. Die Benennung ist jedoch keine systematische, da mehrere „Wiesel“ beispielsweise näher mit dem Europäischen Nerz verwandt sind als untereinander. In Europa sind zwei Arten beheimatet, das Mauswiesel und das Hermelin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Frühstück&amp;quot; enthält zwei &amp;quot;Ü&amp;quot;. Es stammt nämlich aus dem Türkischen und leitet sich vom Wort &amp;quot;Frįû-štąîühckìį&amp;quot; ab, was so viel heißt wie &amp;quot;Zeitliche Nahrung&amp;quot;. Im Englischen verwendet man das Wort &amp;quot;breakfast&amp;quot;, das im dort nahegelegenen Norwegen seinen Ursprung hat: &amp;quot;Bråøk&amp;quot; heißt dort &amp;quot;Brechen, Erbrechen&amp;quot; und &amp;quot;Fåæst&amp;quot; bedeutet &amp;quot;Fett&amp;quot;. &lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78001</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78001"/>
		<updated>2013-08-14T07:08:05Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039; &#039;&#039;Als Wiesel werden mehrere Raubtierarten aus der Gattung Mustela innerhalb der Familie der Marder (Mustelidae) bezeichnet. Die Benennung ist jedoch keine systematische, da mehrere „Wiesel“ beispielsweise näher mit dem Europäischen Nerz verwandt sind als untereinander. In Europa sind zwei Arten beheimatet, das Mauswiesel und das Hermelin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78000</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=78000"/>
		<updated>2013-08-14T07:07:33Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039;&#039;&#039;Als Wiesel werden mehrere Raubtierarten aus der Gattung Mustela innerhalb der Familie der Marder (Mustelidae) bezeichnet. Die Benennung ist jedoch keine systematische, da mehrere „Wiesel“ beispielsweise näher mit dem Europäischen Nerz verwandt sind als untereinander. In Europa sind zwei Arten beheimatet, das Mauswiesel und das Hermelin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77998</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77998"/>
		<updated>2013-08-14T07:07:15Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: weitere informationen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Info´s zum Wiesel:&#039;&#039;&#039;&#039;&#039;Als Wiesel werden mehrere Raubtierarten aus der Gattung Mustela innerhalb der Familie der Marder (Mustelidae) bezeichnet. Die Benennung ist jedoch keine systematische, da mehrere „Wiesel“ beispielsweise näher mit dem Europäischen Nerz verwandt sind als untereinander. In Europa sind zwei Arten beheimatet, das Mauswiesel und das Hermelin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77997</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77997"/>
		<updated>2013-08-14T07:07:03Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigendlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
Auch eine  andere Variabnte gibt es zum Thema Frühstück.&lt;br /&gt;
Das sogenannte Picknik wenn man vorgeben will umweltbewusst zu sein.&lt;br /&gt;
&lt;br /&gt;
Die korekte bedeutung für Picknick lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
Kleine Mahlzeit aus dem Sack !&lt;br /&gt;
(nachzulesen im Deutschen Duden.&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77996</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77996"/>
		<updated>2013-08-14T07:06:33Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
Weltweit verzehren 76% aller Menschen regelmäßig ein Frühstück. 10% des Frühstücksverzehrs findet in Europa, 7% in Asien, 0,0001% in Afrika, und die restlichen 179% in Amerika statt, wovon 160% auf die Kosten von den USA und 30% auf Kosten der ahornsirupsüchtigen, hirnpilzverseuchten Pullovergnomen von Kanadiern geht. 97% aller Leute die kein Frühstück zu sich nehmen, tun dies weil sie zu arm sind (das sind zu 110% Afrikaner), 2,999%, weil sie zu faul sind und 0&#039;001% sind über die Gefahren des Frühstücks aufgeklärt, das sind ca. 65.000 Personen, die meisten davon, ca. 49.000 Personen leben in Mitteleuropa.&lt;br /&gt;
&lt;br /&gt;
Jeder Mensch verbringt durchschnittlich 546,5 Stunden seines Lebens mit Frühstück. Gefrühstückt wird meistens zwischen 6:60 und 7,5h (oftmals auch unentschieden!). Die meisten Menschen haben zu wenig Zeit zum Frühstücken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77995</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77995"/>
		<updated>2013-08-14T07:06:17Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigentlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
*  [[Wiesel Attax]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77994</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77994"/>
		<updated>2013-08-14T07:05:51Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weltweit haben die Menschen verschiedene Frühstücksvorlieben:&lt;br /&gt;
&lt;br /&gt;
    USA: Speck, Eier Whisky und sonstiges, fettiges Junk und Fast Food, Nuttenfrühstück&lt;br /&gt;
    Kanada: Pfannkuchen mit Ahornsirup und Ahirnsirup&lt;br /&gt;
    Mexiko: Chili und Koks, Nuttenfrühstück&lt;br /&gt;
    Mittelamerika: Die übrigen Bananen von der Plantage - und Koks&lt;br /&gt;
    Südamerika: Höchstens Lamahaare&lt;br /&gt;
    Afrika: Nichts&lt;br /&gt;
    Island: Maulwurfinnereien (eine isländische Spezialität; vor allem mit Asche)&lt;br /&gt;
    Skandinavien: Müsli und Orangensaft&lt;br /&gt;
    Westeuropa: Tapas&lt;br /&gt;
    England und Wales: Speck mit Eiern und überbackene Erbsen (oder Linsen? Das weiß keiner so genau) in einer braunen Soße die nach Pfefferminz schmeckt.&lt;br /&gt;
    Schottland: Ein halbes Stück Fleisch vor einem Spiegel&lt;br /&gt;
    Irland (und Nordirland): Whiskey, Kleeblätter, Kobolde und Whiskey&lt;br /&gt;
    Mitteleuropa: Müsli und Brot, wahlweise Nuttenfrühstück&lt;br /&gt;
    Osteuropa: Gulasch, Zigeuneraufstrich usw., Nuttenfrühstück&lt;br /&gt;
    Russland: Kaviar&lt;br /&gt;
    Naher Osten: Entweder wenig oder etwas mit Öl&lt;br /&gt;
    Mittlerer Osten: Wenig, wenig.&lt;br /&gt;
    Ferner Osten: Fisch und Gras&lt;br /&gt;
    China: Hund (tot)&lt;br /&gt;
    Japan: Sushi&lt;br /&gt;
    Australien: Vageline, Spiegeleitoasts und Fleisch&lt;br /&gt;
    Ozeanien: Fisch&lt;br /&gt;
    Arktis: Robbenaugen, Robbenfleisch und Eisbärenexkremente (&amp;quot;Endlich was warmes!&amp;quot;)&lt;br /&gt;
    Antarktis: Schnee &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [[www.9gag.com]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77993</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77993"/>
		<updated>2013-08-14T07:05:35Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Frühstück, was ist das eigendlich? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [[www.9gag.com]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77992</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77992"/>
		<updated>2013-08-14T07:05:31Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: weil wegen ist so&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigentlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77991</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77991"/>
		<updated>2013-08-14T07:05:14Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 10kg pro 2 Personen&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigendlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77990</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77990"/>
		<updated>2013-08-14T07:02:38Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 3kg&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
&lt;br /&gt;
==Frühstück, was ist das eigendlich?==&lt;br /&gt;
Frühstück ist eine Bezeichnung der Ernährungsaufnahme von ca 7:00 Uhr bis 11:00. Diese Anwendung wird auch gerne in Schulen oder auf der Arbeit Zeitlich weiter ausgedeht. Unter anderem werden die oben aufgelisteten Zutaten verwenden, nicht zu vergessen die Brötchen!&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77989</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77989"/>
		<updated>2013-08-14T07:02:13Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Wer hat bock auf Frühstück */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 3kg&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier Kackhaufen&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Wiesel ist der rfPIC12F675. Dieser ist extra für RF, also Fickanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 PENIS. Allerdings geht der Spannungsbereich von 2Vn (Volle Nutten) bis hin zu 15Vn. Somit kann man diesen auch direkt in ein 12Vn-Huren-System stecken und spart sich ggf. Levelshifter beim Kacken. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77988</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77988"/>
		<updated>2013-08-14T07:00:00Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: Gesichtswurst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 3kg&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Gesichtswurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77987</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77987"/>
		<updated>2013-08-14T06:59:37Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Wer hat bock auf Frühstück */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 3kg&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Bärchenwurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
*Wiesel&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77986</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77986"/>
		<updated>2013-08-14T06:58:50Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*Mett 3kg&lt;br /&gt;
*Kääääääääse&lt;br /&gt;
*Bärchenwurst&lt;br /&gt;
*Die Leichte&lt;br /&gt;
*Kaffee&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77985</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77985"/>
		<updated>2013-08-14T06:58:36Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
*-Mett 3kg&lt;br /&gt;
*-Kääääääääse&lt;br /&gt;
*-Bärchenwurst&lt;br /&gt;
*-Die Leichte&lt;br /&gt;
*-Kaffee&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77984</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77984"/>
		<updated>2013-08-14T06:58:12Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-Mett 3kg&lt;br /&gt;
-Kääääääääse&lt;br /&gt;
-Bärchenwurst&lt;br /&gt;
-Die Leichte&lt;br /&gt;
-Kaffee&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77983</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77983"/>
		<updated>2013-08-14T06:58:10Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* 32 Bit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Fick-Kompatibel zu den 16 Bit Ficks. Die Homos der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Gayface. Es wurde außerdem auf Wiesel 32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit Wiesel können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger Wiesel [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77982</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77982"/>
		<updated>2013-08-14T06:56:53Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2325) || 3mio€ || 1mio€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.5637)|| 0,01€ || 0,02€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77981</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77981"/>
		<updated>2013-08-14T06:54:54Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Fick-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77980</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77980"/>
		<updated>2013-08-14T06:54:27Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://die-staemme.de; Reichelt]&lt;br /&gt;
* [http://siedler-online.de RS-Online]&lt;br /&gt;
* [https://ogame.de Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77979</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77979"/>
		<updated>2013-08-14T06:54:22Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „Fick“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77978</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77978"/>
		<updated>2013-08-14T06:52:18Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== Wer hat bock auf Frühstück ==&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=77977</id>
		<title>SMD Löten</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=77977"/>
		<updated>2013-08-14T06:52:01Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: Rechtschreibung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Löten]]&lt;br /&gt;
== Einlöten von SMD-Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Irgendwann ist man an dem Punkt angelangt, an dem man ein Bauteil braucht, das nur in [[SMD]] verfügbar ist. [[TI]] zum Beispiel bietet seine [[MSP430]]-[[Mikrocontroller]] ausschließlich in [[SMD]] an. Das ist dann der Zeitpunkt an dem man sich fragt: &amp;quot;Wie lötet man sowas?&amp;quot; Nun, es ist der größte sche*ß diese dinger zu löten. Lasst lieber die Finger davon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Handlöten ===&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
* Grundvoraussetzung ist ein Lötkolben mit entsprechender Lötspitze.&lt;br /&gt;
**Der Lötkolben sollte am besten der einer geregelten Lötstation sein. Die Einstellung der Lötstation sollte man halbwegs beherrschen. (Lötversuche an einer alten Platine sind in diesem Fall sehr hilfreich).&lt;br /&gt;
**Der Lötkolben sollte möglichst leicht und der vordere (heiße) Teil möglichst kurz sein. Je länger, desto mehr wird ein eventuelles Zittern der Hand verstärkt.&lt;br /&gt;
** Die Lötspitze sollte so dick sein, wie es noch gerade für die Aufgabe vertretbar ist. Nicht etwa die dünnste aufzutreibende Lötspitze. Was auf den ersten Blick widersprüchlich klingt (so dick wie es gerade noch geht), hat einen einfachen Grund: Die an der Spitze ankommende Wärme, die Wärmekapazität der Spitze und die Wärmeübertragung sind bei größeren Spitzen entsprechend besser. Daher geht das Löten mit einer größeren Spitze besser. Natürlich sollte man es nicht übertreiben, aber die 0,8-mm-Spitze ist häufig die falsche Wahl.&lt;br /&gt;
** Die Lötspitze sollte in einem guten bis erstklassigen Zustand sein.&lt;br /&gt;
&lt;br /&gt;
* Außerdem braucht man noch Entlötlitze. Hier sollte man die dünnste nehmen, die man bekommen kann. Breiter als 1,5 mm sollte sie nicht sein, eher dünner. Hat man keine passende zur Hand oder herrscht Geldmangel, so lassen sich auch die feinen Litzen eines abisolierten, flexiblen Silikonkabels für diesen Zweck missbrauchen.&lt;br /&gt;
&lt;br /&gt;
* Natürlich braucht man auch noch das Lötzinn, bestenfalls mit Flussmittel im Kern. 0,5 mm ist praktikabel, 0,23 mm ist bei kleinerem Pitch sehr zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
* Flüssiges Flussmittel in Stiftform mit eingebautem Pinsel oder Flussmittelgel aus der Spritze tun gute Dienste.&lt;br /&gt;
&lt;br /&gt;
* Schließlich ist auch noch eine Leiterplatte (PCB) vonnöten. Hier hat man entweder die Möglichkeit, sich eine bei den verschiedenen PCB-Herstellern fertigen zu lassen oder sie selber zu belichten und zu ätzen. Besonders bei Chips mit kleinem Pin-Abstand hilft eine Lötstoppmaske und die Vorverzinnung der Pads; die kleine Menge Zinn, die bei industriell gefertigten Platinen auf den Pads ist, reicht völlig aus, man braucht dann kein oder nicht viel extra Lötzinn.&lt;br /&gt;
&lt;br /&gt;
* Feine Pinzette. Billige tun es eher weniger.&lt;br /&gt;
&lt;br /&gt;
* Eine Lupe. Diese dient in erster Linie zur Kontrolle. Löten ist unter einer einfachen Lupe eher unangenehm und ein Notbehelf, da die Perspektive verloren geht. Eine Lupenbrille (gute können recht teuer sein) oder ein Stereomikroskop (teuer bis sehr teuer) wäre zum Löten die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Widerständen, Kondensatoren und anderen 2-Pinnern ====&lt;br /&gt;
&lt;br /&gt;
Es gibt diese Bauteile hauptsächlich in diesen Bauformen:&lt;br /&gt;
* 1206:  Länge: 3,20 mm  Breite: 1,60 mm (laufen langsam aus)&lt;br /&gt;
* 0805:  Länge: 2,00 mm  Breite: 1,25 mm&lt;br /&gt;
* 0603:  Länge: 1,60 mm  Breite: 0,80 mm (derzeit in der Industrie aktuell)&lt;br /&gt;
* 0402:  Länge: 1,00 mm  Breite: 0,50 mm (wird derzeit Standard in der Industrie)&lt;br /&gt;
* 0201:  Länge: 0,50 mm  Breite: 0,25 mm (Handy)&lt;br /&gt;
* 01005: Länge: 0,25 mm  Breite: 0,13 mm (Handy)&lt;br /&gt;
&lt;br /&gt;
Das Einlöten von 2-Pinnern ist sehr einfach. Es gibt eigentlich bloß einen kleinen Trick:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad auf der Leiterplatte verzinnen.&lt;br /&gt;
# Das Bauteil mit einer Pinzette in Endposition halten und leicht an beide Pads andrücken.&lt;br /&gt;
# Dabei das verzinnte Pad mit dem Lötkolben erwärmen. Das Bauteil ist nun einseitig eingelötet.&lt;br /&gt;
# Das zweite Pad normal löten.&lt;br /&gt;
# Anschließend evtl. das erste Pad nochmal kurz erhitzen.&lt;br /&gt;
&lt;br /&gt;
Und schon hat man das Bauteil eingelötet.&lt;br /&gt;
&lt;br /&gt;
Als Pinzette empfiehlt sich eine mit ca. 1 mm breiter Spitze, die als SMD-Pinzette (meist schwarz brüniert) ab ca. 10.- angeboten werden. Hier zu sparen lohnt nicht.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste ====&lt;br /&gt;
ist eine Mischung aus Mg(OH)2 und Al2(Cl)3.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Bauteilen im SO-Package ====&lt;br /&gt;
&lt;br /&gt;
Das Löten von Bauteilen im SO Package gestaltet sich fast genauso einfach wie das Löten von Widerständen:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad, das an einer Ecke des ICs liegt, verzinnen.&lt;br /&gt;
# Den IC platzieren.&lt;br /&gt;
# Den IC nach unten drücken.&lt;br /&gt;
# Das Pad erwärmen. Es ist möglich, dass der IC jetzt nicht richtig sitzt. Wenn das passiert ist, einfach nochmal das Zinn erwärmen und den IC verschieben bis er sitzt. Allerdings muss man dabei aufpassen, den IC nicht zu stark zu erwärmen.&lt;br /&gt;
# Das dem ersten gelöteten Pad diagonal gegenüberliegende Pad löten.&lt;br /&gt;
# Alle anderen Pads verlöten. Es ist nicht schlimm, wenn Zinnbrücken entstehen.&lt;br /&gt;
# Die Zinnbrücken mit Hilfe von Entlötlitze entfernen. Dazu hält man die Entlötlitze an die betroffenen Pads und erwärmt sie. Das Zinn geht dann automatisch auf die Entlötlitze und es gibt keine Brücken mehr.&lt;br /&gt;
&lt;br /&gt;
==== Löten von (T)SSOPs und QFPs ====&lt;br /&gt;
&lt;br /&gt;
War es bei Bauteilen im SO-Package mit einer ruhigen Hand noch möglich die Pins ohne Zinnbrücken zu verlöten, ist das bei TSSOPs nun praktisch nicht mehr möglich, da der Abstand der Pins einfach zu klein ist.&lt;br /&gt;
&lt;br /&gt;
# Platzieren des Bauteils.&lt;br /&gt;
# Das Bauteil irgendwie fixieren (Pinzette oder vorsichtig mit dem Zeigefinger etc.). Tesafilm ist recht praktisch und lässt sich leicht wieder entfernen.&lt;br /&gt;
# Mit dem Lötkolben einen Tropfen Zinn aufnehmen (entfällt bei verzinnten Pads).&lt;br /&gt;
# Das Bauteil an zwei diagonal gegenüberliegenden Pins festlöten.&lt;br /&gt;
# Überprüfen, ob der Chip wirklich richtig auf der Platine liegt, jetzt sind Korrekturen noch möglich.&lt;br /&gt;
# Wenn man einen Stift mit flüssigem Flussmittel hat, auf der zu lötenden Seite damit einfach über alle Pins pinseln.&lt;br /&gt;
# Mit dem Lötkolben über die erste Seite des TSSOP fahren. Dabei spielt es keine Rolle, ob Brücken entstehen. Wenn man vorverzinnte Pads und Lötstopplack hat, entstehen normalerweise keine Brücken, da die Oberflächenspannung die geringe Menge Zinn an Pad und Pin sammelt, so dass es zu wenig Zinn für eine Brücke ist.  Den Lötkolben mit einer Geschwindigkeit von ca. 1 - 2 Pins pro Sekunde vorwärts bewegen.&lt;br /&gt;
# Jetzt kann man das Bauteil loslassen, da es genügend fixiert ist.&lt;br /&gt;
# Mit dem Lötkolben über die andere(n) Seite(n) fahren.&lt;br /&gt;
# Mit Entlötlitze überflüssiges Zinn entfernen.&lt;br /&gt;
# Zum Abschluss kann man mit einer Lupe die Lötstellen überprüfen.&lt;br /&gt;
&lt;br /&gt;
Bei QFPs ist das Verfahren gleich, außer dass man 4 Seiten bearbeiten muss.&lt;br /&gt;
&lt;br /&gt;
Alternativ zur Entlötlitzentechnik gibt es auch Lötspitzen mit Hohlkehle.&lt;br /&gt;
&lt;br /&gt;
# Zuerst das Bauteil an zwei diagonalen Pins mit Lötzinn fixieren und die Ausrichtung prüfen. Ob Lötbrücken entstehen, ist zu diesem Zeitpunkt nicht wichtig.&lt;br /&gt;
# Dann genügend Flussmittel über die zu lötenden Pins streichen.&lt;br /&gt;
# Die Hohlkehle mit wenig Lötzinn füllen und über eine Seite des ICs führen.&lt;br /&gt;
# Jetzt hat man an einigen Stellen (meist am Ende der Seite, die man gelötet hat) einige Lötbrücken.&lt;br /&gt;
# Die Hohlkehle von Lötzinn reinigen und mit leerer Hohlkehle über die Lötbrücken fahren. Vorher nochmal genug Flussmittel draufgeben.&lt;br /&gt;
# Meist sind schon nach dem ersten mal keine Brücken mehr vorhanden. Falls doch, nochmals mit Flussmittel benetzen und an den entsprechenden Stellen mit der Hohlkehlspitze Lötzinn entfernen.&lt;br /&gt;
&lt;br /&gt;
Vorsicht! Flussmittel sind ätzend. Also nur bei eingeschalteter Lötdampfabsaugung arbeiten!&lt;br /&gt;
&lt;br /&gt;
Vorsicht! Immer wieder eine Pause einlegen, so dass der Chip nicht zu Heiß und bereits beim Löten beschädigt wird!&lt;br /&gt;
&lt;br /&gt;
==== Der Trick mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Bei kleinen SMD-Bauteilen kann es passieren, dass man beim Löten Zinnbrücken verursacht. Diese lassen sich recht einfach mittels Entlötlitze entfernen. Dabei sollte man direkt mit dem Ende der Litze entlöten und nicht der Mitte. Hilfreich kann bei wenig Platz auch ein schräges Anschneiden der Litze sein. Scharfe Schneidwerkzeuge, die ein Ausfransen der Litze verhindern, sind unverzichtbar (Tipp: SMD-Werkzeuge markieren, damit sie nicht versehentlich für grobe Arbeiten verwendet werden).&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich die Entlötlitze vorher leicht mit Flussmittel zu tränken, damit das Zinn besser aufgenommen werden kann.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollte man beim Arbeiten mit Entlötlitze, ob an SMD- oder anderen Bauteilen, etwas Vorsicht walten lassen. Entlötlitze ist ein sehr guter Wärmeleiter. Daher kann man sich beim Entlöten, wenn man die Litze direkt mit den Fingern hält, böse verbrennen. Über 300° vom Lötkolben über die Litze zu den Fingern übertragen sind kein Pappenstiel. Leider kann das Führen der Litze mit einer Pinzette oder kleinen Flachzange gerade bei SMD-Bauteilen zu ungenau sein, so dass man verleitet wird, die Finger zu nehmen.&lt;br /&gt;
&lt;br /&gt;
Trotzdem sollte man eher nicht zur Lötzinn-Absaug-Pumpe greifen. Das mag zwar einfacher und bei anderen Lötvorgängen durchaus praktisch sein, die kleinen SMD-Bauteile werden jedoch leicht mit abgesaugt und kommen dann nur als Brösel oder gar nicht mehr raus. Manche Hersteller bieten SMD-Überwurfspitzen für ihre Entlötpumpen an, die diese Gefahr verringern. Das vereinfacht die Sache ein wenig, man muss aber genau zielen und den Lötkolben kurz wegnehmen. Hier sollte man also eher zur Entlötlitze greifen.&lt;br /&gt;
&lt;br /&gt;
==== Trick 17 mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;quot;Invertierte-Entlötlitzen-Methode&amp;quot; kann man auch mechanisch empfindliche Pins auf sehr kleinem Raster &#039;&#039;&#039;verlöten&#039;&#039;&#039;, indem man mit der Entlötlitze Lötzinn an das Pin/Pad-Paar zuführt. ([http://www.mikrocontroller.net/topic/94451#833286 Forumsbeitrag von Ulrich]).&lt;br /&gt;
&lt;br /&gt;
=== Reflow-Techniken ===&lt;br /&gt;
&lt;br /&gt;
Bei Reflow-Lötverfahren wird vor der Bestückung auf die Lötpunkte der Platine eine Lötpaste aufgetragen. Die Anschlüsse der zu lötenden Bauteile werden dann in diese Paste positioniert. Nach dieser Bestückung wird die Platine mit den Bauteilen erhitzt. Die Lötpaste schmilzt auf. Sind alle Lötpunkte aufgeschmolzen wird die Platine abgekühlt, das Lot erstarrt und die Bauteile sind verlötet.&lt;br /&gt;
&lt;br /&gt;
Reflow-Techniken galten lange Zeit als zu aufwendig für Amateure. Dies änderte sich, nachdem sich gezeigt hat, dass auch etwas hemdsärmelige Methoden zum Ziel führen. Auch diese setzen etwas Aufwand voraus, daher sind sie im folgenden nur kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste auftragen ====&lt;br /&gt;
&lt;br /&gt;
In der industriellen Fertigung wird die Lötpaste zum Beispiel mittels einer Schablone aufgetragen. (Eine solche kann man beispielsweise bei PCB-Pool kostenlos zur Platine hinzubestellen.) Oft bleibt aber nur, die Lötpaste von Hand aufzutragen. Für diese Zwecke ist Lötpaste in Spritzen erhältlich. Die Preise für Lötpaste sind horrend. Mit ein bis zwei Euro pro Gramm (!) muss man rechnen. Allerdings benötigt man nur sehr geringe Mengen pro Platine und Lötpaste ist nicht unbegrenzt lagerbar. Es sollte eine &amp;quot;no clean&amp;quot;-Paste verwendet werden. &amp;quot;No clean&amp;quot; bedeutet, dass die Platine nicht von Flussmittelresten gereinigt werden muss.&lt;br /&gt;
&lt;br /&gt;
Vor dem Auftragen der Paste ist die Platine zu säubern, und nochmal zu säubern, und nochmal... Dann wird eine sehr kleine Menge der Paste auf jeden Lötpunkt aufgetragen.&lt;br /&gt;
&lt;br /&gt;
Ein häufiges Problem ist, dass sich die Paste ungern auf dem Pad niederlässt; also beim Entfernen der Spritze lieber an selbiger haften bleibt. Hier hilft ein leichtes Erwärmen der Platine auf ca. 40 °C. Die Paste wird sich dadurch gerne auf dem Pad niederlassen und auch einen ordentlich rundlichen Klecks bilden, statt einer Zipfelmütze. Zu beachten ist hierbei, dass die Kleckse bei zu langer Wartezeit etwas schneller austrocknen als bei niedrigeren Temperaturen. Also besser gleich nach dem Einbringen der Paste die Temperaturzufuhr unterbrechen und die SMD Bauteile bestücken.&lt;br /&gt;
&lt;br /&gt;
==== Bauteile bestücken ====&lt;br /&gt;
&lt;br /&gt;
Die Anschlüsse der Bauteile werden in die Lötpaste gesetzt. Bei bleihaltiger Lötpaste muss die Ausrichtung nicht 100% genau sein, da die Bauteile beim Schmelzen der Paste durch die Oberflächenspannung in Position gezogen werden. Bei bleifreier Lötpaste ist dieser Effekt kaum vorhanden. Daher müssen die Bauteile in diesem Fall genau ausgerichtet sein.&lt;br /&gt;
&lt;br /&gt;
==== Umgebauter Pizzaofen ====&lt;br /&gt;
&lt;br /&gt;
Als Standardmethode für Amateure scheint sich die Verwendung eines umgebauten Pizzaofens durchzusetzen. Ein Elektro-Pizzaofen/Miniofen für den Hausgebrauch für vielleicht 20€ bis 50€ wird mit einer Mikrocontroller-Temperatursteuerung versehen. Mit dieser Steuerung werden die gewünschten Heiz- und Abkühl-Temperaturkurven gesteuert. Beim Umbau ist Vorsicht walten zu lassen, da die Heizung und Temperaturregelung solcher Öfen mit Netzspannung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendeter Ofen nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Elektro-Pfanne ====&lt;br /&gt;
&lt;br /&gt;
Statt eines mit einer Temperatursteuerung nachgerüsteten Pizzaofens wird gelegentlich einfach eine teflonbeschichtete Elektro-Pfanne verwendet. Elektro-Pfannen, manchmal auch Party-Pfannen genannt, sind in Deutschland eher selten in Haushalten zu finden. Es handelt sich dabei im Prinzip um eine Elektro-Heizplatte, die jedoch nicht flach, sondern deren Oberseite als Pfanne ausgeformt ist.&lt;br /&gt;
&lt;br /&gt;
Zum Reflowlöten wird eine bestückte Platine in die kalte Pfanne gelegt, mit der Lötseite, also den Bauelementen nach oben. Die Pfanne wird aufgeheizt und dabei die Platine beobachtet, bis die Lötpaste an allen Lötpunkten aufgeschmolzen ist. Da eine Elektro-Pfanne nicht überall gleichmäßig heizt, wird gelegentlich vorsichtiges Schwenken der Platine in der Pfanne vorgeschlagen, um die Platine gleichmäßig zu erwärmen. Ist die Lötpaste überall aufgeschmolzen wird die Elektro-Pfanne abgestellt. Die Platine bleibt in der Pfanne und kühlt dort langsam mit der Pfanne aus.&lt;br /&gt;
&lt;br /&gt;
Bei dieser Methode hat man keine Kontrolle über die Temperaturkurve. Selbige hängt nicht nur von der Bauart der Pfanne, sondern auch von der Umgebungstemperatur und der eigenen Reaktionszeit ab.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte eine zum Reflow-Löten verwendete Elektro-Pfanne nicht mehr für Nahrungsmittel verwendet werden, da Rückstände an der Pfanne haften bleiben können und zudem übermäßig erwärmte Teflonpfannen ausgasen und fortan Stoffe an das Kochgut abgegeben, insbesondere, wenn die Oberfläche durch Kratzer beschädigt wurde.&lt;br /&gt;
&lt;br /&gt;
==== Heißluft ====&lt;br /&gt;
&lt;br /&gt;
Die Geister scheiden sich daran, ob man mit Heißluft wirklich gut löten kann (beim Entlöten ist das anders). Viele bevorzugen noch den Lötkolben dem Heißluftgerät, andere haben mit Heißluftlöten keine Probleme.&lt;br /&gt;
&lt;br /&gt;
Mit Heißluft lötet man eine Platine bereichsweise. Auf die Lötpads in einem Bereich werden kleine Mengen Lötpaste aufgetragen und die Bauteile aufgesetzt. Die Lötpaste wird dann mittels Heißluft erwärmt und geschmolzen. Dabei muss man sowohl aufpassen, dass Bauteile und Platine nicht überhitzt werden und dass man die in der Lötpaste sitzenden Bauteile nicht verschiebt oder sogar von der Platine bläst. Nebenbei muss man natürlich aufpassen, dass man sich nicht an der Heißluft verbrennt.&lt;br /&gt;
&lt;br /&gt;
Entsprechende Heißluftgeräte (Hot-Air Stations, häufig auch Rework-Stations genannt) waren relativ teuer. Einige Marken sind mittlerweile jedoch für den Hobbyisten erschwinglich. Mit Übung lässt sich auch eine einfache Heißluft-Pistole verwenden. Allerdings ermöglichen deren Düsen kein sonderlich genaues Arbeiten..&lt;br /&gt;
&lt;br /&gt;
==== Herdplatte ====&lt;br /&gt;
&lt;br /&gt;
Mit etwas Erfahrung kann man auch sehr gut auf der Herdplatte löten. Die Herdplatte wird dabei rund eine halbe Stunde vorgeheizt, damit die Temperatur einigermaßen konstant bleibt. Mit etwas Lötzinn kann getestet werden, ob die Löttemperatur erreicht wurde. Die Herdplatte sollte nicht zu heiß eingestellt werden, damit der Lötstopplack sowie das Epoxyd nicht verheizt wird. &lt;br /&gt;
Die bestückte Platine wird mit einer Pinzette auf die Herdplatte gelegt. Schon nach kurzer Zeit sollte das Lötzinn anfangen zu schmelzen. Wenn alle Lötstellen verlötet sind, kann die Platine wieder heruntergenommen werden und abkühlen.&lt;br /&gt;
&lt;br /&gt;
==== Kochtopf mit mehrschichtigem Boden ====&lt;br /&gt;
&lt;br /&gt;
In vielen Küchen sind heute keine Gusseisenkochplatten mehr verbaut sondern Glasskeramikkochfelder. Bei diesen darf die Platine nicht direkt beheizt werden, da diese schnell eine enorme Hitze erzeugen. Damit eine konstante Temperatur erhalten wird, kann ein Kochtopf mit einem mehrschichtigen Boden verwendet werden. Dazu wird die Platine in den Kochtopf gelegt und auf dem Glasskeramikkochfeld aufgeheizt. Ist die Lötpaste geschmolzen und sind alle Lötstellen verlötet, kann die Platte abgestellt und der Kochtopf zum Abkühlen zur Seite geschoben werden.&lt;br /&gt;
&lt;br /&gt;
== Entlöten von SMD-Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Leider halten ICs nicht ewig und irgendwann muss jeder einmal SMD-Bauteile wieder auslöten. Das Entlöten gestaltet sich im Grunde genauso einfach wie das Einlöten.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei einfache Fälle: Entweder soll der Chip überleben oder die Platine. Der dritte Fall ist die erstrebenswerteste Methode: Chip und Platine überleben.&lt;br /&gt;
&lt;br /&gt;
=== Die einfachste Methode ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode ist den Lötkolben auf maximale Temperatur zu stellen und dann, mit etwas Lötzinn für besseren Wärmekontakt, auf die Mitte des auszulötenden ICs zu legen (mit der Spitze und dem Lötzinn darunter).&lt;br /&gt;
&lt;br /&gt;
Der IC stirbt dabei durch die rund 400 °C des Lötkolbens sicherlich den Hitzetod, aber durch die Wärmeleitung schmilzt an den Beinchen des ICs das Lötzinn nach rund einer Minute und man kann den IC mit einer Pinzette dann abheben. Hierzu sollte man alle paar Sekunden testweise anheben und den Lötkolben nur leicht aufdrücken, um so ganz sicher alle anderen Bauteile heil zu lassen.&lt;br /&gt;
&lt;br /&gt;
Das auf der Platine verlaufene Lötzinn entfernt man, indem man mit der gereinigten Lötspitze (bei 200 °C) über die nun geleerten Pads geht. Zubehör wie Entlötlitze ist überflüssig.&lt;br /&gt;
&lt;br /&gt;
So kann man beispielsweise einen USB-RS232-Adapter in einen USB-UART-Adapter umwandeln ;-)&lt;br /&gt;
&lt;br /&gt;
Getestet habe ich es bisher mit einem SD213 (28 Pins) und einem FT232 (32 Pins), aber etwas größere ICs, bis zum MSP430 mit 100 Pins, müssten auch möglich sein.&lt;br /&gt;
Durch Umdrehen der Platine sollten auch noch größere ICs so auslötbar sein (wobei man wegen der Schwerkraft dann die Pinzette einsparen kann), weil dann durch die Konvektion noch mehr Wärme übertragen wird.&lt;br /&gt;
&lt;br /&gt;
=== Chip Quik-Methode ===&lt;br /&gt;
[http://www.chipquik.com/ Chip Quik] bietet ein Set an mit dem sich SMD-Bauteile sehr einfach und zerstörungsfrei entlöten lassen.&lt;br /&gt;
&lt;br /&gt;
Dabei wird auf die Beinchen reichlich Flussmittel aufgetragen. Danach eine große Menge speziellen Lötzinns, das eine sehr geringe Schmelztemperatur hat. Dieses verbindet sich mit dem normalen Lötzinn und bleibt lange flüssig. Die Temperatur der Schmelze ist so gering, dass das Bauteil überlebt.&lt;br /&gt;
Wenn alle Beinchen in dem Lötzinn-Blob stehen, fällt das Bauteil fast von alleine ab.&lt;br /&gt;
&lt;br /&gt;
Diese Methode wird in dem Make-Magazine Video gezeigt, das unten verlinkt ist.&lt;br /&gt;
&lt;br /&gt;
Die Chip Quick-Legierung besteht laut dem Sicherheitsdatenblatt, dass unter [http://datasheet.octopart.com/SMD16NL-Chip-Quik-datasheet-10489078.pdf] zu finden ist, aus Zinn, Bismut und Indium, in Gewichtsanteilen ähnlich dem Roses Metall, jedoch mit Indium statt Blei.&lt;br /&gt;
Bei tmp-loettechnik.de bekommt man Roses Metall, allerdings nur als Barren. Mit dieser Legierung (Schmelzpunkt 98 °C) kann man auch Teile zur mechanischen Bearbeitung eingießen und im kochenden Wasser wieder befreien. &amp;quot;Flüssiger Schraubstock&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Anmerkung (von Markus F.):&lt;br /&gt;
Laut [http://www.chipquikinc.com/newsletters/cq_new_june_2004.htm Hersteller] hat die Chip Quik-Legierung einen Schmelzpunkt von 58 °C.&lt;br /&gt;
Daher ist es wahrscheinlich, dass in der Legierung eine größere Menge Gallium (Schmelzpunkt 30 °C) enthalten ist. Bei einem Preis von 190 $ für 170 g Chip Quik-Lot wäre dies durchaus möglich. Gallium kostet derzeit (Stand Juli 2010) ca. 1 € pro Gramm.&lt;br /&gt;
&lt;br /&gt;
=== Die Zahnarztmethode ===&lt;br /&gt;
&lt;br /&gt;
==== Benötigtes Werkzeug ====&lt;br /&gt;
&lt;br /&gt;
* Lötkolben&lt;br /&gt;
* Lötzinn &lt;br /&gt;
* Ablöthebel &lt;br /&gt;
* Entlötlitze&lt;br /&gt;
&lt;br /&gt;
==== Ablöthebel u.ä ====&lt;br /&gt;
&lt;br /&gt;
Ein Ablöthebel oder verwandte Werkzeuge sehen so aus, als ob sie aus der Praxis eines Zahnarztes (Zahnsonde) oder der Werkstatt eines Zahntechnikers stammen. Dabei handelt es sich um Metallhaken, eventuell (in der einfachen, nicht medizinischen Ausführung) mit Plastikgriff. Es gibt sie in verschiedenen Formen und Größen. &lt;br /&gt;
&lt;br /&gt;
Als Werkzeug zum Entlöten findet sich eine Form unter der bereits erwähnten Bezeichnung &#039;&#039;Ablöthebel&#039;&#039;, ebenso findet man ähnliche Werkzeuge als Teil von sogenannten &#039;&#039;Platinen-Reinigungsbestecken&#039;&#039; (z. B. Conrad Bestellnummer 588239). Im Englischen heißen entsprechende Werkzeuge &#039;&#039;soldering aid hook&#039;&#039; (Haken), &#039;&#039;soldering aid fork&#039;&#039; (Haken/Hebel mit gespaltener Klinge. Wenn als Hebel ausgeführt ein &#039;&#039;Ablöthebel&#039;&#039;), oder &#039;&#039;soldering aid spike&#039;&#039;, &#039;&#039;reamer&#039;&#039; oder &#039;&#039;probe&#039;&#039; (gebogene oder ungebogene Tastspitze).&lt;br /&gt;
&lt;br /&gt;
Ein solcher Hebel oder Haken ist ein nützliches Werkzeug beim Auslöten von SMD-Bauteilen. Vorsichtig eingesetzt kann er durchaus beim zerstörungsfreien Entlöten verwendet werden, zum Beispiel bei der Verwendung von [[#Heißluft|Heißluft]]. Im Folgenden wird allerdings eine zerstörende Methode beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Der Entlötvorgang ====&lt;br /&gt;
&lt;br /&gt;
Das Entlöten ist bei fast allen SMD-Bauteilen gleich, egal welcher Pinabstand und wie viele Pins. &#039;&#039;&#039;Achtung&#039;&#039;&#039;, der IC geht dabei kaputt.&lt;br /&gt;
&lt;br /&gt;
# Man bringt eine dicke Zinnwurst auf alle Pins auf.&lt;br /&gt;
# Erwärmen des Zinns mit dem Lötkolben.&lt;br /&gt;
# Ausheben der Pins mithilfe des Hebels oder Hakens. Hier kann man bei den Bauteilen mit kleinem Pinabstand gleichzeitig mehrere hochheben.&lt;br /&gt;
# Solange wiederholen, bis alles raus ist.&lt;br /&gt;
# Entfernen der Zinnreste mit Entlötlitze.&lt;br /&gt;
&lt;br /&gt;
=== Die 2-Lötkolben-Methode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für alle SMD-Bauteile mit 2 gelöteten Seiten: Widerstände, Kondensatoren, kurze ICs (z.&amp;amp;nbsp;B. 2x8 Pins). Bei den Widerständen und Kondensatoren ist alles klar. Von jeder Seite einen Lötkolben anhalten, das Bauteil löst sich ab und bleibt meist an einem der Kolben kleben, wo man es abschütteln kann. Bei ICs verzinnt man zunächst beide Pin-Reihen ordentlich, danach versucht man mit den Kolben das Zinn auf beiden Reihen und der gesamten Länge flüssig zu bekommen, evtl. muss man die Lötkolben dabei etwas bewegen. Ist das Zinn komplett flüssig, kann man das IC beiseite schieben. Das geht besonders gut bei Platinen mit Lötstopplack. Bei dieser Methode kann man die Bauteile in der Regel anschließend weiter verwenden. Überflüssiges Zinn an den Pins mit Lötsauglitze entfernen.&lt;br /&gt;
&lt;br /&gt;
=== Die Rohrstückmethode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für ICs mit Pins an zwei Seiten (SO-Gehäuse). Chip und Platine haben Chancen zu überleben. Man nehme ein Stück Kupferrohr der passenden Länge und sägt es der Länge nach durch, so dass man zwei Halbschalen hat. Eine der Halbschalen befestigt man an einer alten Lötspitze, z.&amp;amp;nbsp;B. indem man ein Gewinde schneidet oder hartlötet.  Nun kann man alle Pins gleichzeitig erwärmen und das IC abnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Die Kupferdraht-Haken-Methode ===&lt;br /&gt;
&lt;br /&gt;
Die Methode funktioniert ähnlich wie die zuvor beschriebenen &#039;&#039;Rohrstückmethode&#039;&#039;. Das Erstellen des Hilfsmittels ist wesentlich einfacher, allerdings ist es keine Dauerlösung. Die Methode eignet sich für kleine Bauteile (Widerstände, etc.) mit Pins an zwei Seiten.&lt;br /&gt;
&lt;br /&gt;
Das Ende eines Stück blanken Kupferdrahts wird mittels einer kleinen Flachzange zu einem U-förmigen Haken abgebogen. Dabei wählt man die Lichte Weite des Hakens so, dass man mit zwei Seiten des Hakens die Pins des zu entlötenden Bauteils gleichzeitig erreichen kann. Das andere Ende des Kupferdrahts wickelt man mehrfach um die Spitze eines kalten (!) Lötkolbens. Das Ende mit dem Haken sollte dabei nicht mehr als vielleicht 2 cm über die Lötkolbenspitze hinausreichen. Der Draht wird so gebogen (gekröpft), dass man den Lötkolben bequem führen kann um den Haken flach am Bauteil anzulegen. Um Missverständnisse zu vermeiden:  Der Haken soll am Bauteil angelegt und nicht etwa in irgendeiner Weise unter das Bauteil geschoben werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Lötkolben und damit der Haken erhitzt. Ist die Hakenspitze heiß genug, legt man den Haken am Bauteil an. Sobald das Lötzinn an den Pins geschmolzen ist, zieht man das Bauteil von den Pads. Bauteile haben dabei die Angewohnheit, für immer auf dem Fußboden verloren zu gehen. Benötigt man das Teil noch, so sollte man etwas Vorsicht walten lassen.&lt;br /&gt;
&lt;br /&gt;
=== Die dicke Kupferdrahtmethode ===&lt;br /&gt;
&lt;br /&gt;
1,5 - 2,5 mm² Massivdraht so zurechtbiegen, dass er exakt und plan auf die Pins passt. Dann mit viel Zinn schnell verlöten. Das geht am besten mit zwei oder drei stärkeren Lötkolben und einer zweiten Person. Ich habe aber auch schon alleine mit 2 Kolben 160-Poler ausgelötet, ohne IC oder Platine zu beschädigen.&lt;br /&gt;
&lt;br /&gt;
IC am besten mit einer Pinzette oder einem Vakuumsauger (z.&amp;amp;nbsp;B. Kontaklinsensauger für harte KL aus Silikon) abheben und noch im heißen Zustand den dicken Draht samt Zinn abklopfen. Danach das IC möglichst schonend (gleichmäßig und schnell) abkühlen, evtl. schon vor dem Löten einen kleinen Kühlkörper auf das IC legen / kleben.&lt;br /&gt;
&lt;br /&gt;
Die Methode kombiniert sich gut mit der Bügeleisen- oder Glaskeramikfeld-Vorwärm-Methode.&lt;br /&gt;
&lt;br /&gt;
=== Der Trick mit dem Platinensicherungshalter ===&lt;br /&gt;
&lt;br /&gt;
Speziell zum Auslöten von SO-ICs mit 2x4 Beinchen kann man den einzelnen Clip eines Platinensicherungshalters (Durchstecktechnik, für 5 x 20 mm Sicherungen) benutzen. Mit einer feinen Zange biegt man zunächst die sich nach außen öffnenden Enden des Clips etwas nach innen. Auf diese Weise entsteht eine Mini-Zange, die genauso breit ist wie die Beinreihe des IC und sich aufgrund ihrer Vorspannung am IC festhalten kann. Den modifizierten Clip klemmt man von oben über den IC und erhitzt seine Bodenplatte mit dem Lötkolben (16 Watt). Anstelle der oben beschrieben Zinn-Wurst-Methode bildet nun der Clip die Wärmebrücke, ähnlich der oben beschriebenen Rohrstückmethode. Der Clip wird mit einer Pinzette abgehoben und nimmt den IC mit.&lt;br /&gt;
&lt;br /&gt;
Die Platine und der IC bleiben ganz.&lt;br /&gt;
&lt;br /&gt;
=== Lötkolbeneinsätze ===&lt;br /&gt;
&lt;br /&gt;
Für einige SMD-Bauformen gibt es Lötkolbeneinsätze, mit denen man alle Anschlüsse eines Bauteils gleichzeitig erhitzen kann. Allerdings sind diese relativ teuer, man braucht für jede Bauform einen eigenen Einsatz und es gibt IC-Bauformen, bei denen die Anschlüsse so angeordnet sind, dass man dafür keinen Einsatz bauen kann.&lt;br /&gt;
&lt;br /&gt;
=== Zangenlötkolben ===&lt;br /&gt;
&lt;br /&gt;
Ein Zangenlötkolben (auch engl. &#039;&#039;Tweezer&#039;&#039;) genannt, ist ein Lötkolben, der zwei beheizte Spitzen besitzt, die ähnlich wie bei einer Pinzette verbunden sind, und der wie eine Pinzette bedient wird. Die Spitzen sind als flache, Einsätze gestaltet, die ggf. je nach Breite des auszulötenden Bauteils ausgetauscht werden können. Mit dem Zangenlötkolben kann man sehr einfach Anschlüsse von Bauteilen mit zwei gegenüberliegenden Anschlüssen (Widerstände, etc.) oder Anschlussreihen erhitzen und das Bauteil dann direkt mit dem Zangenlötkolben von der Platine nehmen. Es empfiehlt sich dabei, eine zusätzliche Pinzette zur Hand zu nehmen, um das Bauteil von der Platine zu heben, da teilweise maschinell bestückte SMD mit einem Klebepunkt auf der Platine fixiert werden.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil beim Entlöten mit dem Zangenlötkolben ist, dass das entlötete Bauteil relativ lange erwärmt wird, da es mit der Zange abgehoben und dann weiter erwärmt wird, bis man es aus der Zange entfernt. Ein weiterer Nachteil ist, dass sich der Zangenlötkolben nur für zweireihige Bauteile eignet.&lt;br /&gt;
&lt;br /&gt;
Der große Vorteil des Zangenlötkolbens ist die schnelle und einfache Funktion. Muss man mehrere Widerstände gleicher Bauform von einer Platine entfernen, kann dieses sogar ohne Absetzen in einem Durchgang geschehen. Die bereits entlöteten Widerstände behält man dabei einfach zwischen den Zangenbacken und schiebt sie mit dem nächsten Widerstand etwas nach hinten.&lt;br /&gt;
&lt;br /&gt;
=== Mit Draht ===&lt;br /&gt;
==== Kupferlackdraht ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere sehr elegante Möglichkeit, um auch größere SMD-ICs zerstörungsfrei von einer Platine zu bekommen, ist die &amp;quot;Kupferlackdraht-Methode&amp;quot;. Man benötigt lediglich etwas Kupferlackdraht (0,2 - 0,3 mm) und natürlich einen Lötkolben. Die einzige Bedingung ist, dass man den Kupferlackdraht auch unter den Pins bzw. dem Bauteilgehäuse durchfädeln kann.&lt;br /&gt;
&lt;br /&gt;
===== Vorgehensweise =====&lt;br /&gt;
&lt;br /&gt;
# Kupferlackdraht unter den Pins durchfädeln&lt;br /&gt;
# Jeden einzelnen Pin kurz mit dem Lötkolben leicht berühren und gleichzeitig den Kupferlackdraht zwischen Platine und Pin durchziehen&lt;br /&gt;
# Eventuell den Kupferlackdraht erneut unter den Pins durchfädeln und die Pins, bei denen der Kupferlackdraht beim Durchziehen &amp;quot;hängen bleibt&amp;quot;, nochmals mit dem Lötkolben antippen&lt;br /&gt;
&lt;br /&gt;
Es gibt aber auch dünnen Stahldraht (D = 0,2 mm) für diesen Zweck zu kaufen.&lt;br /&gt;
Das Optimum ist dünnes Bandblech aus Edelstahl, ca 4 bis 5 mm breit, ebenfalls etwa 0,2 mm dick. Die in akustomagnetischen Warensicherungsetiketten enthaltenen Blechstreifen eignen sich gut. Auch einen Skalpellhalter mit Einmalklingen kann man hierfür verwenden. Die Spitze des Skalpells wird hinter dem Pin angesetzt (in der Lücke zwischen Pin und Gehäuse), nach unten und vorn gedrückt und der Pin wird mit dem Lötkolben erwärmt. Sobald das Lötzinn geschmolzen ist, rutscht das Skalpell zum nächsten Pin weiter. Hinterher müssen lediglich die Pins wieder geradegebogen werden.&lt;br /&gt;
&lt;br /&gt;
==== Schaltdraht ====&lt;br /&gt;
&lt;br /&gt;
Eine interessante Methode zeigt Silicon Labs in ihrer Application Note AN114 [http://www.silabs.com/Support%20Documents/TechnicalDocs/an114.pdf Hand Soldering Tutorial for Fine Pitch QFP Devices]. Dabei wird, ähnlich wie bei der Kupferlackdrahtmethode, ein Schaltdraht unter den Pins durchgezogen, an einem benachbarten Bauteil &amp;quot;verankert&amp;quot; und dann ziemlich kräftig geheizt und gezogen. Je nach Vorgehensweise kann man damit sowohl Bauteil als auch Leiterplatte retten. Dies braucht aber entsprechend viel Gefühl und vermutlich Übung.&lt;br /&gt;
In der Appnote hat das nicht ganz geklappt. Die Fotodokumentation zeigt einen zerstörten Chip und ein abgelöstes Pad.&lt;br /&gt;
&lt;br /&gt;
=== Mechanisch abtrennen ===&lt;br /&gt;
&lt;br /&gt;
==== Die Cuttermethode ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit, ein SMD IC von einer Platine zu entfernen, besteht darin, die Beinchen vor dem Entlöten zu durchtrennen. Dazu nimmt man ein Cuttermesser mit Abbrechklingen oder ein Bastelmesser mit auswechselbarer Skalpellklinge (z.&amp;amp;nbsp;B. X-Acto Klinge #16, #17 oder #19), setzt es so nah wie möglich am Gehäuse auf ein paar der IC-Beinchen auf und drückt gerade &#039;&#039;&#039;ohne Seitwärtsbewegung&#039;&#039;&#039; nach unten. Dies durchtrennt die Beine ohne darunterliegende Leiterbahnen zu verletzen. Ein wenig Gefühl ist dabei natürlich nötig. Üben auf einem alten PC-Mainboard lohnt sich. Nachdem auf diese Weise alle Beine vom IC abgetrennt sind, kann man die auf der Platine verbliebenen Reste der Beinchen einfach mit dem Lötkolben &amp;quot;abwischen&amp;quot; und die Lötzinnreste mit Entlötlitze entfernen. Die Wärmebelastung der Platine ist bei dieser Methode wesentlich geringer als bei anderen Methoden. Allerdings besteht die latente Möglichkeit, dabei Leiterbahnen zu durchtrennen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Es hat sich dabei bewährt, vorher alle Pins mit einer relativ dicken Schicht Lötzinn zu verbinden. So werden abgerissene Leiterbahnen durch versehentliche Seitwärtsbewegungen verhindert. Es muss allerdings darauf geachtet werden, dass das Lötzinn nicht ganz bis ans Gehäuse reicht, da sonst das Schneiden nahezu unmöglich ist.&lt;br /&gt;
&lt;br /&gt;
==== Die Mini-Trennscheiben-Methode ====&lt;br /&gt;
&lt;br /&gt;
Man nehme eine sehr schnelle, kleine Handbohrmaschine (Proxxon, Dremel oder dergleichen), setze eine kleine Trennscheibe auf und flexe unter der Lupenbrille vorsichtig die Beinchen nahe dem Gehäuse ab. Das Gehäuse fällt irgendwann ab, die Beinchen werden mit einem Lötkolben weggewischt.&lt;br /&gt;
&lt;br /&gt;
==== Die Abschlagmethode ====&lt;br /&gt;
&lt;br /&gt;
Wenn man SMD-ICs von einer Platine retten möchte, die Platine aber später in den Müll wandert, kann man das IC mit seinem Körper auch auf eine harte Kante legen (die Platine ist dabei mehr oder weniger senkrecht).  Dann ein beherzter Schlag mit dem Handballen auf die Platinenkante und der Chip wird von der Platine abgerissen.  Die Beinchen muss man nachher etwas richten, aber normalerweise funktioniert diese Methode sehr zuverlässig, besonders bei maschinell gelöteten Platinen.  Diese Methode funktioniert sowohl mit SO-Gehäusen als auch mit radiergummigroßen DC/DC Wandlern.&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Die Stechbeitelmethode ====&lt;br /&gt;
&lt;br /&gt;
Hier gilt das gleiche Prinzip wie bei der Abschlagmethode: Zuerst knicken die Beinchen ein und reißen dann von den Leiterbahnen ab. Sie lassen sich aber leicht zurückbiegen und das IC wird garantiert nicht überhitzt :-D. Der Beitel sollte ca. 8 - 15 mm breit sein. Ein alter, angeschliffener Schraubendreher mit großem Griff tut&#039;s auch. Dann die Platine flach vor sich auf den Tisch legen. Das IC liegt senkrecht zur Tischkante. Den Beitel senkrecht zur Platine mit der flachen Seite an das IC anlegen. Die linke Ecke der Schneide liegt dabei auf der Stirnseite in Höhe der Mittellinie. Die rechte Ecke der Schneide wird als Widerlager in die Platine gepresst. Den Beitel dafür etwas nach rechts kippen, mit Gewicht fest in die Platine drücken und mit Gefühl im Uhrzeigersinn drehen. So wird das IC in Längsrichtung und parallel zur Platine weggehebelt. Die dafür benötigte Kraft kann man sehr gut dimensionieren. Wenn man das raus hat, braucht man ca. 1 bis 2 Sekunden pro IC.&lt;br /&gt;
&lt;br /&gt;
=== Heißluft ===&lt;br /&gt;
&lt;br /&gt;
Heißluft ist eigentlich das Mittel der Wahl für SMD-Entlöten. Heißluft erfordert etwas Übung, egal welche Methode man im Einzelfall anwendet. Das Arbeiten mit einer speziell für die Elektronik gemachten Heißluftstation ist dabei am bequemsten. Daher wird dies hier zuerst beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftstation / Hot-Air Station / Rework-Station ====&lt;br /&gt;
&lt;br /&gt;
Heißluftgeräte waren früher relativ teuer. Einige Marken, meist chinesische Produkte, sind mittlerweile jedoch für den Hobbyisten erschwinglich (ab ca. 60 bis 70 Euro aufwärts, Stand 2009) und brauchbar, auch wenn es einen deutlichen Unterschied zwischen diesen Produkten und High-End-Geräten gibt. So sind die Handgriffe wesentlich unhandlicher und die Regelung ist ungenauer. Trotzdem kann man mit den einfachen Geräten vernünftig arbeiten. &lt;br /&gt;
&lt;br /&gt;
Theoretisch sollte man zum Entlöten jeweils einen genau auf die Bauform des Bauteils passenden Heißluft-Einsatz verwenden. Nun gibt es allerdings sehr viele unterschiedliche Bauformen und je nach Station sind die Einsätze relativ teuer (ausgenommen vielleicht die für chinesische Produkte, die meist alle vergleichbare und bezahlbare 22 mm Einsätze haben). Daher ist es nicht unüblich, für viele Anwendungen einfach eine runde 5 mm Düse zu verwenden, wie sie normalerweise schon in der Grundausstattung einer Heißluftstation enthalten ist. &lt;br /&gt;
Die Pins eines Bauteils erhitzt man dann mit einer kreisförmige Bewegung aus ca. 2 cm Abstand. Dabei prüft man immer mal wieder mit einer Pinzette oder ähnlichem Werkzeug ob sich das Bauteil schon abheben lässt. Dabei sollte man das Werkzeug nicht ständig in den Luftstrom halten, da es dabei eventuell zu heiß werden kann.&lt;br /&gt;
&lt;br /&gt;
An einer Heißluftstation gibt es zwei wichtige Einstellungen:&lt;br /&gt;
* Temperatur&lt;br /&gt;
* Luftstrom&lt;br /&gt;
&lt;br /&gt;
Mit beiden Einstellungen muss man etwas üben. Zum Start kann man es mit ca. 400 °C und ca. 20 l/min versuchen.&lt;br /&gt;
&lt;br /&gt;
Neben dieser einfachen Methode (rumkreisen, bis sich was bewegt), gibt es relativ aufwendige Verfahren beim Arbeiten mit Heißluft, zum Beispiel muss bei bestimmten Trägermaterialien die Platine vorgeheizt werden. Ohne entsprechende Schulung ist es schwer, sich solche Methoden selber anzueignen.&lt;br /&gt;
&lt;br /&gt;
==== Gaslötkolben mit Heißluftdüse ====&lt;br /&gt;
&lt;br /&gt;
Man kaufe für ca. 60 € einen Gaslötkolben mit Heißluftdüse. Wenn man den Gaslötkolben mit Heißluftdüse auf volle Leistung stellt, soll dieser angeblich  Warmluft bis 600 °C abgeben, was mehr als genug zum Entlöten ist. Damit das SMD-Bauteil durch kreisförmige Bewegung rundherum an den Pins mit 2 cm Abstand gezielt erhitzen. Das dauert ca. 2 Minuten. Das Bauteil lässt sich dann abnehmen, wegschieben oder abschlagen. Teilweise werden wenige eng am Bauteil bestückte Blockkondensatoren ebenfalls ausgelötet.&lt;br /&gt;
&lt;br /&gt;
Es lassen sich SMDs jeder Größe und Pinabstand ohne Beschädigung auslöten. Die ausgelöteten Bauteile lassen sich problemlos wieder verwenden. Die Platine mit Lötsauglitze und Aceton säubern und neues Bauteil drauf. Habe so während der Entwicklung FPGAS und Treiber ICs auf einer Platine schon bis zu fünf mal getauscht.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftpistole ====&lt;br /&gt;
&lt;br /&gt;
Eine Heißluftpistole, wie man sie im Baumarkt zum Abbrennen alter Farbe u.ä. erhältlich ist, kann gute Dienste beim SMD-Löten leisten. Empfehlenswert sind solche mit Temperaturregler.Aber selbst die einfachsten Varianten, die in der Regel nur zwei Stufen haben (mit denen man sowohl die Gebläsegeschwindigkeit als auch die Heizleistung umschaltet), sind für viele Zwecke brauchbarer als man auf den ersten Blick annimmt.&lt;br /&gt;
&lt;br /&gt;
Einfach die Platine einspannen und mit der Heißluftpistole langsam und gleichmäßig erwärmen. Dabei nicht zu heiß arbeiten. Etwas mehr Zeit für die Arbeit schadet Platine und Bauteilen weniger, als mit zu großer Temperatur alles zu verbrennen.  Wenn man vorsichtig arbeitet und den Punkt gut herausfindet, an dem sich das fragliche Bauteil ablösen lässt, taugt die Methode sogar für Reparaturlötungen, d.h., sowohl Platine als auch Bauteil bleiben dabei ganz.  Damit ist die Methode auch durchaus dazu geeignet, alten Elektronikschrott zu recyclen, um auf diese Weise preiswert zu einem Grundstock an diversem SMD-&amp;quot;Hühnerfutter&amp;quot; (Widerstände, Kondensatoren, oft auch Tantal-Elkos,  teilweise auch Standard-ICs  wie 74xxx und LM358 u.ä.) zu gelangen.&lt;br /&gt;
&lt;br /&gt;
Vermutlich lassen sich Pertinax-Platinen danach nicht mehr verwenden, aber diese haben bei den schmalen Leiterzugbreiten von SMD ohnehin kaum eine Überlebenschance.  Besser gleich trotz des höheren Preises alles auf Epoxyd anfertigen -- gerade bei den hobbytypischen Einzelstücken ist andernfalls die verschwendete Arbeitszeit sehr viel ärgerlicher als der höhere Preis der Epoxyd-Platine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Die Platine mit einem Stück Alufolie so abdecken, dass nur das auszulötende Bauteil im Luftstrom ist (an der Stelle ein Loch in die Folie machen). &#039;&#039;Ehrlich gesagt, der Tipp hat noch nie richtig funktioniert. Entweder bläst man die Folie weg oder die heiße Luft wird unter die Folie geblasen, wo sie sich dank der Folie besonders gut hält und die Bauteile drunter ausgelötet werden. Ein Stück Alufolie schützt die umliegenden Bauteile überhaupt nicht.&#039;&#039; Eine andere Möglichkeit ist das Abkleben der Platine mit Kaptonband (selbstklebend, in Breiten bis 50 mm erhältlich). Dieses Band aus durchsichtigem Kunststoff ist bis 400°C hitzebeständig und schützt die darunter liegenden Bauteile eine gewisse Zeit vor dem Luftstrom und der Hitze.&lt;br /&gt;
&lt;br /&gt;
Falls das Überleben der Platine wirklich völlig egal ist, kann man auch die Rückseite der Platine mit der Heißluftpistole erhitzen, bis die Vorderseite so heiß ist, dass die SMD-Chips einfach abfallen. Zwei Vorteile ergeben sich aus diesem Verfahren für die Überlebenswahrscheinlichkeit der Bauteile:&lt;br /&gt;
&lt;br /&gt;
* Der Temperaturgradient ist so gerichtet, dass die Beine des Chips die höchste Temperatur haben und nicht der Chip selbst, wenn man von oben auf das Gehäuse bläst&lt;br /&gt;
* Die, wenn auch geringe, Wärmeleitung der Platine sorgt für eine gleichmäßigere Temperaturverteilung auf der Vorderseite.&lt;br /&gt;
&lt;br /&gt;
Von Nachteil allerdings ist, dass die Platine evtl. auf der Rückseite so heiß wird, dass sie anfängt, sich zu zersetzen. Das ist sicherlich nicht gesund und daher sollte man hier vorsichtig sein (langsam erhitzen, frische Luft). Bei einseitigen Pertinax-Platinen ist diese Gefahr besonders groß (vermutlich wegen der schlechten Wärmeleitfähigkeit des Materials) - Epoxy-Platinen, insbesondere Multilayer, überstehen diese Prozedur aber normalerweise unbeschadet.&lt;br /&gt;
&lt;br /&gt;
Alternativ geht es auch mit der Heißluftdüse eines Gaslötkolbens (z.&amp;amp;nbsp;B. von Ersa). Dabei geht man zügig mit dem heißen Luftstrom über die Pins des ICs und erwärmt diese, bis sich das IC gewaltfrei abheben lässt. Richtig gemacht überleben IC und Platine.&lt;br /&gt;
&lt;br /&gt;
=== Komplette Platine erhitzen ===&lt;br /&gt;
&lt;br /&gt;
Wenn man alle Bauteile von einer Platine auf einmal ablösen möchet bietet es sich an, die gesamte Platine mit den Bauteile so weit zu erhitzen bis das Lot überall geschmolzen ist. Die Bauteile können dann mit einen Schlag von der Platine abgeschlagen werden.&lt;br /&gt;
&lt;br /&gt;
==== Reflow-Ofen ====&lt;br /&gt;
&lt;br /&gt;
Was zum Löten taugt, taugt auch zum Entlöten. Die Platine mit den Bauteilen wird im Reflow-Ofen erhitzt.&lt;br /&gt;
&lt;br /&gt;
==== Backofen ====&lt;br /&gt;
&lt;br /&gt;
Wie in Reflow-Ofen. Man sollte sich allerdings gut überlegen, ob man das in einem Ofen macht, der noch für Nahrungsmittel verwendet wird.&lt;br /&gt;
&lt;br /&gt;
==== Gasherdmethode ====&lt;br /&gt;
&lt;br /&gt;
Auf einer einseitig bestückten SMD-Platine kann man Bauteil und Platine  zerstörungsfrei wie folgt trennen: Von der großen Gasflamme die Abdeckung herunternehmen, diese Abdeckung z.&amp;amp;nbsp;B. mit Hilfe des Halters für kleine Töpfe über die kleine Gasflamme legen (natürlich geht das auch mit einem anderem Stück Metall, Hauptsache gerade) und dann mit der kleinen Gasflamme die Metallplatte/Abdeckung darüber erwärmen. Mit einem Stück Lötzinn probieren, ob es schon heiß genug ist (Lötzinn muss schmelzen, perlen und abtropfen).&lt;br /&gt;
&lt;br /&gt;
Wenn ja: Flamme ausmachen, Platine mit der nicht bestückten Seite auf das heiße Metall drücken, ein paar Sekunden warten, bis die Wärme von unten durch die Platine gewandert ist, und das Bauteil mit einer Pinzette abnehmen. Getestet mit Epoxyd-Platine. Sie hat überlebt, nur etwas dunkel verfärbt. Es empfiehlt sich, mit einer unkritischen Platine etwas zu üben.&lt;br /&gt;
&lt;br /&gt;
==== Bügeleisenmethode ====&lt;br /&gt;
&lt;br /&gt;
Ein Bügeleisen umgekehrt in einen Schraubstock spannen, eventuell mit einem&lt;br /&gt;
Tuch am Griff vor Kratzern schützen und die Gleitfläche mit Alufolie abdecken - um Ärger mit der besseren Hälfte zu vermeiden ;-) Auf maximale Temperatur stellen (Leinen), Platine mit der nicht bestückten Seite auflegen und warten, bis das Lot flüssig wird. Bauteile mit einer Pinzette abheben. Platine nach und nach verschieben um alle Stellen zu erhitzen.&lt;br /&gt;
&lt;br /&gt;
==== Benzinfeuerzeugmethode ====&lt;br /&gt;
&lt;br /&gt;
Benzinfeuerzeuge wie das &amp;quot;Zippo&amp;quot; eignen sich auch sehr gut um ICs von Platinen zu entfernen, im Normalfall bleiben Bauteile sowie Platine ganz. Das Feuerzeug wird angemacht und die Platine wird darüber gehalten (Vorsicht: heiß, am besten zum halten eine Zange verwenden) nun löst sich nach ein paar Sekunden das Lötzinn an den Pins und der IC kann mit einem Zahnstocher oder ähnlichem von der Platine geschoben werden, mal sollte mit der Flamme nicht an den Rand der Platine kommen, sonst fängt sie an anzuschmoren, die Platine wird in vielen Fällen unten schwarz, dies kommt vom Kohlenstoff welcher durch die Verbrennung des Benzines sich am PCB absetzt, es lässt sich mit vielen Lösungsmitteln entfernen. Die Methode ist aber nur für einseitige Platinen zu gebrauchen, da die Flamme Bauteile auf der unten liegenden Seite zerstören kann.&lt;br /&gt;
&lt;br /&gt;
==== Glaskeramik-Herd ====&lt;br /&gt;
&lt;br /&gt;
Geht nur bei einseitig bestückten Platinen! Ähnelt der Bügeleisen-Methode. Ist wegen der IR-Strahlung jedoch besser.&lt;br /&gt;
&lt;br /&gt;
Platine auf das Glaskeramikfeld legen. Dann das Feld ca. alle 1 - 2 Sekunden ein- und ausschalten. Dabei das An-Intervall langsam erhöhen. Dies so lange durchführen, bis das Zinn geschmolzen ist. Nun die gewünschten Bauelemente verschieben oder abheben. Darauf achten, dass das Glas frei von Zinn und anderen Stoffen bleibt.&lt;br /&gt;
&lt;br /&gt;
Achtung: Das Glas wird ungleichmäßig heiß, da die Heizwendeln lokal angeordnet sind.&lt;br /&gt;
&lt;br /&gt;
Wichtig: Die Platine ist über ihrer Glastemperatur, also biegsam. Die Platine einfach auf dem Glaskeramikherd auf eine kalte Platte legen und abkühlen lassen.&lt;br /&gt;
&lt;br /&gt;
Eignet sich gut zum Vorwärmen auf ca. 100 °C - 150 °C, auch bei beidseitig bestückten Boards, in Verbindung mit anderen Methoden (z.&amp;amp;nbsp;B. Heißluft). Ähnliche Vorwärmplatten gibt es speziell für die Löttechnik.&lt;br /&gt;
&lt;br /&gt;
Alternative:&lt;br /&gt;
&lt;br /&gt;
Platine mit einer geeigneten Zange in einem Abstand von ca. 2 bis 4 cm über das Glaskeramikfeld halten. Dabei die Herdplatte auf Maximum stellen (am Besten Anheizstufe). Nach einigen Sekunden ist das Zinn geschmolzen und man kann die Bauteile entnehmen bzw. verrücken.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil liegt in der hohen Strahlungswärme von Glaskeramikkochfeldern. Im Gegensatz zum &amp;quot;darauf legen&amp;quot; wird die Platine gleichmäßig erwährt und lokale Überhitzungen werden vermieden, was letztendlich Platine und Bauteile schont. Das nervige Ein- und Ausschalten entfällt außerdem.&lt;br /&gt;
&lt;br /&gt;
Eignet sich auch bedingt für doppelseitig bestückte Leiterplatten zum Auslöten. Man muss allerdings damit rechnen, dass Bauteile auf das heiße Glaskeramikfeld fallen.&lt;br /&gt;
&lt;br /&gt;
=== Recycelte Chips wiederaufbereiten ===&lt;br /&gt;
&lt;br /&gt;
* Zuerst müssen die Lötzinnreste entfernt werden. &lt;br /&gt;
In Alkohol gelöstes Kolophonium wirkt da Wunder. Einfach den Chip in dieses Flussmittel tauchen, welches man vorher z.&amp;amp;nbsp;B. auf einen kleinen Unterteller oder -tasse in kleinen Mengen vergossen hat. &lt;br /&gt;
* Dann mit sauberer Lötspitze an den Pins entlangziehen und das überflüssige Lötzinn an einem Schwamm oder Zellstoff (-Taschentuch) abstreifen. &lt;br /&gt;
* Verklebte Pins mittels dünner Lötspitze auseinander bringen. Auch ein Zahnstocher aus Holz leistet wertvolle Dienste.&lt;br /&gt;
* Bei Pins, die enger als 0,6 mm sind, hilft zusätzlich Entlötsauglitze. Anstelle von Entlötsauglitze kann auch ein dünnes, abisoliertes Litzenkabel (möglichst feindrahtig) dienen.&lt;br /&gt;
:Man sollte aber immer daran denken, dass die Gefahr des Ausfalls durch Überhitzung besteht. &lt;br /&gt;
&lt;br /&gt;
Eine zweite Möglichkeit besteht darin, das Lötzin &amp;quot;abzudremeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dazu eine kleine rotierende Messingbürste in den Dremel (Multifunktions-Schleifer) und an den Pins von innen nach außen entlangziehen.&lt;br /&gt;
&lt;br /&gt;
* Stahlbürsten sind mit Vorsicht zu genießen, weil sie einfach zu hart sind. &lt;br /&gt;
* Kunststoffbürsten hingegen können sich elektrostatisch aufladen!&lt;br /&gt;
* Eine &amp;quot;dritte Hand&amp;quot; oder Einspannvorrichtung erleichtert das Recyceln erheblich.&lt;br /&gt;
&lt;br /&gt;
Eine weitere dritte Möglichkeit ist mit Graphit: Lötzinn und Bleistift sind von Natur aus Feinde. Warmmachen, und Zinn mit Bleistift &amp;quot;wegdrängeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Ausrichten und Geradebiegen der Pins überlasse ich den eigenen Fähigkeiten.&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
&lt;br /&gt;
Man sollte nicht glauben, dass man jetzt sofort jegliches SMD-Bauteil einlöten kann, mal abgesehen von Widerständen. Alles benötigt eine gewisse Übung und es empfiehlt sich, erst mit den einfacheren SO-Packages anzufangen und einige TSSOPS einzulöten, bevor man sich an TQFP oder ähnliches heranwagt. Außerdem sollte man sich für die ersten Versuche nicht unbedingt einen 10 Euro teuren Chip hernehmen. Wenn man aber nicht zwei linke Hände hat, sollten alle Packages beim zweiten oder dritten Lötversuch einigermaßen sauber eingelötet sein. Und besonders bei den TSSOPs und TQFPs sieht es dann fast wie Industriefertigung aus.&lt;br /&gt;
&lt;br /&gt;
==== Kontrollieren von Lötstellen ====&lt;br /&gt;
&lt;br /&gt;
Zur Kontrolle der gelöteten Bauteile sollte man, wie schon erwähnt, eine gute Lupe - besser noch Lupenleuchte - benutzen oder auch schon preiswert über diverse Internetauktionen zu ersteigernde &amp;quot;USB Mikroskope&amp;quot;, die an einen PC oder Laptop angeschlossen werden können. Das kann böse Überraschungen bei der Inbetriebnahme der gelöteten Platine vermeiden. Unabdingbar ist immer eine gute Ausleuchtung des Arbeitsplatzes.&lt;br /&gt;
&lt;br /&gt;
Auslöten kann man gut an defekten Platinen, z.&amp;amp;nbsp;B. aus Computern, üben.&lt;br /&gt;
&lt;br /&gt;
Und ja keine Lötpaste essen!!!! Dann wird alles gut :D&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[SMD]]&lt;br /&gt;
* [[IC-Gehäuseformen#Adapterplatinen für SMD-ICs|Adapterplatinen für SMD-ICs]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* How-to Videos &lt;br /&gt;
** [http://www.youtube.com/watch?v=wQXhny3R7lk Professionelles SMD Löten leicht gemacht, engl. Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=3NN7UGWYmBY SMD Soldering without expensive tools, engl. Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=KOoOpHZmIiA SMD Löten 0805+0603, deutsches Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=eApVG5GjLbU&amp;amp;NR=1 SMD Löten von SOIC, Pin für Pin, Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=NALwJ6OnwNw SMD Löten von QFP, Pin Für Pin, Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=YzI31gfCjJE SMD Löten von TSOP mit der Ziehmethode, Youtube-Video]&lt;br /&gt;
** [http://www.youtube.com/watch?v=YSdihwWegIg Löten von SOIC mit Lötpaste und Heißluft, YouTube-Video]&lt;br /&gt;
** [http://www.makezine.com/blog/archive/2007/01/soldering_tutor_1.html MAKE-Magazine Podcast Löt- und Entlöttips]&lt;br /&gt;
&lt;br /&gt;
* Anleitungen&lt;br /&gt;
** [http://www.seattlerobotics.org/encoder/200006/oven_art.htm SMD-Löten im Toastofen (englisch)] &lt;br /&gt;
** [http://www.elv-downloads.de/downloads/journal/SMD-Anleitung.pdf SMD-Anleitung von ELV praktische Tips] &lt;br /&gt;
** [http://www.bimbel.de/artikel/artikel-17.html Bilder und kleine Anleitung]&lt;br /&gt;
** [http://www.ulrichradig.de/ SMD-ICs ein-/auslöten (unter Tipps&amp;amp;Tricks)]&lt;br /&gt;
** [http://www.gadgetpool.de/nuke/modules.php?name=News&amp;amp;file=article&amp;amp;sid=23 SMD-Löten für jedermann]&lt;br /&gt;
** [http://www.circuitrework.com/guides/guides.shtml Circuit Technology Center - Surgeon grade rework and repair, by the book and guaranteed.]&lt;br /&gt;
** [http://iwenzo.de/wiki/SMD_Bauteile_l%C3%B6ten SMD Bauteile löten]&lt;br /&gt;
** [http://frickelpower.bplaced.net/index.php?page=smdesolder SMD entlöten mit selbstgebastelter Heißluftpistole]&lt;br /&gt;
&lt;br /&gt;
* Werkzeuge&lt;br /&gt;
** [http://www.qrpbuilder.com/downloads/smd%20device%20041510.pdf Homemade SMD Component Placement Device] (PDF)&lt;br /&gt;
** [http://thomaspfeifer.net/ SMD löten/entlöten und Reflow Ofen Selbstbau (unter Trickkiste und AVR Projekte)]&lt;br /&gt;
**[http://www.sef.de Reflowlötanlagen]&lt;br /&gt;
**[http://www.martin-smt.de SMD Bearbeitungsgeräte - Reworksysteme]&lt;br /&gt;
**[http://www.fritsch-smt.de Bestückungsautomaten / Siebdruckgeräte]&lt;br /&gt;
&lt;br /&gt;
* Fertige Universalplatinen&lt;br /&gt;
** [http://www.shop.display3000.com/wichtiges-zubehoer/elektronikmodule/sot-tssop-qfn-lga-universalplatine.html Universalplatine für SO, SO-wide, TSSOP, QFN, LGA]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77976</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77976"/>
		<updated>2013-08-14T06:50:32Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind unter anderem &#039;&#039;&#039;Karlson vom Dach, Michel von Lönneberger, der gestiefelte Kater und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77975</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77975"/>
		<updated>2013-08-14T06:49:45Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* Missverständnisse und Eigenheiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;Angela Merkel, Gerhard Schröder, Ursular von der Leihen und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Einverständniss zum Misshandeln ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77974</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77974"/>
		<updated>2013-08-14T06:49:28Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;Angela Merkel, Gerhard Schröder, Ursular von der Leihen und Pipi Langstrumpf&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77973</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77973"/>
		<updated>2013-08-14T06:48:39Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: Nicht brauchbare beiträge entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich &lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77972</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77972"/>
		<updated>2013-08-14T06:48:19Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* 8 Bit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:   -&amp;gt; größter scheiß aller Zeiten !&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich leistungsfähiger ist. Genannt wurde dies „chipKIT“ und ist im Moment in 2 Varianten verfügbar. Die Entwicklungsumgebung für die chipKITs basiert auf der Arduino-Software und somit sollen auch alle für den Arduino programmierten Progamme auf dem chipKIT laufen. Es gibt auch PIC32er im DIP-Gehäuse. Somit kann man auch den 32bit Microcontroller von Microchip auf z.B. eine Lochrasterkarte bringen und hat nicht soviele (evtl sogar überflüssige) Pins, wie in den kleinen TQFP/N- oder BGA-Gehäusen.&lt;br /&gt;
&lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77971</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77971"/>
		<updated>2013-08-14T06:47:14Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 kleine Enten können folgendes beinhalten:&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich leistungsfähiger ist. Genannt wurde dies „chipKIT“ und ist im Moment in 2 Varianten verfügbar. Die Entwicklungsumgebung für die chipKITs basiert auf der Arduino-Software und somit sollen auch alle für den Arduino programmierten Progamme auf dem chipKIT laufen. Es gibt auch PIC32er im DIP-Gehäuse. Somit kann man auch den 32bit Microcontroller von Microchip auf z.B. eine Lochrasterkarte bringen und hat nicht soviele (evtl sogar überflüssige) Pins, wie in den kleinen TQFP/N- oder BGA-Gehäusen.&lt;br /&gt;
&lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77970</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77970"/>
		<updated>2013-08-14T06:45:21Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: /* 8 Bit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[Kleiner schwanz]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich leistungsfähiger ist. Genannt wurde dies „chipKIT“ und ist im Moment in 2 Varianten verfügbar. Die Entwicklungsumgebung für die chipKITs basiert auf der Arduino-Software und somit sollen auch alle für den Arduino programmierten Progamme auf dem chipKIT laufen. Es gibt auch PIC32er im DIP-Gehäuse. Somit kann man auch den 32bit Microcontroller von Microchip auf z.B. eine Lochrasterkarte bringen und hat nicht soviele (evtl sogar überflüssige) Pins, wie in den kleinen TQFP/N- oder BGA-Gehäusen.&lt;br /&gt;
&lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77969</id>
		<title>PIC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=PIC&amp;diff=77969"/>
		<updated>2013-08-14T06:43:28Z</updated>

		<summary type="html">&lt;p&gt;194.76.64.12: sinnvolle änderung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein PIC ist ein [[Mikrocontroller]] der Firma Microchip. Zu aller erst möchte ich die Aufteilung der PICs veranschaulichen. Die PIC-Familien werden fast immer wie folgt bezeichnet: als Beispiel „PIC18“ oder „18er PIC“ bedeutet, es handelt sich um ein PIC18Fxxxx Microcontroller. Alle PICs haben die [[Harvard-Architektur]]. Es können auch alle PICs mittels dem ICSP-Adapter programmiert werden. ICSP steht für In-Ciruit-Serial-Programmer, also ist mittels diesem Anschluss ein brennen möglich, wenn der PIC schon in der Schaltung eingebaut ist. Zudem haben alle PICs, wie auch Microcontroller anderer Hersteller, interne Module. Ein Modul übernimmt eine spezielle Aufgabe, die von der Software nur konfiguriert und nicht zusätzlich ausgeführt wird. Ein Beispiel ist das PWM-Modul. Man kann eine PWM mit der Software generieren (SoftPWM), aber einfacher geht es mit dem Modul, dass nur konfiguriert werden muss. Die Ausgabe der PWM erfolgt anschließend allein durch das Modul und nicht der Software. Da die PICs aber sonst sehr unterschiedlich sind, sollten sie getrennt aufgeführt werden. Grob unterteilt werden sie anhand ihrer Datenbreite.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit ==&lt;br /&gt;
&lt;br /&gt;
Die 8 Bit Microcontroller-Familien sind &#039;&#039;&#039;PIC10, PIC12, PIC16 und PIC18&#039;&#039;&#039;. Bei den 8-bittigen PICs gibt es einmal den Buchstaben „F“ hinter der Familienbezeichnung und den Buchstaben „C“. Die mit einem „F“ in der Bezeichnung haben einen [http://www.mikrocontroller.net/articles/Flash-ROM Flash]-Programmspeicher, dieser ist somit mehrmals beschreibbar. Das „C“ bedeutet, dass der Programmspeicher entweder ein [http://www.mikrocontroller.net/articles/OTP-ROM OTP]-Speicher (One-Time-Programable – Nur ein mal beschreibbar), oder aber ein [[EPROM]]-Speicher ist, den man nur mit Hilfe von UV-Licht löschen kann. Aus diesem Grund sind die „C“-Varianten uninteressant für Hobby-Elektroniker, zudem sind die C-Varianten ziemlich alt und sogut wie alle PICs sind ausschließlich mit Flash-Speicher verfügbar. Die Typen der Familien haben unterschiedliche Ausstattung, dennoch kann man sagen, je höher die Zahl, desto Leistungsfähiger ist der PIC. Jedoch: Ein Typ der PIC10 Familie mag zwar deutlich schwächer sein, als ein PIC18, dafür gibt es den PIC10 in einem SOT23-Gehäuse, wohingegen der kleinste PIC18 ein SOIC18 ist. Zudem ist der PIC10 billiger, als ein PIC18. Es kommt also immer auf den Anwendungsfall an.penis&lt;br /&gt;
&lt;br /&gt;
8 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 128k [[Byte]] ROM&lt;br /&gt;
* bis zu 4k [[Byte]] [[RAM]]&lt;br /&gt;
* bis zu 1024 [[Byte]] [[EEPROM]]&lt;br /&gt;
* 6 bis 100 Pins / 4 bis 70 IOs&lt;br /&gt;
* Internen Oscillator&lt;br /&gt;
* 8/10/12-bit [[ADC]]&lt;br /&gt;
* 5/8-bit [[DAC]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* [[Komparator]]&lt;br /&gt;
* [[Opamp]]&lt;br /&gt;
* 8x8 Hardware Multiplier&lt;br /&gt;
* CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Ethernet Ethernet]&lt;br /&gt;
&lt;br /&gt;
Eine Sonderform der 8 Bit Microcontroller ist der rfPIC12F675. Dieser ist extra für RF, also Funkanwendungen ausgelegt und besitzt einen internen [http://de.wikipedia.org/wiki/Dezimeterwelle UHF] [http://de.wikipedia.org/wiki/Amplitude_Shift_Keying ASK]/[http://de.wikipedia.org/wiki/Frequenzumtastung FSK] Transmitter. Eine weitere Sonderform ist der PIC16HV785, der kompatibel zum PIC16F785 ist. Allerdings geht der Spannungsbereich von 2V bis hin zu 15V. Somit kann man diesen auch direkt in ein 12V-System stecken und spart sich ggf. Levelshifter und Spannungsregler. Eine detailiertere Übersicht findet man auf der [http://www.microchip.com/en_US/family/8bit/architecture/ Microchip-Seite] und eine Liste aller Typen ist für jede Familie verfügbar: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1009&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC10], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1001&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC12], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC16], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC18].&lt;br /&gt;
&lt;br /&gt;
== 16 Bit ==&lt;br /&gt;
Die Vertreter der 16 Bit Microcontroller sind &#039;&#039;&#039;PIC24E, PIC24F, PIC24H, dsPIC30F, dsPIC33E, dsPIC33F&#039;&#039;&#039;. Trotz dessen nicht überall ein „F“ in der Bezeichnung ist, haben diese Familien dennoch einen Flash-Speicher. Die dsPICs haben, wie der Name schon vermuten lässt, eine zusätzliche [[DSP]]-Einheit, die extra für komplexere Berechnungen wie [http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation FFT] oder [http://de.wikipedia.org/wiki/Digitales_Filter Digital-Filter] benutzt werden können. &lt;br /&gt;
&lt;br /&gt;
16 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* bis zu 70 [[MIPS]]&lt;br /&gt;
* bis zu 536k [[Byte]] Rom&lt;br /&gt;
* bis zu 96k [[Byte]] Ram&lt;br /&gt;
* bis zu 4k [[Byte]] [[EEPROM]]&lt;br /&gt;
* 14 bis 144 Pins / 12 bis 122 IOs&lt;br /&gt;
* “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division&lt;br /&gt;
* bis zu 32 Channel 10/12-bit [[ADC]]&lt;br /&gt;
* 10/16-bit [[DAC]]&lt;br /&gt;
* Digital Power, Motor Control und Audio Peripherals&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* PMP (Parallel Master Port)&lt;br /&gt;
* [[USB]]-OTG&lt;br /&gt;
* CTMU&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC] (Real Time Clock&amp;amp;Calendar)&lt;br /&gt;
* [[DMA]] Channels für schnelleren Datentransfer&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/16bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es die Typenlisten für die Familien [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8187&amp;amp;mid=14&amp;amp;lang=en PIC24E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24F]&lt;br /&gt;
[http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 PIC24H], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC30F], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8188&amp;amp;mid=14&amp;amp;lang=en dsPIC33E], [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8183&amp;amp;mid=14&amp;amp;lang=en&amp;amp;pageId=75 dsPIC33F].&lt;br /&gt;
&lt;br /&gt;
== 32 Bit ==&lt;br /&gt;
Der 32 Bit Microcontroller hat nicht mehr viel mit den anfänglichen PICs gemeinsam. Er besitzt einen „MIPS M4K“-Kern aber ist trotzdem Pin-Kompatibel zu den 16 Bit PICs. Die Typen der PIC32-Familie unterstützen zusätzlich das [[JTAG]]-Interface. Es wurde außerdem auf PIC32-Basis eine [http://de.wikipedia.org/wiki/Arduino-Plattform Arduino]-Alternative entwickelt, die dadurch deutlich leistungsfähiger ist. Genannt wurde dies „chipKIT“ und ist im Moment in 2 Varianten verfügbar. Die Entwicklungsumgebung für die chipKITs basiert auf der Arduino-Software und somit sollen auch alle für den Arduino programmierten Progamme auf dem chipKIT laufen. Es gibt auch PIC32er im DIP-Gehäuse. Somit kann man auch den 32bit Microcontroller von Microchip auf z.B. eine Lochrasterkarte bringen und hat nicht soviele (evtl sogar überflüssige) Pins, wie in den kleinen TQFP/N- oder BGA-Gehäusen.&lt;br /&gt;
&lt;br /&gt;
32 Bit PICs können folgendes beinhalten:&lt;br /&gt;
* 80 MHz, 1.56 DMIPS/MHz&lt;br /&gt;
* bis zu 512k [[Byte]] Rom&lt;br /&gt;
* bis zu 128k [[Byte]] Ram&lt;br /&gt;
* Full-speed [[USB]] Host/Device/OTG&lt;br /&gt;
* 10/100 [http://de.wikipedia.org/wiki/Ethernet Ethernet] MAC mit MII/RMII Interfaces&lt;br /&gt;
* [[CAN]] 2.0B&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/I2C I²C]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* bis zu 8 Channel [[DMA]]&lt;br /&gt;
* Analoger [[Komparator]]&lt;br /&gt;
* [[PWM]]&lt;br /&gt;
* 16-Channel 10bit [[ADC]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Echtzeituhr RTCC]&lt;br /&gt;
&lt;br /&gt;
Die Übersicht ist wieder unter der [http://www.microchip.com/en_US/family/32bit/architecture/ Microchip-Seite] zu finden und auch hier gibt es eine Typenliste für die Familie: [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 PIC32MX].&lt;br /&gt;
&lt;br /&gt;
== Compiler und IDE ==&lt;br /&gt;
=== MPLAB ===&lt;br /&gt;
&lt;br /&gt;
MPLAB ist die freie [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] von Microchip und unterstützt von vornherein alle Brenner, Debugger, Emulatoren von Microchip. Zudem kann das Programm in der IDE per Software emuliert werden. Um Programme in [[C]] zu schreiben, können [[C]]-[[Compiler]], sofern die Software das unterstützt, in die [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] eingebettet werden, wie z.B. der HI-TECH C-Compiler. Genaueres kann man auf der [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469 Microchip-Seite] anschauen.&lt;br /&gt;
&lt;br /&gt;
=== MPLAB X ===&lt;br /&gt;
MPLAB X ist ist eine Weiterentwicklung von MPLAB. Es beinhaltet alle Funktionen von MPLAB (v8). Jedoch wurde die Software komplett neu gestaltet. Vom Simulator bis zum Projektmanagement ist alles modernisiert worden. MPLAB X ist für alle gängigen Betriebssysteme erhältlich (Windows, Linux und OS X).&lt;br /&gt;
Weitere Informationen findet man auf der [http://www.microchip.com/pagehandler/en-us/family/mplabx/ Produktseite von MPLAB X].&lt;br /&gt;
&lt;br /&gt;
=== C-Compiler ===&lt;br /&gt;
Microchip bietet direkt [[C]]-[[Compiler]] an. Diese wären C18 (für PIC18 Typen), C30 (für 16bit Typen) und C32 (für 32bit Typen). Diese [[Compiler]] können als nicht-kommerzielle Freeware-Version heruntergeladen werden. Dabei wird nach einer gewissen Zeit die Optimierung eingeschränkt. Diese ist für Hobby-Bastler allerdings nicht unbedingt kritisch. Da die [[C]]-[[Compiler]] C30 und C32 von Microchip auf Open-Source aufbauen, sollte der Sourcecode direkt von deren Seite heruntergeladen und die Aufhebung entfernt werden können (sofern man die Möglichkeit hat, die Software danach wieder zu kompilieren).&lt;br /&gt;
Es gibt auch andere [[Compiler]], wie z.B. der [[C]]-[[Compiler]] von HI-TECH.&lt;br /&gt;
Andere wären noch CC5X oder Compiler der Firma mikroElektronika. Letzterer unterstützt nicht nur alle PICs, sondern ist auch für [[AVR]]s, [[8051]]er und [[ARM]] Microcontroller, sowie jeweils auch in [[Basic]] und [http://de.wikipedia.org/wiki/Pascal_%28Programmiersprache%29 Pascal] erhältlich. MikroE-Compiler, sowie der CC5X sind in der Freeware-Version allerdings Codegrößenbegrenzt, was gerade bei 16bit oder 32bit PICs schnell eng werden kann.&lt;br /&gt;
&lt;br /&gt;
Mit der Einführung von MPLAB X wurden auch die neuen [http://www.microchip.com/pagehandler/en_us/promo/mplabxc/ XC] Compiler von Microchip veröffentlicht. XC8 für 8Bit PICs, XC16 für [[PIC24]] und [[dsPIC]]s und XC32 für [[PIC32]] Mikrocontroller. Auch hier sind Free-Versionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Ein Vergleich einiger C-Compiler ist in diesem Artikel zu sehen:&lt;br /&gt;
[[PIC C-Compilervergleich]]&lt;br /&gt;
&lt;br /&gt;
== Programmiergeräte ==&lt;br /&gt;
Um das Programm auf einen PIC zu bekommen, muss dieses per Gerät auf den PIC „gebrannt“ werden. Microchip bietet dazu das PICKIT2 und PICKIT3 an. Das PICKIT3 ist das aktuellere, was bedeutet, dass Firmwareupdates hauptsächlich für diese Version entwickelt werden. Spürbar ist das jetzt schon bei den PIC32MX, die nur vom PICKIT3 unterstützt werden. Wenn man aber kein PIC32 benutzen möchte, kann man bis jetzt aber auch noch zum PICKIT2 greifen, das zusätzlich noch als kleiner Logik-Analyzer dienen kann. Das nächst bessere, was Microchip bietet, ist ein ICD (In-Circuit-Debugger), das eine erweiterte Debuggermöglichkeit bietet. Das „Flagschiff“ ist der REAL-ICE (In-Circuit-Emulator), der zusätzlich noch in der Hardware emulieren kann. Eine Übersicht ist [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2519&amp;amp;param=en534451&amp;amp;page=wwwdevMPLABEmulatorDebuggers hier] zu sehen.&lt;br /&gt;
&lt;br /&gt;
Wie für andere Microcontroller, gibt es auch für den PIC Selbstbaubrenner. Der wohl Bekannteste ist der [http://sprut.de/electronic/pic/brenner/ Brenner8] von der [http://sprut.de Sprut-Seite]. Doch allgemein gilt für Third-Party-Brenner: Es werden neue Microcontroller-Typen, wenn überhaupt, erst später unterstützt, als bei einem originalen Brenner und es führt zu zusätzlichen, möglichen Fehlerquellen durch den Bau. Denn wer kommt schon auf die Idee den Fehler im Brenner zu suchen und nicht in der Schaltung. Hier im Forum sind schon mehrere solcher Fälle vorgekommen. Außerdem bekommt man das &amp;quot;Henne oder Hahn&amp;quot;-Problem zu spüren, denn für den Brenner8 muss man einen PIC18 brennen, d.h. man muss sich irgendwo seinen PIC brennen lassen, bevor man es selbst tun kann. Zudem wird nicht jeder bzw. kaum ein Selbst-Bau-Brenner von der IDE unterstützt, was bedeutet, dass man mindestens 2 Programme braucht - Eine zum brennen und eine zum programmieren. Der Brenner8 unterstützt auch kein Debugging, wie es das PICKIT3 jedoch tut. Die Hilfestellung bei einem verbreitetem Programmiergerät ist selbstverständlich besser als bei einem opensource Selbsbau-Brenner. Zudem wird so ein Brenner und die Software meist von einer Einzelperson gepflegt. Dies bedeutet aber auch, dass die Updates usw von dieser Person abhängig ist. Fällt dieser aus (Krankheit oder persönliche Gründe), geht erstmal nichts weiter voran. Es muss also jeder selbst abwägen, ob einem das die ca. 10€ weniger Wert ist. Wenn es jemanden darum geht, den Brenner selbst zu bauen, der kann auch das PICKIT2 nachbauen, denn [http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf Schaltplan] (Seite 77+78) und [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2V023200.zip Firmware] sind offen auf der Herstellerseite verfügbar. Hier ist zwar immer noch die mögliche Fehlerquelle beim Zusammenbau vorhanden, jedoch hat man damit einen besseren Brenner. Wenn einem der originale Brenner zu teuer ist, kann man sich bei Ebay auch nach einem Clone vom PICKIT2 oder PICKIT3 umsehen. Diese kosten im Moment zwischen 15€ und 25€.&lt;br /&gt;
&lt;br /&gt;
== Missverständnisse und Eigenheiten ==&lt;br /&gt;
Es gibt einiges, was einen PIC-Neuling abschrecken oder verwirren könnte. Manchmal hört man z.B. dass kaum oder schlechte Peripherie verbaut wurde, wobei dies meist, wenn überhaupt zutreffend, für sehr alte PICs gilt (90er Jahre). Es wird auch oft bemängelt, dass der Quarz-Takt durch 4 geteilt wird. Dafür werden so gut wie alle Befehle in einem System-Takt ausgeführt, wo andere mehr brauchen.&lt;br /&gt;
Fallen für Neulinge gibt es nur wenige und unkritische (im Vergleich zum „verfusen“ eines [[AVR]]s). Es muss zum Beispiel bedacht werden, dass, um auf manche Register zugreifen zu können, die Bank gewechselt werden muss - dies macht ein [[C]]-[[Compiler]] aber automatisch. Außerdem muss die geplante Vierteilung von oben bedacht werden, um Zeitschleifen zu berechnen. Verwirrend kann gerade für Leute, die den [[AVR]] gewohnt sind sein, dass das Register zum Konfigurieren der IOs eine 1 für einen Eingang braucht, und keine 0. Doch merken kann man sich, dass die 1 wie ein großes I aussieht und für Input -&amp;gt; Eingang steht. Andersrum steht die 0 für ein großes O wie Output -&amp;gt; Ausgang.&lt;br /&gt;
&lt;br /&gt;
Wer sich hier im Forum schon mal rumgetrieben hat, kann eventuell auch den „kleinen Krieg“ zwischen [[AVR]] und PIC mitbekommen haben. Dazu will ich auch nur sagen, dass an sich jeder Microcontroller seine Daseinsberechtigung hat. Ob PIC oder [[AVR]], ob 8 Bit oder 32 Bit. Deswegen sollte man einfach die Microcontroller ausprobieren und selbst entscheiden. Wenn jemand sich einen, meiner Meinung nach guten Vergleich zwischen [[AVR]] und PIC angucken will, kann sich das -&amp;gt;[http://www.youtube.com/watch?v=DBftApUQ8QI EEVBlog #63]&amp;lt;- Video auf Youtube angucken. Da wird auch erläutert, warum es keinen Grund gibt, einen der beiden Microcontroller zu meiden. Zudem ist es auch etwas unprofessionell, ohne selbst eigene Erfahrung gesammelt zu haben, eine Familie oder sogar einen ganzen Hersteller abzuschreiben.&lt;br /&gt;
&lt;br /&gt;
== Alte und neue PICs ==&lt;br /&gt;
Microchip stellt schon seit Anfang der 90er Microcontroller her. Damals war die Technik logischerweise noch nicht auf dem Stand wie heute. Es wird immer kleiner und dennoch schneller und stromsparender. Doch da manche wohl einfach nicht von den alten PICs loskommen, werden diese Heutzutage auch noch teilweilse eingesetzt. Außerdem gibt es mehrere (oft alte) fertige Projekte, die eben so einen alten PIC verwenden und da viele die Projekte nachbauen und nichts neu programmieren (wollen), sind diese PICs immer wieder oft zu finden. Die neuen PICs sind nicht nur Stromsparender und haben mehr Platz, sondern sind auch noch billiger. Ich hab mal zwei alte/ältere und oft zu findende PICs rausgesucht (PIC16F84A und PIC16F887) und einfach mal mit neuen PICs der selben Pinzahl und Bauform(DIP) verglichen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F84A vs. PIC16F1827&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F84A || PIC16F1827&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 1k Word || 4k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 68 Byte || 384 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 64 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 18/13 || 18/16&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || - || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 0 || 12&lt;br /&gt;
|-&lt;br /&gt;
| Communication || - || 1xUART, 2xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || - || 2xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 1x8bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012) || 3,15€ || 1,60€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;PIC16F887 vs. PIC16F1939&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || PIC16F887 || PIC16F1939&lt;br /&gt;
|-&lt;br /&gt;
| ROM/Flash || 8k Word || 16k Word&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || 368 Byte || 1024 Byte&lt;br /&gt;
|-&lt;br /&gt;
| EEPROM || 256 Byte || 256 Byte&lt;br /&gt;
|-&lt;br /&gt;
| Pins/IOs || 40/36 || 40/36&lt;br /&gt;
|-&lt;br /&gt;
| Max. Frequenz || 20MHz || 32MHz&lt;br /&gt;
|-&lt;br /&gt;
| Internal Oscillator || 8MHz, 32kHz || 32MHz, 32kHz&lt;br /&gt;
|-&lt;br /&gt;
| Comparators || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ADC-Channels || 14 || 14&lt;br /&gt;
|-&lt;br /&gt;
| Communication || 1xUART, 1xI²C/SPI || 1xUART, 1xI²C/SPI&lt;br /&gt;
|-&lt;br /&gt;
| CCP || 1xECCP, 1xCCP || 3xECCP, 2xCCP&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 2x8bit, 1x16bit || 4x8bit, 1x16bit&lt;br /&gt;
|-&lt;br /&gt;
| Preis Reichelt (30.03.2012)|| 2,65€ || 2,15€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass dieser aus heutiger Sicht total klein, schlecht und dafür überteuert ist und man für das gleiche Geld 2 bessere bekommt. Der einzige Grund, der für ältere PICs spricht, ist der, dass man eine vorhandene Software benutzen und nicht umschreiben will. Sollte es aber ein neues, eigenes Projekt werden, tut euch einen Gefallen, spart Geld und kauf neue PICs ;)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://reichelt.de/PIC-Microcontroller/2/index.html?;ACTION=2;LA=2;GROUPID=2961;SHOW=1; Reichelt]&lt;br /&gt;
* [http://de.rs-online.com/web/c/?sra=oss&amp;amp;searchTerm=pic&amp;amp;x=0&amp;amp;y=0 RS-Online]&lt;br /&gt;
* [https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=show&amp;amp;fromCatalog=true&amp;amp;filterHierarchyNodeId=178072&amp;amp;filterHierarchyLevel=5&amp;amp;hierarchyDepth=0&amp;amp;autoAttributeEnabled=false Distrelec]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://de.farnell.com/jsp/search/browse.jsp?N=2008+202682&amp;amp;Ntk=gensearch&amp;amp;Ntt=pic&amp;amp;Ntx=mode+matchallpartial Farnell] Microchip Boarde&lt;br /&gt;
* [http://thinkembedded.ch/PIC:::12.html Thinkembedded Webshop] Olimex Boarde&lt;br /&gt;
* [http://www.futurlec.com/Boards.shtml Futurelec]&lt;br /&gt;
&lt;br /&gt;
== Links und Literatur ==&lt;br /&gt;
* [http://www.microchip.com/ Microchip Homepage]&lt;br /&gt;
* [http://www.htsoft.com/ Hi-TECH Homepage]&lt;br /&gt;
* [http://www.bknd.com/cc5x/ CC5X Homepage]&lt;br /&gt;
* [http://www.mikroe.com/eng/home/index MikroElektronika Homepage]&lt;br /&gt;
* [http://sprut.de/ Sprut Homepage]&lt;br /&gt;
* [http://pic-projekte.de/ Tutorials (PIC/C) und PIC-Forum]&lt;br /&gt;
* [http://sprut.de/electronic/pic/projekte/brenner8/index.htm Brenner8 Projektseite]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:PIC| ]]&lt;/div&gt;</summary>
		<author><name>194.76.64.12</name></author>
	</entry>
</feed>