<?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=Mlh</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=Mlh"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Mlh"/>
	<updated>2026-05-02T09:45:26Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=87628</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=87628"/>
		<updated>2015-03-03T09:43:18Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Standardtypen */ Prollwort entfernt. Ein Standard ist was anderes, sonst gäbe es nicht so viele verschiedene Typen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce-max&lt;br /&gt;
| Vsupply&lt;br /&gt;
! CTR&lt;br /&gt;
! Iout&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| 4N32, 4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30 V&lt;br /&gt;
| &lt;br /&gt;
| &amp;gt;= 500 %&lt;br /&gt;
| 100 mA max.&lt;br /&gt;
| 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| R (nur DIP)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4N35, 4N36, 4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30 V&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| 100 mA&lt;br /&gt;
| ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| R&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N135, 6N136, HCPL2503, HCPL4502&lt;br /&gt;
| DIP8&lt;br /&gt;
| 20 V&lt;br /&gt;
| 0 - 30 V&lt;br /&gt;
| 18 - 30 %&lt;br /&gt;
| 100 mA&lt;br /&gt;
| 1 MBit/s&lt;br /&gt;
| Dual-channel: HCPL2530, HCPL2531&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6N137&lt;br /&gt;
| DIP8&lt;br /&gt;
| &lt;br /&gt;
| 4,5 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| 15 mA&lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| R&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FOD060&lt;br /&gt;
| DIP8, SMT8&lt;br /&gt;
| &lt;br /&gt;
| 3,0 - 5,5 V&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SFH610&lt;br /&gt;
| DIP4, SMT (SFH6106)&lt;br /&gt;
| 70 V&lt;br /&gt;
|&lt;br /&gt;
| 40 % - 320 %&lt;br /&gt;
| &lt;br /&gt;
| 10 MBit/s&lt;br /&gt;
| Veraltet&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.panasonic-electric-works.com/peweu/en/html/photomos.php PhotoMOS Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.avagotech.com/products/parametric/optocouplers/optocouplers_-_plastic/plastic_high_linearity_analog_optocoupler/ Avago HCNR-200/201]&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und 230 Volt Netzspannung.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80897</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80897"/>
		<updated>2014-01-16T22:41:47Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
== Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt; == &lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die besonderen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 1, auf die Schnelle zur Schaltung ==&lt;br /&gt;
Dieser Artikel entstand, weil es im Zusammenhang mit der Stromversorgung von elektronischen Schaltungen im KFZ jede Menge falsche Vorstellungen, Halbwissen und Missverständnisse gibt, wie immer wiederkehrende Diskussionen im Forum zeigen.&lt;br /&gt;
Viele Hobbyelektroniker und sogar Industrieentwickler halten das Bordnetz von KFZ für die reine Hölle, wie sogar das Datenblatt des LTC1435 [[http://www.datasheetdir.com/LTC1435+download]] (S.14) zeigt&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;, und man müsste unglaubliche Anstrengungen und Vorsorge treffen, um eine Schaltung ohne Schaden im KFZ zu betreiben.&lt;br /&gt;
Selbstverständlich ist das nicht so, wie Millionen von elektronischen Steuerungen in unseren KFZ tagtäglich auf der Straße beweisen.&lt;br /&gt;
Andererseits ist das Bordnetz ein Umfeld, das besondere Beachtung und bestimmte Maßnahmen erfordert, um eine elektronische Schaltung, speziell mit Mikrocontrollern, sicher zu betreiben.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun also endlich zur Schaltung, wobei wir davon ausgehen, daß 5V für den Mikrocontroller nötig sind. Dies war bei mir der Fall und so zeige ich meine Lösung, die natürlich nicht die einzig mögliche darstellt sondern nur eine von vielen Möglichkeiten ist.&lt;br /&gt;
&lt;br /&gt;
[[Schaltplan1]]&lt;br /&gt;
&lt;br /&gt;
Hier wird also die Bordspannung über eine Diode und einen Widerstand auf einen Elektrolytkondensator geführt, um dann von einem herkömmlichen Dreibein-Spannungsregler auf 5V reduziert zu werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Manch einer fragt sich hier natürlich, warum eine Industrieschaltung um so viel aufwendiger ist, das muß doch einen Grund haben? Natürlich hat es den, aber das erkläre ich erst im 2. Teil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zunächst sei hier gesagt, daß alle wesentlichen sowie in der Praxis vorkommenden Störfälle mit dieser Schaltung komplett abgedeckt sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zum Abfangen von negativen Pulsen reicht die Diode in Flußrichtung. Positive Pulse sind mit einem Tiefpass zu begrenzen, im einfachsten Fall genügt bereits die schon vorhandene Diode als „Vorwiderstand“ für einen etwas größeren Kondensator, man kann aber auch einen niederohmigen Widerstand so wie hier geschehen vorsehen, um auf der sicheren Seite zu sein. Alles weitere regelt im Sinne des Wortes ein ganz normaler Linearregler vom Typ 7805 mit einer maximalen Eingangsspannung von 35V. Eventuell laut Datenblatt nötige Kondensatoren sind freilich hinzuzufügen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Schon ist die Schaltung fertig; wer sich nicht weiter für die Theorie interessiert, kann hier aufhören zu lesen und anfangen zu löten. Viel Spass!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 2, theoretische Betrachtung ==&lt;br /&gt;
Hier nun eine etwas tiefer gehende Betrachtung der Fälle.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fortsetzung folgt nach Lust, Laune und Zeit.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Eigentlich zeigt das nur, daß der Autor des Datenblattes seinen Beruf nicht recht versteht, ein Profi braucht solche Theatralik nicht. Wie bedauerlich.&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80894</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80894"/>
		<updated>2014-01-16T21:53:09Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
== Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt; == &lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die speziellen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 1, auf die Schnelle zur Schaltung ==&lt;br /&gt;
Dieser Artikel entstand, weil es im Zusammenhang mit der Stromversorgung von elektronischen Schaltungen im KFZ jede Menge falsche Vorstellungen, Halbwissen und Missverständnisse gibt, wie immer wiederkehrende Diskussionen im Forum zeigen.&lt;br /&gt;
Viele Hobbyelektroniker und sogar Industrieentwickler halten das Bordnetz von KFZ für die reine Hölle, wie sogar das Datenblatt des LTC1435 [[http://www.datasheetdir.com/LTC1435+download]] (S.14) zeigt&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;, und man müsste unglaubliche Anstrengungen und Vorsorge treffen, um eine Schaltung ohne Schaden im KFZ zu betreiben.&lt;br /&gt;
Selbstverständlich ist das nicht so, wie Millionen von elektronischen Steuerungen in unseren KFZ tagtäglich auf der Straße beweisen.&lt;br /&gt;
Andererseits ist das Bordnetz ein Umfeld, das besondere Beachtung und bestimmte Maßnahmen erfordert, um eine elektronische Schaltung, speziell mit Mikrocontrollern, sicher zu betreiben.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun also endlich zur Schaltung, wobei wir davon ausgehen, daß 5V für den Mikrocontroller nötig sind. Dies war bei mir der Fall und so zeige ich meine Lösung, die natürlich nicht die einzig mögliche darstellt sondern nur eine von vielen Möglichkeiten ist.&lt;br /&gt;
&lt;br /&gt;
[[Schaltplan1]]&lt;br /&gt;
&lt;br /&gt;
Hier wird also die Bordspannung über eine Diode und einen Widerstand auf einen Elektrolytkondensator geführt, um dann von einem herkömmlichen Dreibein-Spannungsregler auf 5V reduziert zu werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Manch einer fragt sich hier natürlich, warum eine Industrieschaltung um so viel aufwendiger ist, das muß doch einen Grund haben? Natürlich hat es den, aber das erkläre ich erst im 2. Teil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zunächst sei hier gesagt, daß alle wesentlichen sowie in der Praxis vorkommemden Störfälle mit dieser Schaltung komplett abgedeckt sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zum Abfangen von negativen Pulsen reicht die Diode in Flußrichtung. Positive Pulse sind mit einem Tiefpass zu begrenzen, im einfachsten Fall genügt bereits die schon vorhandene Diode als „Vorwiderstand“ für einen etwas größeren Kondensator, man kann aber auch einen niederohmigen Widerstand so wie hier geschehen vorsehen, um auf der sicheren Seite zu sein. Alles weitere regelt im Sinne des Wortes ein ganz normaler Linearregler vom Typ 7805 mit einer maximalen Eingangsspannung von 35V. Eventuell laut Datenblatt nötige Kondensatoren sind freilich hinzuzufügen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Schon ist die Schaltung fertig; wer sich nicht weiter für die Theorie interessiert, kann hier aufhören zu lesen und anfangen zu löten. Viel Spass!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 2, theoretische Betrachtung ==&lt;br /&gt;
Hier nun eine etwas tiefer gehende Betrachtung der Fälle.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fortsetzung folgt nach Lust, Laune und Zeit.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Eigentlich zeigt das nur, daß der Autor des Datenblattes seinen Beruf nicht recht versteht, ein Profi braucht solche Theatralik nicht. Wie bedauerlich.&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80893</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80893"/>
		<updated>2014-01-16T21:51:49Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
== Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt; == &lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die speziellen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 1, auf die Schnelle zur Schaltung ==&lt;br /&gt;
Dieser Artikel entstand, weil es im Zusammenhang mit der Stromversorgung von elektronischen Schaltungen im KFZ jede Menge falsche Vorstellungen, Halbwissen und Missverständnisse gibt, wie immer wiederkehrende Diskussionen im Forum zeigen.&lt;br /&gt;
Viele Hobbyelektroniker und sogar Industrieentwickler halten das Bordnetz von KFZ für die reine Hölle, wie sogar das Datenblatt des LTC1435 [[http://www.datasheetdir.com/LTC1435+download]] (S.14) zeigt&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;, und man müsste unglaubliche Anstrengungen und Vorsorge treffen, um eine Schaltung ohne Schaden im KFZ zu betreiben.&lt;br /&gt;
Selbstverständlich ist das nicht so, wie Millionen von elektronischen Steuerungen in unseren KFZ tagtäglich auf der Straße beweisen.&lt;br /&gt;
Andererseits ist das Bordnetz ein Umfeld, das besondere Beachtung und bestimmte Maßnahmen erfordert, um eine elektronische Schaltung, speziell mit Mikrocontrollern, sicher zu betreiben.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun also endlich zur Schaltung, wobei wir davon ausgehen, daß 5V für den Mikrocontroller nötig sind. Dies war bei mir der Fall und so zeige ich meine Lösung, die natürlich nicht die einzig mögliche darstellt sondern nur eine von vielen Möglichkeiten ist.&lt;br /&gt;
&lt;br /&gt;
[[Schaltplan1]]&lt;br /&gt;
&lt;br /&gt;
Hier wird also die Bordspannung über eine Diode und einen Widerstand auf einen Elektrolytkondensator geführt, um dann von einem herkömmlichen Dreibein-Spannungsregler auf 5V reduziert zu werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Manch einer fragt sich hier natürlich, warum eine Industrieschaltung um so viel aufwendiger ist, das muß doch einen Grund haben? Natürlich hat es den, aber das erkläre ich erst im 2. Teil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zunächst sei hier gesagt, daß alle wesentlichen sowie in der Praxis vorkommemden Störfälle mit dieser Schaltung komplett abgedeckt sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zum Abfangen von negativen Pulsen reicht die Diode in Flußrichtung. Positive Pulse sind mit einem Tiefpass zu begrenzen, im einfachsten Fall genügt bereits die schon vorhandene Diode als „Vorwiderstand“ für einen etwas größeren Kondensator, man kann aber auch einen niederohmigen Widerstand so wie hier geschehen vorsehen, um auf der sicheren Seite zu sein. Alles weitere regelt im Sinne des Wortes ein ganz normaler Linearregler vom Typ 7805 mit einer maximalen Eingangsspannung von 35V. Eventuell laut Datenblatt nötige Kondensatoren sind freilich hinzuzufügen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Schon ist die Schaltung fertig; wer sich nicht weiter für die Theorie interessiert, kann hier aufhören zu lesen und anfangen zu löten. Viel Spass!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 2, theoretische Betrachtung ==&lt;br /&gt;
Hier nun eine etwas tiefer gehende Betrachtung der Fälle.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fortsetzung folgt nach Lust, Laune und Zeit.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Eigentlich zeigt das nur, daß der Autor des Datenblattes seinen Beruf nicht recht versteht. Wie bedauerlich.&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80889</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80889"/>
		<updated>2014-01-16T21:31:48Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
== Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt; == &lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die speziellen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 1, auf die Schnelle zur Schaltung ==&lt;br /&gt;
Dieser Artikel entstand, weil es im Zusammenhang mit der Stromversorgung von elektronischen Schaltungen im KFZ jede Menge falsche Vorstellungen, Halbwissen und Missverständnisse gibt, wie immer wiederkehrende Diskussionen im Forum zeigen.&lt;br /&gt;
Viele Hobbyelektroniker und sogar Industrieentwickler halten das Bordnetz von KFZ für die reine Hölle, wie sogar das Datenblatt des LTC1435 [[http://www.datasheetdir.com/LTC1435+download]] (S.14)  zeigt, und man müsste unglaubliche Anstrengungen und Vorsorge treffen, um eine Schaltung ohne Schaden im KFZ zu betreiben.&lt;br /&gt;
Selbstverständlich ist das nicht so, wie Millionen von elektronischen Steuerungen in unseren KFZ tagtäglich auf der Straße beweisen.&lt;br /&gt;
Andererseits ist das Bordnetz ein Umfeld, das besondere Beachtung und bestimmte Maßnahmen erfordert, um eine elektronische Schaltung, speziell mit Mikrocontrollern, sicher zu betreiben.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun also endlich zur Schaltung, wobei wir davon ausgehen, daß 5V für den Mikrocontroller nötig sind. Dies war bei mir der Fall und so zeige ich meine Lösung, die natürlich nicht die einzig mögliche darstellt sondern nur eine von vielen Möglichkeiten ist.&lt;br /&gt;
&lt;br /&gt;
[[Schaltplan1]]&lt;br /&gt;
&lt;br /&gt;
Hier wird also die Bordspannung über eine Diode und einen Widerstand auf einen Elektrolytkondensator geführt, um dann von einem herkömmlichen Dreibein-Spannungsregler auf 5V reduziert zu werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Manch einer fragt sich hier natürlich, warum eine Industrieschaltung um so viel aufwendiger ist, das muß doch einen Grund haben? Natürlich hat es den, aber das erkläre ich erst im 2. Teil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zunächst sei hier gesagt, daß alle wesentlichen sowie in der Praxis vorkommemden Störfälle mit dieser Schaltung komplett abgedeckt sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zum Abfangen von negativen Pulsen reicht die Diode in Flußrichtung. Positive Pulse sind mit einem Tiefpass zu begrenzen, im einfachsten Fall genügt bereits die schon vorhandene Diode als „Vorwiderstand“ für einen etwas größeren Kondensator, man kann aber auch einen niederohmigen Widerstand so wie hier geschehen vorsehen, um auf der sicheren Seite zu sein. Alles weitere regelt im Sinne des Wortes ein ganz normaler Linearregler vom Typ 7805 mit einer maximalen Eingangsspannung von 35V. Eventuell laut Datenblatt nötige Kondensatoren sind freilich hinzuzufügen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Schon ist die Schaltung fertig; wer sich nicht weiter für die Theorie interessiert, kann hier aufhören zu lesen und anfangen zu löten. Viel Spass!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 2, theoretische Betrachtung ==&lt;br /&gt;
Hier nun eine etwas tiefer gehende Betrachtung der Fälle.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fortsetzung folgt nach Lust, Laune und Zeit.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80888</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80888"/>
		<updated>2014-01-16T21:25:40Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&lt;br /&gt;
== Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt; == &lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der elektrischen Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die speziellen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel entstand, weil es im Zusammenhang mit der Stromversorgung von elektronischen Schaltungen im KFZ jede Menge falsche Vorstellungen, Halbwissen und Missverständnisse gibt, wie immer wiederkehrende Diskussionen im Forum zeigen.&lt;br /&gt;
Viele Hobbyelektroniker und sogar Industrieentwickler halten das Bordnetz von KFZ für die reine Hölle, wie sogar das Datenblatt des LTC1435 [[http://www.datasheetdir.com/LTC1435+download]] (S.14)  zeigt, und man müsste unglaubliche Anstrengungen und Vorsorge treffen, um eine Schaltung ohne Schaden im KFZ zu betreiben.&lt;br /&gt;
Selbstverständlich ist das nicht so, wie Millionen von elektronischen Steuerungen in unseren KFZ tagtäglich auf der Straße beweisen.&lt;br /&gt;
Andererseits ist das Bordnetz ein Umfeld, das besondere Beachtung und bestimmte Maßnahmen erfordert, um eine elektronische Schaltung, speziell mit Mikrocontrollern, sicher zu betreiben.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun also endlich zur Schaltung, wobei wir davon ausgehen, daß 5V für den Mikrocontroller nötig sind. Dies war bei mir der Fall und so zeige ich meine Lösung, die natürlich nicht die einzig mögliche darstellt sondern nur eine von vielen Möglichkeiten ist.&lt;br /&gt;
&lt;br /&gt;
[[Schaltplan1]]&lt;br /&gt;
&lt;br /&gt;
Hier wird also die Bordspannung über eine Diode und einen Widerstand auf einen Elektrolytkondensator geführt, um dann von einem herkömmlichen Dreibein-Spannungsregler auf 5V reduziert zu werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Manch einer fragt sich hier natürlich, warum eine Industrieschaltung um so viel aufwendiger ist, das muß doch einen Grund haben? Natürlich hat es den, aber das erkläre ich erst im 2. Teil.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zunächst sei hier gesagt, daß alle wesentlichen sowie in der Praxis vorkommemden Störfälle mit dieser Schaltung komplett abgedeckt sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zum Abfangen von negativen Pulsen reicht die Diode in Flußrichtung. Positive Pulse sind mit einem Tiefpass zu begrenzen, im einfachsten Fall genügt bereits die schon vorhandene Diode als „Vorwiderstand“ für einen etwas größeren Kondensator, man kann aber auch einen niederohmigen Widerstand so wie hier geschehen vorsehen, um auf der sicheren Seite zu sein. Alles weitere regelt im Sinne des Wortes ein ganz normaler Linearregler vom Typ 7805 mit einer maximalen Eingangsspannung von 35V. Eventuell laut Datenblatt nötige Kondensatoren sind freilich hinzuzufügen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Schon ist die Schaltung fertig; wer sich nicht weiter für die Theorie interessiert, kann hier aufhören zu lesen und anfangen zu löten.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teil 2 ==&lt;br /&gt;
Hier nun eine etwas tiefer gehende Betrachtung der Fälle.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fortsetzung folgt nach Lust, Laune und Zeit.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80887</id>
		<title>Bordspannungsversorgung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bordspannungsversorgung&amp;diff=80887"/>
		<updated>2014-01-16T20:25:28Z</updated>

		<summary type="html">&lt;p&gt;Mlh: Die Seite wurde neu angelegt: „&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt; &amp;#039;&amp;#039;von Micha H., erstellt 2014-01-17 &amp;#039;&amp;#039;  Dieser Leitfaden befasst sich mit der elekt…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Bordspannungsversorgung im KFZ&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2014-01-17 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Leitfaden befasst sich mit der elektrischen Stromversorgung elektronischer Schaltungen im 12V-Bordnetz von KFZ.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ACHTUNG: hier geht es nicht um kommerzielle Elektronik! Wer kommerzielle Elektronik entwickelt, seine Schaltung in einem Prüflabor untersuchen lassen will, Bedenkenträger ist oder auf solche hört, ist hier falsch! Bitte hier aufhören zu lesen und dort: [[http://www.mikrocontroller.net/articles/KFZ]] weitermachen. Auch die sogenannte dse-FAQ wurde oft genug genannt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alle anderen, welche eine einfache Lösung für die speziellen Erfordernisse bei der Stromversorgung im KFZ, speziell im PKW suchen, sind hier richtig.&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_IO-Grundlagen&amp;diff=70549</id>
		<title>AVR-Tutorial: IO-Grundlagen</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_IO-Grundlagen&amp;diff=70549"/>
		<updated>2013-01-03T22:57:57Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Hinweis: Konfigurieren der Taktversorgung des ATmega8 */ &amp;quot;standardmäßig&amp;quot;: welcher Standard sollte das sein?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware ==&lt;br /&gt;
Für die ersten Versuche braucht man nur ein paar Taster und [[LED]]s an die IO-Ports des AVRs anzuschließen. An &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; schließt man 6 LEDs über einen Vorwiderstand von je 1 kΩ gegen Vcc (5V) an. In der Praxis ist es unerheblich, ob der Widerstand vor oder nach der Diode liegt, wichtig ist nur, dass er da ist. Weitere Details zu LEDs und entsprechenden Vorwiderständen findet ihr im Artikel über [[LED]]s und in diesem [http://www.mikrocontroller.net/topic/66109 Thread im Forum].&lt;br /&gt;
&lt;br /&gt;
[[Bild:Led.gif|framed|center| Standard Led Anschluss]]&lt;br /&gt;
&lt;br /&gt;
Dass die LEDs an den gleichen Pins wie der ISP-Programmer angeschlossen sind, stört übrigens normalerweise nicht. Falls wider Erwarten deshalb Probleme auftreten sollten, kann man versuchen, den Vorwiderstand der LEDs zu vergrößern.&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;PD0-PD3&#039;&#039;&#039; kommen 4 Taster mit je einem 10 kΩ Pullup-Widerstand:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Taster.gif|framed|center| Standard Taster Anschluss]]&lt;br /&gt;
&lt;br /&gt;
==Zahlensysteme==&lt;br /&gt;
Bevor es losgeht, hier noch ein paar Worte zu den verschiedenen Zahlensystemen.&lt;br /&gt;
&lt;br /&gt;
Binärzahlen werden für den Assembler im Format &#039;&#039;&#039;0b00111010&#039;&#039;&#039; geschrieben, Hexadezimalzahlen als &#039;&#039;&#039;0x7F&#039;&#039;&#039;. Umrechnen kann man die Zahlen z.&amp;amp;nbsp;B. mit dem Windows-Rechner. Hier ein paar Beispiele:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
! Dezimal || Hexadezimal || Binär &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0 &lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x00&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000000&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x01&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000001&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x02&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000010&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x03&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000011&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x04&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000100&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x05&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |0b00000101&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x06&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |0b00000110&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x07&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00000111&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x08&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001000&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 9&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x09&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001001&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 10&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0A&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001010&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 11&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0B&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001011&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0C&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001100&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 13&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0D&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001101&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 14&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0E&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001110&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 15&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x0F&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b00001111&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 100&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0x64&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b01100100&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 255&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0xFF&lt;br /&gt;
|align=&amp;quot;center&amp;quot; | 0b11111111&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0b&amp;quot; und &amp;quot;0x&amp;quot; haben für die Berechnung keine Bedeutung, sie zeigen nur an, dass es sich bei dieser Zahl um eine Binär- bzw. Hexadezimalzahl handelt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=FF0000&amp;gt;Wichtig dabei ist es, dass Hexadezimal- bzw. Binärzahlen bzw. Dezimalzahlen nur unterschiedliche Schreibweisen für immer das Gleiche sind: eine Zahl. Welche Schreibweise bevorzugt wird, hängt auch vom Verwendungszweck ab. Je nachdem kann die eine oder die andere Schreibweise klarer sein.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font color=FF0000&amp;gt;Auch noch sehr wichtig: Computer und µCs beginnen immer bei 0 zu zählen, d.h. wenn es 8 Dinge (Bits etc.) gibt, hat das erste die Nummer 0, das zweite die Nummer 1, ..., und das letzte (das 8.) die Nummer 7(!).&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ausgabe ==&lt;br /&gt;
=== Assembler-Sourcecode ===&lt;br /&gt;
&lt;br /&gt;
Unser erstes Assemblerprogramm, das wir auf dem Controller laufen lassen möchten, sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
.include &amp;quot;m8def.inc&amp;quot;         ; Definitionsdatei für den Prozessortyp einbinden&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der Konstanten 0xFF&lt;br /&gt;
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB ausgeben&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0b11111100 ; 0b11111100 in r16 laden&lt;br /&gt;
         out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben&lt;br /&gt;
&lt;br /&gt;
ende:    rjmp ende           ; Sprung zur Marke &amp;quot;ende&amp;quot; -&amp;gt; Endlosschleife&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Assemblieren ===&lt;br /&gt;
Das Programm muss mit der Endung &amp;quot;.asm&amp;quot; abgespeichert werden, z.&amp;amp;nbsp;B. als &amp;quot;leds.asm&amp;quot;. Diese Datei können wir aber noch nicht direkt auf den Controller programmieren. Zuerst müssen wir sie dem Assembler füttern. Bei wavrasm funktioniert das z.&amp;amp;nbsp;B., indem wir ein neues Fenster öffnen, den Programmtext hineinkopieren, speichern und auf &amp;quot;assemble&amp;quot; klicken. Wichtig ist, dass sich die Datei &amp;quot;m8def.inc&amp;quot; (wird beim Atmel-Assembler mitgeliefert) im gleichen Verzeichnis wie die Assembler-Datei befindet. Der Assembler übersetzt die Klartext-Befehle des Assemblercodes in für den Mikrocontroller verständlichen Binärcode und gibt ihn in Form einer sogenannten &amp;quot;Hex-Datei&amp;quot; aus. Diese Datei kann man dann mit der entsprechenden Software direkt in den Controller programmieren. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweis: Konfigurieren der Taktversorgung des ATmega8 ===&lt;br /&gt;
&lt;br /&gt;
Beim &#039;&#039;&#039;ATmega8&#039;&#039;&#039; ist vom Hersteller der interne 1 MHz-Oszillator aktiviert; weil dieser für viele Anwendungen (z.&amp;amp;nbsp;B. das UART, siehe späteres Kapitel) aber nicht genau genug ist, soll der Mikrocontroller seinen Takt aus dem angeschlossenen 4 MHz-Quarzoszillator beziehen. Dazu müssen ein paar Einstellungen an den &#039;&#039;&#039;Fusebits&#039;&#039;&#039; des Controllers vorgenommen werden. Am besten und sichersten geht das mit dem Programm [http://www.myplace.nu/avr/yaap/ yaap]. Wenn man das Programm gestartet hat und der ATmega8 richtig erkannt wurde, wählt man aus den Menüs den Punkt &amp;quot;Lock Bits &amp;amp; Fuses&amp;quot; und klickt zunächst auf &amp;quot;Read Fuses&amp;quot;. Das Ergebnis sollte so aussehen: [http://www.mikrocontroller.net/images/atmega8-vorher.png Screenshot]. Nun ändert man die Kreuze so, dass das folgende Bild entsteht: [http://www.mikrocontroller.net/images/atmega8-nachher.png Screenshot] und klickt auf &amp;quot;Write Fuses&amp;quot;. Vorsicht, wenn die Einstellungen nicht stimmen, kann es sein, dass die ISP-Programmierung deaktiviert wird und man den AVR somit nicht mehr programmieren kann! Die FuseBits bleiben übrigens nach dem Löschen des Controllers aktiv, müssen also nur ein einziges Mal eingestellt werden. Mehr über die Fuse-Bits findet sich im Artikel [[AVR Fuses]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Assemblieren sollte eine neue Datei mit dem Namen &amp;quot;leds.hex&amp;quot; oder &amp;quot;leds.rom&amp;quot; vorhanden sein, die man mit yaap, PonyProg oder AVRISP in den Flash-Speicher des Mikrocontrollers laden kann. Wenn alles geklappt hat, leuchten jetzt die ersten beiden angeschlossenen LEDs.&lt;br /&gt;
&lt;br /&gt;
=== Programmerklärung ===&lt;br /&gt;
In der ersten Zeile wird die Datei m8def.inc eingebunden, welche die prozessortypischen Bezeichnungen für die verschiedenen Register definiert. Wenn diese Datei fehlen würde, wüsste der Assembler nicht, was mit &amp;quot;PORTB&amp;quot;, &amp;quot;DDRD&amp;quot; usw. gemeint ist. Für jeden AVR-Mikrocontroller gibt es eine eigene derartige Include-Datei, da zwar die Registerbezeichnungen bei allen Controllern mehr oder weniger gleich sind, die Register aber auf unterschiedlichen Controllern unterschiedlich am Chip angeordnet sind und nicht alle Funktionsregister auf allen Prozessoren existieren. Für einen ATmega8 beispielsweise würde die einzubindende Datei m8def.inc heißen. Normalerweise ist also im Namen der Datei der Name des Chips in irgendeiner Form, auch abgekürzt, enthalten. Kennt man den korrekten Namen einmal nicht, so sieht man ganz einfach nach. Alle Include-Dateien wurden von Atmel in einem gemeinsamen Verzeichnis gespeichert. Das Verzeichnis ist bei einer Standardinstallation am PC auf C:\Programme\Atmel\AVR Tools\AvrAssembler\Appnotes\. Einige Include-Dateien heißen&lt;br /&gt;
&lt;br /&gt;
  AT90s2313:  2313def.inc&lt;br /&gt;
  ATmega8:    m8def.inc&lt;br /&gt;
  ATmega16:   m16def.inc&lt;br /&gt;
  ATmega32:   m32def.inc&lt;br /&gt;
  ATTiny12:   tn12def.inc&lt;br /&gt;
  ATTiny2313: tn2313def.inc&lt;br /&gt;
&lt;br /&gt;
Um sicher zu gehen, dass man die richtige Include-Datei hat, kann man diese mit einem Texteditor (AVR-Studio oder Notepad) öffnen. Der Name des Prozessors wurde von Atmel immer an den Anfang der Datei geschrieben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
;***************************************************************************&lt;br /&gt;
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y&lt;br /&gt;
;* &lt;br /&gt;
;* Number               :AVR000&lt;br /&gt;
;* File Name            :&amp;quot;2313def.inc&amp;quot;&lt;br /&gt;
;* Title                :Register/Bit Definitions for the AT90S2313&lt;br /&gt;
;* Date                 :99.01.28&lt;br /&gt;
;* Version              :1.30&lt;br /&gt;
;* Support E-Mail       :avr@atmel.com&lt;br /&gt;
;* Target MCU           :AT90S2313&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aber jetzt weiter mit dem selbstgeschriebenen Programm.&lt;br /&gt;
&lt;br /&gt;
In der 2. Zeile wird mit dem Befehl &#039;&#039;&#039;ldi r16, 0xFF&#039;&#039;&#039; der Wert 0xFF (entspricht 0b11111111) in das Register r16 geladen (mehr Infos unter [[Adressierung]]). Die AVRs besitzen 32 Arbeitsregister, r0-r31, die als Zwischenspeicher zwischen den I/O-Registern (z.&amp;amp;nbsp;B. DDRB, PORTB, UDR...) und dem RAM genutzt werden. Zu beachten ist außerdem, dass die ersten 16 Register (r0-r15) nicht von jedem Assemblerbefehl genutzt werden können. Ein Register kann man sich als eine Speicherzelle direkt im Mikrocontroller vorstellen. Natürlich besitzt der Controller noch viel mehr Speicherzellen, die werden aber ausschließlich zum Abspeichern von Daten verwendet. Um diese Daten zu manipulieren, müssen sie zuerst in eines der Register geladen werden. Nur dort ist es möglich, die Daten zu manipulieren und zu verändern. Ein Register ist also vergleichbar mit einer Arbeitsfläche, während der restliche Speicher eher einem Stauraum entspricht. Will man arbeiten, so muss das Werkstück (= die Daten) aus dem Stauraum auf die Arbeitsfläche geholt werden und kann dann dort bearbeitet werden.&lt;br /&gt;
Der Befehl Befehl &#039;&#039;&#039;ldi&#039;&#039;&#039; lädt jetzt einen bestimmten konstanten Wert in so ein Arbeitsregister. In diesem Fall kommt der zu ladende Wert also nicht aus dem Stauraum, sondern der Programmierer kennt ihn bereits. Auch Assemblerbefehle sind nicht einfach willkürlich gewählte Buchstabenkombinationen, sondern sind oft Abkürzungen für eine bestimmte Aktion. &#039;&#039;&#039;ldi&#039;&#039;&#039; bedeutet in Langform &#039;&#039;&#039;Load immediate&#039;&#039;&#039;. Load ist klar - laden. Und immediate bedutet, dass der zu ladende Wert beim Befehl selber angegeben wurde (engl. immediate - unmittelbar).&lt;br /&gt;
&lt;br /&gt;
Die Erklärungen nach dem Semikolon sind Kommentare und werden vom Assembler nicht beachtet.&lt;br /&gt;
&lt;br /&gt;
Der 3. Befehl, &#039;&#039;&#039;out&#039;&#039;&#039;, gibt den Inhalt von r16 (=0xFF) in das Datenrichtungsregister für Port B aus. Das Datenrichtungsregister legt fest, welche Portpins als Ausgang und welche als Eingang genutzt werden. Steht in diesem Register ein Bit auf 0, wird der entsprechende Pin als Eingang konfiguriert, steht es auf 1, ist der Pin ein Ausgang. In diesem Fall sind also alle 6 Pins von Port B Ausgänge. Datenrichtungsregister können ebenfalls nicht direkt beschrieben werden, daher muss man den Umweg über eines der normalen Register r16 - r31 gehen.&lt;br /&gt;
&lt;br /&gt;
Der nächste Befehl, &#039;&#039;&#039;ldi r16, 0b11111100&#039;&#039;&#039; lädt den Wert 0b11111100 in das Arbeitsregister r16, der durch den darauffolgenden Befehl &#039;&#039;&#039;out PORTB, r16&#039;&#039;&#039; in das I/O-Register PORTB (und damit an den Port, an dem die LEDs angeschlossen sind) ausgegeben wird. Eine 1 im PORTB-Register bedeutet, dass an dem entsprechenden Anschluss des Controllers die Spannung 5V anliegt, bei einer 0 sind es 0V (Masse). &lt;br /&gt;
&lt;br /&gt;
Schließlich wird mit &#039;&#039;&#039;rjmp ende&#039;&#039;&#039; ein Sprung zur Marke &#039;&#039;&#039;ende:&#039;&#039;&#039; ausgelöst, also an die gleiche Stelle, wodurch eine Endlosschleife entsteht. Sprungmarken schreibt man gewöhnlich an den Anfang der Zeile, Befehle in die 2. und Kommentare in die 3. Spalte. Ein Marke ist einfach nur ein symbolischer Name, auf den man sich in Befehlen beziehen kann. Sie steht stellvertretend für die Speicheradresse des unmittelbar folgenden Befehls. Der Assembler, der den geschriebenen Text in eine für den µC ausführbare Form bringt, führt über die Marken Buch und ersetzt in den eigentlichen Befehlen die Referenzierungen auf die Marken mit den korrekten Speicheradressen.&lt;br /&gt;
&lt;br /&gt;
Bei Kopier- und Ladebefehlen (ldi, in, out...) wird immer der 2. Operand in den ersten kopiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
         ldi r17, 15     ; das Register r17 wird mit der Konstanten 15 geladen&lt;br /&gt;
         mov r16, r17    ; das Register r16 wird mit dem Inhalt des Registers r17 geladen&lt;br /&gt;
         out PORTB, r16  ; das IO-Register &amp;quot;PORTB&amp;quot; wird mit dem Inhalt des Registers r16 geladen&lt;br /&gt;
         in r16, PIND    ; das Register 16 wird mit dem Inhalt des IO-Registers &amp;quot;PIND&amp;quot; geladen&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer mehr über die Befehle wissen möchte, sollte sich die PDF-Datei [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Instruction Set (1,27 MB)] runterladen (benötigt [http://www.acrobat.com/ Acrobat Reader] oder in der Hilfe von Assembler oder AVR-Studio nachschauen. Achtung: nicht alle Befehle sind auf jedem Controller der AVR-Serie verwendbar! &lt;br /&gt;
&lt;br /&gt;
Nun sollten die beiden ersten LEDs leuchten, weil die Portpins PB0 und PB1 durch die Ausgabe von 0 (low) auf Masse (0V) gelegt werden und somit ein Strom durch die gegen Vcc (5V) geschalteten LEDs fließen kann. Die 4 anderen LEDs sind aus, da die entsprechenden Pins durch die Ausgabe von 1 (high) auf 5V liegen. &lt;br /&gt;
&lt;br /&gt;
Warum leuchten die beiden ersten LEDs, wo doch die beiden letzen Bits auf 0 gesetzt sind? Das liegt daran, dass man die Bitzahlen von rechts nach links schreibt. Ganz rechts steht das niedrigstwertige Bit (&amp;quot;LSB&amp;quot;, Least Significant Bit), das man als Bit 0 bezeichnet, und ganz links das höchstwertige Bit (&amp;quot;MSB&amp;quot;, Most Significant Bit), bzw. Bit 7. Das Prefix &amp;quot;0b&amp;quot; gehört nicht zur Zahl, sondern sagt dem Assembler, dass die nachfolgende Zahl in binärer Form interpretiert werden soll.&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/images/bits.gif&lt;br /&gt;
&lt;br /&gt;
Das LSB steht für PB0, und das MSB für PB7... aber PB7 gibt es doch z.&amp;amp;nbsp;B. beim AT90S4433 gar nicht, es geht doch nur bis PB5? Der Grund ist einfach: Am Gehäuse des AT90S4433 gibt es nicht genug Pins für den kompletten Port B, deshalb existieren die beiden obersten Bits nur intern.&lt;br /&gt;
&lt;br /&gt;
== Eingabe ==&lt;br /&gt;
Im folgenden Programm wird Port B als Ausgang und Port D als Eingang verwendet: &lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/sourcecode/tutorial/leds+buttons.asm Download leds+buttons.asm]&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
.include &amp;quot;m8def.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF&lt;br /&gt;
         out DDRB, r16     ; Alle Pins am Port B durch Ausgabe von 0xFF ins&lt;br /&gt;
                           ; Richtungsregister DDRB als Ausgang konfigurieren&lt;br /&gt;
         ldi r16, 0x00&lt;br /&gt;
         out DDRD, r16     ; Alle Pins am Port D durch Ausgabe von 0x00 ins&lt;br /&gt;
                           ; Richtungsregister DDRD als Eingang konfigurieren&lt;br /&gt;
loop:&lt;br /&gt;
         in r16, PIND      ; an Port D anliegende Werte (Taster) nach r16 einlesen&lt;br /&gt;
         out PORTB, r16    ; Inhalt von r16 an Port B ausgeben&lt;br /&gt;
         rjmp loop         ; Sprung zu &amp;quot;loop:&amp;quot; -&amp;gt; Endlosschleife&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Port D als Eingang geschaltet ist, können die anliegenden Daten über das IO-Register &#039;&#039;&#039;PIND&#039;&#039;&#039; eingelesen werden. Dazu wird der Befehl &#039;&#039;&#039;in&#039;&#039;&#039; verwendet, der ein IO-Register (in diesem Fall PIND) in ein Arbeitsregister (z.&amp;amp;nbsp;B. r16) kopiert. Danach wird der Inhalt von r16 mit dem Befehl &#039;&#039;&#039;out&#039;&#039;&#039; an Port B ausgegeben. Dieser Umweg ist notwendig, da man nicht direkt von einem IO-Register in ein anderes kopieren kann. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rjmp loop&#039;&#039;&#039; sorgt dafür, dass die Befehle &#039;&#039;&#039;in r16, PIND&#039;&#039;&#039; und &#039;&#039;&#039;out PORTB, r16&#039;&#039;&#039; andauernd wiederholt werden, so dass immer die zu den gedrückten Tasten passenden LEDs leuchten.&lt;br /&gt;
&lt;br /&gt;
Achtung: Auch wenn es hier nicht explizit erwähnt wird: Man kann natürlich jeden Pin eines jeden Ports einzeln auf Ein- oder Ausgabe schalten. Dass hier ein kompletter Port jeweils als Eingabe bzw. Ausgabe benutzt wurde, ist reine Bequemlichkeit.&lt;br /&gt;
&lt;br /&gt;
In komplexeren Situationen als der einfachen Verbindung eines Port-Pins mit einem Taster, der zuverlässig auf GND-Potential zieht, ist die &#039;&#039;&#039;Schaltschwelle&#039;&#039;&#039; des Eingangstreibers zu beachten. Diese liegt bei etwa 50 % der Versorgungsspannung. In [http://www.schramm-software.de/tipps/schaltschwelle/ dieser Testschaltung] wird dieser Aspekt genauer untersucht.&lt;br /&gt;
&lt;br /&gt;
=== mögliche Zeitverzögerungen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorsicht!&#039;&#039;&#039; In bestimmten Situationen kann es passieren, dass scheinbar Pins nicht richtig gelesen werden. &lt;br /&gt;
&lt;br /&gt;
Speziell bei der Abfrage von Matrixtastaturen kann der Effekt auftreten, dass Tasten scheinbar nicht reagieren. Typische Sequenzen sehen dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
        ldi r16,0x0F      &lt;br /&gt;
        out DDRD,r16    ; oberes Nibble Eingang, unteres Ausgang&lt;br /&gt;
        ldi r16,0xFE     &lt;br /&gt;
        out PORTD,r16   ; PD0 auf 0 ziehen, PD4..7 Pull ups aktiv&lt;br /&gt;
        in  r17,PIND    ; Pins lesen schlägt hier fehl!&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warum ist das problematisch? Nun, der AVR ist ein RISC-Microcontroller, welcher die meisten Befehle in einem Takt ausführt. Gleichzeitig werden aber alle Eingangssignale über FlipFlops abgetastet (synchronisiert), damit sie sauber im AVR zur Verfügung stehen. Dadurch ergibt sich eine Verzögerung (Latenz) von bis zu 1,5 Takten, mit der auf externe Signale reagiert werden kann. Die Erklärung dazu findet man im Datenblatt unter der Überschrift &amp;quot;I/O Ports - Reading the Pin Value&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Was tun? Wenn der Wert einer Port-Eingabe von einer unmittelbar vorangehenden Port-Ausgabe abhängt, muss man wenigstens einen weiteren Befehl zwischen beiden einfügen, im einfachsten Fall ein &#039;&#039;&#039;nop&#039;&#039;&#039;. &#039;&#039;&#039;nop&#039;&#039;&#039; bedeutet in Langform &#039;&#039;&#039;no operation&#039;&#039;&#039;, und genau das macht der Befehl auch: nichts. Er dient einzig und alleine dazu, dass der Prozessor einen Befehl abarbeitet, also etwas zu tun hat, aber ansonsten an den Registern oder sonstigen Internals nichts verändert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
        ldi r16,0x0F&lt;br /&gt;
        out DDRD,r16    ; oberes Nibble Eingang, unteres Ausgang&lt;br /&gt;
        ldi r16,0xFE&lt;br /&gt;
        out PORTD,r16   ; PD0 auf 0 ziehem, PD4..7 Pull ups aktiv&lt;br /&gt;
        NOP             ; Delay der Synchronisations-FlipFlops ausgleichen&lt;br /&gt;
        in  r17,PIND    ; Pins lesen ist hier OK.&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Beispiel für dieses Verhalten bei rasch aufeinanderfolgenden &#039;&#039;&#039;out&#039;&#039;&#039; und &#039;&#039;&#039;in&#039;&#039;&#039; Anweisungen ist in einem Forenbeitrag zur [http://www.mikrocontroller.net/topic/88680#753847 Abfrage des Busyflag bei einem LCD] angegeben. Dort spielen allerdings weitere, vom [[LCD]]-Controller abhängige Timings eine wesentliche Rolle für den korrekten Programmablauf.&lt;br /&gt;
&lt;br /&gt;
==Pullup-Widerstand==&lt;br /&gt;
[[Bild:Taster.gif|framed|right| Standard Taster Anschluss]]&lt;br /&gt;
&lt;br /&gt;
Bei der Besprechung der notwendigen Beschaltung der Ports wurde an einen Eingangspin jeweils ein Taster mit einem Widerstand nach Vcc vorgeschlagen. Diesen Widerstand nennt man einen &#039;&#039;&#039;Pullup&#039;&#039;&#039;-Widerstand. Wenn der Taster geöffnet ist, so ist es seine Aufgabe, den Eingangspegel am Pin auf Vcc zu ziehen. Daher auch der Name: &#039;pull up&#039; (engl. für hochziehen). Ohne diesen Pullup-Widerstand würde ansonsten der Pin bei geöffnetem Taster in der Luft hängen, also weder mit Vcc noch mit GND verbunden sein. Dieser Zustand ist aber unbedingt zu vermeiden, da bereits elektromagnetische Einstreuungen auf Zuleitungen ausreichen, dem Pin einen Zustand vorzugaukeln, der in Wirklichkeit nicht existiert. Der Pullup-Widerstand sorgt also für einen definierten 1-Pegel bei geöffnetem Taster. Wird der Taster geschlossen, so stellt dieser eine direkte Verbindung zu GND her und der Pegel am Pin fällt auf GND. Durch den Pullup-Widerstand rinnt dann ein kleiner Strom von Vcc nach GND. Da Pullup-Widerstände in der Regel aber relativ hochohmig sind, stört dieser kleine Strom meistens nicht weiter.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Taster2.gif|framed|right| Taster bei Benutzung des interen Pullup]]&lt;br /&gt;
&lt;br /&gt;
Anstelle eines externen Widerstandes wäre es auch möglich, den Widerstand wegzulassen und stattdessen den in den AVR eingebauten Pullup-Widerstand zu aktivieren. Die Beschaltung eines Tasters vereinfacht sich dann zum einfachst möglichen Fall: Der Taster wird direkt an den Eingangspin des µC angeschlossen und schaltet nach Masse durch.&lt;br /&gt;
&lt;br /&gt;
Das geht allerdings nur dann, wenn der entsprechende Mikroprozessor-Pin auf Eingang geschaltet wurde. Ein Pullup-Widerstand hat nun mal nur bei einem Eingangspin einen Sinn. Bei einem auf Ausgang geschalteten Pin sorgt der Mikroprozessor dafür, dass ein dem Port-Wert entsprechender Spannungspegel ausgegeben wird. Ein Pullup-Widerstand wäre in so einem Fall kontraproduktiv, da der Widerstand versucht, den Pegel am Pin auf Vcc zu ziehen, während eine 0 im Port-Register dafür sorgt, dass der Mikroprozessor versuchen würde, den Pin auf GND zu ziehen.&lt;br /&gt;
&lt;br /&gt;
Ein Pullup-Widerstand an einem Eingangspin wird durch das &#039;&#039;&#039;PORT&#039;&#039;&#039;-Register gesteuert. Das &#039;&#039;&#039;PORT&#039;&#039;&#039;-Register erfüllt also 2 Aufgaben. Bei einem auf Ausgang geschalteten Port steuert es den Pegel an den Ausgangspins. Bei einem auf Eingang geschalteten Port steuert es, ob die internen Pullup-Widerstände aktiviert werden oder nicht. Ein 1-Bit aktiviert den entsprechenden Pullup-Widerstand.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle}}&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
! DDRx   || PORTx  ||  IO-Pin-Zustand&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  0&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  0&lt;br /&gt;
|| Eingang ohne Pull-Up (Resetzustand)&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  0&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  1&lt;br /&gt;
|| Eingang mit Pull-Up&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  1&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  0&lt;br /&gt;
|| [[Ausgangsstufen_Logik-ICs#Push-Pull | Push-Pull]]-Ausgang auf LOW&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  1&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |  1&lt;br /&gt;
|| [[Ausgangsstufen_Logik-ICs#Push-Pull | Push-Pull]]-Ausgang auf HIGH&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
.include &amp;quot;m8def.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF&lt;br /&gt;
         out DDRB, r16     ; Alle Pins am Port B durch Ausgabe von 0xFF ins&lt;br /&gt;
                           ; Richtungsregister DDRB als Ausgang konfigurieren&lt;br /&gt;
         ldi r16, 0x00&lt;br /&gt;
         out DDRD, r16     ; Alle Pins am Port D durch Ausgabe von 0x00 ins&lt;br /&gt;
                           ; Richtungsregister DDRD als Eingang konfigurieren&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF     ; An allen Pins vom Port D die Pullup-Widerstände&lt;br /&gt;
         out PORTD, r16    ; aktivieren. Dies geht deshalb durch eine Ausgabe&lt;br /&gt;
                           ; nach PORTD, da ja der Port auf Eingang gestellt ist.&lt;br /&gt;
loop:&lt;br /&gt;
         in r16, PIND      ; an Port D anliegende Werte (Taster) nach r16 einlesen&lt;br /&gt;
         out PORTB, r16    ; Inhalt von r16 an Port B ausgeben&lt;br /&gt;
         rjmp loop         ;  zu &amp;quot;loop:&amp;quot; -&amp;gt; Endlosschleife&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Werden auf diese Art und Weise die AVR-internen Pullup-Widerstände aktiviert, so sind keine externen Widerstände mehr notwendig und die Beschaltung vereinfacht sich zu einem Taster, der einfach nur den µC-Pin mit GND verbindet.&lt;br /&gt;
&lt;br /&gt;
==Zugriff auf einzelne Bits==&lt;br /&gt;
Man muss nicht immer ein ganzes Register auf einmal einlesen oder mit einem neuen Wert laden. Es gibt auch Befehle, mit denen man einzelne Bits abfragen und ändern kann: &lt;br /&gt;
&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;sbic&#039;&#039;&#039; (&amp;quot;skip if bit cleared&amp;quot;) überspringt den darauffolgenden Befehl, wenn das angegebene Bit 0 (low) ist.&lt;br /&gt;
* &#039;&#039;&#039;sbis&#039;&#039;&#039; (&amp;quot;skip if bit set&amp;quot;) bewirkt das Gleiche, wenn das Bit 1 (high) ist.&lt;br /&gt;
* Mit &#039;&#039;&#039;cbi&#039;&#039;&#039; (&amp;quot;clear bit&amp;quot;) wird das angegebene Bit auf 0 gesetzt.&lt;br /&gt;
* &#039;&#039;&#039;sbi&#039;&#039;&#039; (&amp;quot;set bit&amp;quot;) bewirkt das Gegenteil.&lt;br /&gt;
Achtung: Diese Befehle können nur auf die IO-Register angewandt werden! &lt;br /&gt;
&lt;br /&gt;
Am besten verstehen kann man das natürlich an einem Beispiel: &lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/sourcecode/tutorial/bitaccess.asm Download bitaccess.asm]&lt;br /&gt;
&amp;lt;avrasm&amp;gt; &lt;br /&gt;
.include &amp;quot;m8def.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF&lt;br /&gt;
         out DDRB, r16       ; Port B ist Ausgang&lt;br /&gt;
                             &lt;br /&gt;
         ldi r16, 0x00&lt;br /&gt;
         out DDRD, r16       ; Port D ist Eingang&lt;br /&gt;
                             &lt;br /&gt;
&lt;br /&gt;
         ldi r16, 0xFF&lt;br /&gt;
         out PORTB, r16      ; PORTB auf 0xFF setzen -&amp;gt; alle LEDs aus&lt;br /&gt;
&lt;br /&gt;
loop:    sbic PIND, 0        ; &amp;quot;skip if bit cleared&amp;quot;, nächsten Befehl überspringen,&lt;br /&gt;
                             ; wenn Bit 0 im IO-Register PIND =0 (Taste 0 gedrückt)&lt;br /&gt;
         rjmp loop           ; Sprung zu &amp;quot;loop:&amp;quot; -&amp;gt; Endlosschleife&lt;br /&gt;
&lt;br /&gt;
         cbi PORTB, 3        ; Bit 3 im IO-Register PORTB auf 0 setzen -&amp;gt; 4. LED an&lt;br /&gt;
&lt;br /&gt;
ende:    rjmp ende           ; Endlosschleife&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Programm wartet so lange in einer Schleife (&amp;quot;&#039;&#039;&#039;loop:&#039;&#039;&#039;&amp;quot;...&amp;quot;&#039;&#039;&#039;rjmp loop&#039;&#039;&#039;&amp;quot;), bis Bit 0 im Register &#039;&#039;&#039;PIND&#039;&#039;&#039; 0 wird, also die erste Taste gedrückt ist. Durch &#039;&#039;&#039;sbic&#039;&#039;&#039; wird dann der Sprungbefehl zu &amp;quot;&#039;&#039;&#039;loop:&#039;&#039;&#039;&amp;quot; übersprungen, die Schleife wird also verlassen und das Programm danach fortgesetzt. Ganz am Ende schließlich wird das Programm durch eine leere Endlosschleife praktisch &amp;quot;angehalten&amp;quot;, da es ansonsten wieder von vorne beginnen würde.&lt;br /&gt;
&lt;br /&gt;
==Zusammenfassung der Portregister==&lt;br /&gt;
Für jeden Hardwareport gibt es im Mikroprozessor insgesamt 3 Register:&lt;br /&gt;
* Das Datenrichtungsregister &#039;&#039;&#039;DDRx&#039;&#039;&#039;. Es wird verwendet um die Richtung jedes einzelnen Mikroprozessor-Pins festzulegen. Eine 1 an der entsprechenden Bit Position steht für Ausgang, eine 0 steht für Eingang.&lt;br /&gt;
* Das Einleseregister &#039;&#039;&#039;PINx&#039;&#039;&#039;. Es wird verwendet um von einem Mikroprozessor-Pin den aktuellen, extern anliegenden Zustand einzulesen. Dazu muss das entsprechende Datenrichtungsbit auf Eingang geschaltet sein.&lt;br /&gt;
* Das Ausgangsregister &#039;&#039;&#039;PORTx&#039;&#039;&#039;. Es erfüllt 2 Funktionen, je nachdem wie das zugehörige Datenrichtungsbit geschaltet ist.&lt;br /&gt;
** Steht es auf Ausgang, so wird bei einer entsprechenden Zuweisung an das &#039;&#039;&#039;PORTx&#039;&#039;&#039; Register der entsprechende Mikroprozessor-Pin auf den angegebenen Wert gesetzt.&lt;br /&gt;
** Steht es auf Eingang, so beeinflusst das &#039;&#039;&#039;PORTx&#039;&#039;&#039;-Bit den internen Pullup-Widerstand an diesem Mikroprozessor-Pin. Bei einer 0 wird der Widerstand abgeschaltet, bei einer 1 wird der Widerstand an den Eingangs-Pin zugeschaltet.&lt;br /&gt;
* Bei den neueren AVR (wie z.&amp;amp;nbsp;B. &#039;&#039;ATtiny13&#039;&#039;, &#039;&#039;ATtiny2313&#039;&#039;, &#039;&#039;ATtiny24/44/84&#039;&#039;, &#039;&#039;ATtiny25/45/85&#039;&#039;, &#039;&#039;ATmega48/88/168&#039;&#039;, usw.) kann man als Ausgang konfigurierte Pins toggeln (&#039;&#039;&#039;PORTx&#039;&#039;&#039; zwischen 0 und 1 „umschalten“), indem man eine 1 an die entsprechende Bit Position des &#039;&#039;&#039;PINx&#039;&#039;&#039; Register schreibt.&lt;br /&gt;
&lt;br /&gt;
==Ausgänge benutzen, wenn mehr Strom benötigt wird==&lt;br /&gt;
Man kann nicht jeden beliebigen Verbraucher nach dem LED-Vorbild von oben an einen µC anschließen. Die Ausgänge des ATMega8 können nur eine begrenzte Menge Strom liefern, so dass der Chip schnell überfordert ist, wenn eine nachgeschaltete Schaltung mehr Strom benötigt. Die Ausgangstreiber des µC würden in solchen Fällen den Dienst quittieren und durchbrennen.&lt;br /&gt;
&lt;br /&gt;
Abhilfe schafft in solchen Fällen eine zusätzliche Treiberstufe, die im einfachsten Fall mit einem [[Transistor|Transistor]] als Schalter aufgebaut wird.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transi2.gif|framed|center|Transistor Treiberstufe]]&lt;br /&gt;
&lt;br /&gt;
Die LED samt zugehörigen Widerständen dienen hier lediglich als Sinnbild für den Verbraucher, der vom µC ein und ausgeschaltet werden soll. Welcher Transistor als Schalter benutzt werden kann, hängt vom Stromverbrauch des Verbrauchers ab. Die Widerstände &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;R2&#039;&#039;&#039; werden als &#039;&#039;&#039;Basiswiderstände&#039;&#039;&#039; der Transistoren bezeichnet. Für ihre Berechnung siehe z.&amp;amp;nbsp;B. [[Basiswiderstand|hier]]. Um eine sichere Störfestigkeit im Resetfall des Mikrocontrollers zu gewähren (wenn der µC daher die Ausgänge noch nicht ansteuert), sollte man noch einen Pulldown Widerstand zwischen Basis und Emitter schalten oder einen digitalen Transistor (z.&amp;amp;nbsp;B. BCR135) mit integriertem Basis- und Basisemitterwiderstand benutzen.&lt;br /&gt;
&lt;br /&gt;
Um ein Relais an einen µC-Ausgang anzuschließen, siehe [[Relais_mit_Logik_ansteuern|hier]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Navigation_zurückhochvor|&lt;br /&gt;
zurücktext=Benötigte Ausrüstung|&lt;br /&gt;
zurücklink=AVR-Tutorial: Equipment|&lt;br /&gt;
hochtext=Inhaltsverzeichnis|&lt;br /&gt;
hochlink=AVR-Tutorial|&lt;br /&gt;
vortext=logische Operationen|&lt;br /&gt;
vorlink=AVR-Tutorial: Logik}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR-Tutorial|IO-Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=70388</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=70388"/>
		<updated>2012-12-29T20:27:00Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Forum und Artikel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Aus der Produktbeschreibung des Herstellers Pollin:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Bausatz hat die Pollin-Bestellnummer: [http://www.pollin.de/shop/dt/MDQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_RFID_125kHz_Empfaenger.html 810 059] Preis: 12,95 € (Stand Dezember 2012)&lt;br /&gt;
&lt;br /&gt;
Hardware:&lt;br /&gt;
* AT-Tiny 2313&lt;br /&gt;
* U2270B&lt;br /&gt;
* MAX232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erweitert werden kann der Bausatz mit:&lt;br /&gt;
* &amp;quot;RFID&amp;quot;-Luftspule Pollin-BestNr: [http://www.pollin.de/shop/dt/NTc2OTQ3OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Spulen_Filter/Luftspule.html 250 324]&lt;br /&gt;
** Preis: 1,00€ (Stand Juli 2012)&lt;br /&gt;
** [Anmerkung: Die &amp;quot;RFID&amp;quot;-Luftspule gehört mittlerweile zum Lieferumfang (Stand März 2012)]&lt;br /&gt;
&lt;br /&gt;
* LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/OTc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602E_01.html 120 420] Preis: 4,95 € (Stand Dezember 2012) &lt;br /&gt;
** Offenbar kompatible LCD-Displays:&lt;br /&gt;
*** LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/ODc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602A_08.html 120 421]&lt;br /&gt;
*** LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/Nzc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602A_09.html 120 422]&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Als Display können alle HD47780 - kompatiblen Displays eingesetzt werden ***&lt;br /&gt;
&lt;br /&gt;
Tags für das Board:&lt;br /&gt;
* Transponderkarte EM4102, ReadOnly, 125 kHz Pollin-BestNr: [http://www.pollin.de/shop/dt/NDM5OTgxOTk-/Bausaetze_Module/Bausaetze/Transponderkarte_EM4102_ReadOnly_125_kHz.html 810 065]&lt;br /&gt;
* RFID-Schlüsselanhänger EM4102, ReadOnly Pollin-BestNr: [http://www.pollin.de/shop/dt/Nzk4OTgxOTk-/Bausaetze_Module/Bausaetze/RFID_Schluesselanhaenger_EM4102_ReadOnly_125_kHz.html 810 102]&lt;br /&gt;
&lt;br /&gt;
== Forum und Artikel ==&lt;br /&gt;
Im Forum finden sich folgende, damit direkt zusammenhängende, nützliche Threads:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/110714 Pollin RFID Entwicklungsboard]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/195765 Pollin RFID Board - Schlüsselanhänger wird nicht gelesen]&lt;br /&gt;
&lt;br /&gt;
Folgende Artikel bieten nützliche weiterführende informationen:&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul RFID Türmodul]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500Ω) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer schnell gestrickten, aber funktionsfähigen (zumindest wenn man wenigstens den richtigen Prozessortyp im Makefile einträgt) [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:em4100_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
Leider ist die aktuelle Version der Firmware mit 2250 Bytes zu groß für den ATTiny 2313.&lt;br /&gt;
&lt;br /&gt;
Eine mögliche Alternative zum ATTiny 2313 stellt der ATTiny 4313 dar, da dieser vollständig pinkompatibel zum 2313 ist. Der ATTiny 4313 stellt 4 kByte Flash und 256 Byte EEPROM zur verfügung und hat somit genug Speicherplatz für die aktuelle Version der Firmware.&lt;br /&gt;
Auch eine Erweiterung um RS232 und das Abspeichern von mehr als 20 Key ist somit möglich.&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in LunaAVR ==&lt;br /&gt;
&lt;br /&gt;
Ebenfalls funktionstüchtige Alternativfirmware mit optionaler LCD-Ansteuerung, die auf den Attiny2313 passt.&lt;br /&gt;
[http://avr.myluna.de/doku.php?id=de:beispiel-sourcen LunaAVR-Version in den Examples]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:RFID-Projekte]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=70387</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=70387"/>
		<updated>2012-12-29T20:25:03Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Bausatz RFID-125kHz-Empfänger */  Preise aktualisiert, Typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Aus der Produktbeschreibung des Herstellers Pollin:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Bausatz hat die Pollin-Bestellnummer: [http://www.pollin.de/shop/dt/MDQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_RFID_125kHz_Empfaenger.html 810 059] Preis: 12,95 € (Stand Dezember 2012)&lt;br /&gt;
&lt;br /&gt;
Hardware:&lt;br /&gt;
* AT-Tiny 2313&lt;br /&gt;
* U2270B&lt;br /&gt;
* MAX232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erweitert werden kann der Bausatz mit:&lt;br /&gt;
* &amp;quot;RFID&amp;quot;-Luftspule Pollin-BestNr: [http://www.pollin.de/shop/dt/NTc2OTQ3OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Spulen_Filter/Luftspule.html 250 324]&lt;br /&gt;
** Preis: 1,00€ (Stand Juli 2012)&lt;br /&gt;
** [Anmerkung: Die &amp;quot;RFID&amp;quot;-Luftspule gehört mittlerweile zum Lieferumfang (Stand März 2012)]&lt;br /&gt;
&lt;br /&gt;
* LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/OTc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602E_01.html 120 420] Preis: 4,95 € (Stand Dezember 2012) &lt;br /&gt;
** Offenbar kompatible LCD-Displays:&lt;br /&gt;
*** LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/ODc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602A_08.html 120 421]&lt;br /&gt;
*** LCD-Modul Pollin-BestNr: [http://www.pollin.de/shop/dt/Nzc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602A_09.html 120 422]&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Als Display können alle HD47780 - kompatiblen Displays eingesetzt werden ***&lt;br /&gt;
&lt;br /&gt;
Tags für das Board:&lt;br /&gt;
* Transponderkarte EM4102, ReadOnly, 125 kHz Pollin-BestNr: [http://www.pollin.de/shop/dt/NDM5OTgxOTk-/Bausaetze_Module/Bausaetze/Transponderkarte_EM4102_ReadOnly_125_kHz.html 810 065]&lt;br /&gt;
* RFID-Schlüsselanhänger EM4102, ReadOnly Pollin-BestNr: [http://www.pollin.de/shop/dt/Nzk4OTgxOTk-/Bausaetze_Module/Bausaetze/RFID_Schluesselanhaenger_EM4102_ReadOnly_125_kHz.html 810 102]&lt;br /&gt;
&lt;br /&gt;
== Forum und Artikel ==&lt;br /&gt;
Im Forum finden sich folgende, damit direkt zusammenhängende, nützliche threads:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/110714 Pollin RFID Entwicklungsboard]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/195765 Pollin RFID Board - Schlüsselanhänger wird nicht gelesen]&lt;br /&gt;
&lt;br /&gt;
Folgende Artikel bieten nützliche weiterführende informationen:&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul RFID Türmodul]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500Ω) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer schnell gestrickten, aber funktionsfähigen (zumindest wenn man wenigstens den richtigen Prozessortyp im Makefile einträgt) [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:em4100_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
Leider ist die aktuelle Version der Firmware mit 2250 Bytes zu groß für den ATTiny 2313.&lt;br /&gt;
&lt;br /&gt;
Eine mögliche Alternative zum ATTiny 2313 stellt der ATTiny 4313 dar, da dieser vollständig pinkompatibel zum 2313 ist. Der ATTiny 4313 stellt 4 kByte Flash und 256 Byte EEPROM zur verfügung und hat somit genug Speicherplatz für die aktuelle Version der Firmware.&lt;br /&gt;
Auch eine Erweiterung um RS232 und das Abspeichern von mehr als 20 Key ist somit möglich.&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in LunaAVR ==&lt;br /&gt;
&lt;br /&gt;
Ebenfalls funktionstüchtige Alternativfirmware mit optionaler LCD-Ansteuerung, die auf den Attiny2313 passt.&lt;br /&gt;
[http://avr.myluna.de/doku.php?id=de:beispiel-sourcen LunaAVR-Version in den Examples]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:RFID-Projekte]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55173</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55173"/>
		<updated>2011-02-19T15:21:55Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* alternative Firmware in C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer schnell gestrickten, aber funktionsfähigen (zumindest wenn man wenigstens den richtigen Prozessortyp im Makefile einträgt) [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:em4100_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Die Firmware benötigt im derzeitigen Zustand 1936 Bytes oder 94.5% des Flash-Speicherplatzes, es ist also nicht mehr viel Platz für eigene Erweiterungen vorhanden. Auch wurde auf das Löschen des Displays bei der Initialisierung und in main() verzichtet, das funktioniert weil die Länge der Einschaltmeldung mit der Länge der Tag-Codes übereinstimmt. Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Em4100_rfid.zip&amp;diff=55172</id>
		<title>Datei:Em4100 rfid.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Em4100_rfid.zip&amp;diff=55172"/>
		<updated>2011-02-19T15:21:15Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55171</id>
		<title>Datei:Mlh rfid.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55171"/>
		<updated>2011-02-19T15:08:29Z</updated>

		<summary type="html">&lt;p&gt;Mlh: hat eine neue Version von „Datei:Mlh rfid.zip“ hochgeladen:&amp;amp;#32;Zurückgesetzt auf die Version vom 19. Februar 2011, 15:04 Uhr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55170</id>
		<title>Datei:Mlh rfid.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55170"/>
		<updated>2011-02-19T15:06:20Z</updated>

		<summary type="html">&lt;p&gt;Mlh: hat eine neue Version von „Datei:Mlh rfid.zip“ hochgeladen:&amp;amp;#32;Zurückgesetzt auf die Version vom 13. Februar 2011, 17:22 Uhr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55169</id>
		<title>Datei:Mlh rfid.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55169"/>
		<updated>2011-02-19T15:04:25Z</updated>

		<summary type="html">&lt;p&gt;Mlh: hat eine neue Version von „Datei:Mlh rfid.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55127</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55127"/>
		<updated>2011-02-16T16:01:55Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer schnell gestrickten, aber funktionsfähigen (zumindest wenn man wenigstens den richtigen Prozessortyp im Makefile einträgt) [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Die Firmware benötigt im derzeitigen Zustand 1936 Bytes oder 94.5% des Flash-Speicherplatzes, es ist also nicht mehr viel Platz für eigene Erweiterungen vorhanden. Auch wurde auf das Löschen des Displays bei der Initialisierung und in main() verzichtet, das funktioniert weil die Länge der Einschaltmeldung mit der Länge der Tag-Codes übereinstimmt. Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55062</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55062"/>
		<updated>2011-02-13T20:29:34Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* alternative Firmware in C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen (zumindest wenn man wenigstens den richtigen Prozessortyp im Makefile einträgt) [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Die Firmware benötigt im derzeitigen Zustand 1936 Bytes oder 94.5% des Flash-Speicherplatzes, es ist also nicht mehr viel Platz für eigene Erweiterungen vorhanden. Auch wurde auf das Löschen des Displays bei der Initialisierung und in main() verzichtet, das funktioniert weil die Länge der Einschaltmeldung mit der Länge der Tag-Codes übereinstimmt. Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55059</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55059"/>
		<updated>2011-02-13T17:37:42Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in [[Bascom_AVR | Bascom ]] geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] &amp;lt;br&amp;gt;als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Die Firmware benötigt im derzeitigen Zustand 1936 Bytes oder 94.5% des Flash-Speicherplatzes, es ist also nicht mehr viel Platz für eigene Erweiterungen vorhanden. Auch wurde auf das Löschen des Displays bei der Initialisierung und in main() verzichtet, das funktioniert weil die Länge der Einschaltmeldung mit der Länge der Tag-Codes übereinstimmt. Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55058</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55058"/>
		<updated>2011-02-13T17:29:55Z</updated>

		<summary type="html">&lt;p&gt;Mlh: alternative Firmware + Beschreibung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] (Funktion siehe Bilder).&amp;lt;br&amp;gt;&lt;br /&gt;
Die Firmware benötigt im derzeitigen Zustand 1936 Bytes oder 94.5% des Flash-Speicherplatzes, es ist also nicht mehr viel Platz für eigene Erweiterungen vorhanden. Auch wurde auf das Löschen des Displays bei der Initialisierung und in main() verzichtet, das funktioniert weil die Länge der Einschaltmeldung mit der Länge der Tag-Codes übereinstimmt. Es werden 10 Zeichen und nur eine Zeile benutzt. Es können bis zu 20 Keys abgespeichert und damit &amp;quot;erkannt&amp;quot; werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55057</id>
		<title>Datei:Mlh rfid.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Mlh_rfid.zip&amp;diff=55057"/>
		<updated>2011-02-13T17:22:49Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55054</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55054"/>
		<updated>2011-02-13T16:20:11Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Demnächst:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] &amp;lt;/s&amp;gt;(Funktion siehe Bilder).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte |AVR-Projekte ]]&lt;br /&gt;
[[Kategorie:Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55053</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55053"/>
		<updated>2011-02-13T16:17:12Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Demnächst:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] &amp;lt;/s&amp;gt;(Funktion siehe Bilder).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55052</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55052"/>
		<updated>2011-02-13T16:15:23Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist auch als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Demnächst:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] &amp;lt;/s&amp;gt;(Funktion siehe Bilder).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55051</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55051"/>
		<updated>2011-02-13T16:14:21Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|250px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|250px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Demnächst:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] &amp;lt;/s&amp;gt;(Funktion siehe Bilder).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55049</id>
		<title>RFID Bausatz von Pollin</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=RFID_Bausatz_von_Pollin&amp;diff=55049"/>
		<updated>2011-02-13T16:10:54Z</updated>

		<summary type="html">&lt;p&gt;Mlh: Neuerstellung Pollin RFID Bausatz mit alternativer Firmware&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:mlh|Micha H.]], erstellt 2011-02-13 &#039;&#039;&lt;br /&gt;
== Bausatz RFID-125kHz-Empfänger ==&lt;br /&gt;
[[Datei:Pollin_Rfid.jpg|miniatur|rechts|350px|Empfangsbereit]]&lt;br /&gt;
&lt;br /&gt;
Bausatz von [http://www.pollin.de Pollin]. Aus der Produktbeschreibung:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;RFID-Board zum kontaktlosen Auslesen von HF-Tags. Ideal zum Experimentieren, zum Bau von Zugriffskontrollen, Zeiterfassungen usw. Ein Beispielprogramm, welches den gelesenen HF-Tag über die RS232-Schnittstelle sendet, ist bereits vorprogrammiert.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Bausatz kann durch ein ebenfalls von Pollin angebotenes LC-Display erweitert werden.&lt;br /&gt;
[[Datei:Tag_Rfid.jpg|miniatur|rechts|350px|Tag wird empfangen &amp;quot;01094BC868&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Zur Optimierung der Reichweite müssen die Schwingkreiselemente auf Resonanz abgestimmt werden, entweder durch Anpassen der Spule oder des Schwingkreiskondensators. Zusätzlich kann ein Widerstand in Reihe zur Spule verwendet werden, am einfachsten ein Poti (500 Ohm) einfügen und auf Maximum abstimmen. Danach kann das Poti ausgemessen werden und durch einen Festwiderstand ersetzt werden. Bei meinem RFID-Leser konnte ich so durch Einfügen eines 150-Ohm-Widerstandes die Lesereichweite von 0,5cm auf ca. 6cm vergrößern.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Die Originalsoftware wurde in Bascom geschrieben und ist als Quelltext bei Pollin verfügbar.&lt;br /&gt;
Hier ein Link zur [[Media:RFID TINY2313 U2770B.hex | Originalfirmware]] als Speicherabbild (Intel HEX-Format).&lt;br /&gt;
&lt;br /&gt;
== alternative Firmware in C ==&lt;br /&gt;
&lt;br /&gt;
Link zu einer kruden, aber funktionsfähigen [http://www.mikrocontroller.net/topic/110714#2001213 C-Version] der Firmware aus dem Forum. Funktionsbeschreibung im Artikel.&lt;br /&gt;
&lt;br /&gt;
Demnächst:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Darauf aufbauend: erweiterte, korrigierte und mit LCD-Ansteuerung versehene [[Media:mlh_rfid.zip | C-Firmware]] &amp;lt;/s&amp;gt;(Funktion siehe Bilder).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte ]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Kategorie:AVR-Projekte&amp;diff=55047</id>
		<title>Kategorie:AVR-Projekte</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Kategorie:AVR-Projekte&amp;diff=55047"/>
		<updated>2011-02-13T15:44:06Z</updated>

		<summary type="html">&lt;p&gt;Mlh: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In dieser Schublade findest Du Projekte, die mit oder für [[AVR]]-Controllern realisiert wurden, also Projekte mit AVR-Hardware und passender Software oder reine Software-Projekte wie die NanoVM. &lt;br /&gt;
&lt;br /&gt;
Ausserdem gibt es noch die [[:Kategorie:AVR-Boards]] mit Entwicklungsboards und Tipps dazu sowie die [[:Kategorie:AVR-Programmer und -Bootloader]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Hilfe:Bearbeitungshilfe&amp;diff=55046</id>
		<title>Hilfe:Bearbeitungshilfe</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Hilfe:Bearbeitungshilfe&amp;diff=55046"/>
		<updated>2011-02-13T15:38:23Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Formatierung */  durchgestrichen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Umfangreiche Hilfe ==&lt;br /&gt;
Umfangreiche Hilfe befindet sich auch hier: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Hilfe:Bearbeiten de.Wikipedia.org/wiki/Hilfe:Bearbeiten]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== Überschriften ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== Überschrift ==&lt;br /&gt;
=== Unter-Überschrift ===&lt;br /&gt;
==== Unter-Unter-Überschrift ====&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
Eine ausführlichere Beschreibung der Gliederungs- und Formatierungsmöglichkeiten findet sich im Wikipedia Online-Lexikon: http://de.wikipedia.org/wiki/Hilfe:Bearbeitungshilfe&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;kursiv&#039;&#039;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&#039;&#039;kursiv&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;fett&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;fett&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;u&amp;gt;unterstrichen&amp;lt;/u&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;u&amp;gt;unterstrichen&amp;lt;/u&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;s&amp;gt;durchgestrichen&amp;lt;/s&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt;durchgestrichen&amp;lt;/s&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sup&amp;gt;hoch&amp;lt;/sup&amp;gt;gestellt&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;hoch&amp;lt;/sup&amp;gt;gestellt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sub&amp;gt;tief&amp;lt;/sub&amp;gt;gestellt&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;sub&amp;gt;tief&amp;lt;/sub&amp;gt;gestellt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Einbinden von Sourcecode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;c&amp;gt;C-Code&amp;lt;/c&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
int main(void) {&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;avrasm&amp;gt;AVR Assembler-Code&amp;lt;/avrasm&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;avrasm&amp;gt;&lt;br /&gt;
; Mach fast nix!&lt;br /&gt;
.org 0x0000&lt;br /&gt;
Start:&lt;br /&gt;
  LDI r16, 42&lt;br /&gt;
  RJMP Start&lt;br /&gt;
&amp;lt;/avrasm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;vhdl&amp;gt;VHDL-Code&amp;lt;/vhdl&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
-- Kommentar in VHDL&lt;br /&gt;
process(clk)&lt;br /&gt;
begin&lt;br /&gt;
  if rising_dedge(clk) then&lt;br /&gt;
    data &amp;lt;= data_in;&lt;br /&gt;
  end if; &lt;br /&gt;
end process;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;Sonstige Texte mmit fester Formatierung&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hallo Welt!&lt;br /&gt;
    Leerzeichen bleiben, feste Zeichenbreite.&lt;br /&gt;
    Geht auch für ASCII-Art&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einfügen von Bildern oder Dateien ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hierfür ist [[Spezial:Anmelden|Anmeldung]] erforderlich!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bild erstellen ===&lt;br /&gt;
* Fotos müssen nicht von Hand verkleinert werden, sondern können bis 2 MB groß hochgeladen werden.&lt;br /&gt;
* Falls mit einem Vektorzeichenprogramm (z.B. Inkscape) gearbeitet wird, bitte das SVG-Format verwenden (erlaubt nachträgliche Bearbeitung durch andere!)&lt;br /&gt;
* Für Zeichnungen/Schaltpläne ist ansonsten das PNG-Format am besten geeignet, JPEG nur für Fotos/Scans verwenden, siehe [[Bildformate]].&lt;br /&gt;
&lt;br /&gt;
=== Datei/Bild hochladen und einfügen ===&lt;br /&gt;
# Dort, wo das Bild erscheinen (oder die Datei verlinkt werden) soll, den Code &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Bild:AVR-Programmer.png]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; in den Text einfügen (beliebiger Dateiname, aber mit richtiger Endung!).&lt;br /&gt;
# In der Vorschau oder der gespeicherten Seite auf den Platzhalter-Link &amp;quot;Bild:AVR-Programmer.png&amp;quot; klicken. Vorsicht, nicht gespeicherte Änderungen gehen verloren!&lt;br /&gt;
# Datei auswählen, ggf. Beschreibung eingeben und hochladen (wird automatisch umbenannt).&lt;br /&gt;
&lt;br /&gt;
=== Größe festlegen ===&lt;br /&gt;
&lt;br /&gt;
Folgender Code skaliert das Bild automatisch auf 200 Pixel Breite: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Bild:AVR-Programmer.png|&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;200px&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tabellen ==&lt;br /&gt;
&lt;br /&gt;
Für eine ausführlichere Liste und Beschreibung möglicher Features sei auf [http://de.wikipedia.org/wiki/Hilfe:Tabellen Wikipedia Hilfe:Tabellen] und [http://de.wikipedia.org/wiki/Hilfe:Tabellen-Referenz Wikipedia Hilfe:Tabellen-Referenz] verwiesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Tabellen-Überschrift&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Überschrift links || Überschrift rechts&lt;br /&gt;
|-&lt;br /&gt;
| links oben  || rechts oben&lt;br /&gt;
|-&lt;br /&gt;
| links mitte || rechts mitte&lt;br /&gt;
|-&lt;br /&gt;
| links unten || rechts unten&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Tabellen-Überschrift&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Überschrift links || Überschrift rechts&lt;br /&gt;
|-&lt;br /&gt;
| links oben  || rechts oben&lt;br /&gt;
|-&lt;br /&gt;
| links mitte || rechts mitte&lt;br /&gt;
|-&lt;br /&gt;
| links unten || rechts unten&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um sortierbare Tabellen zu erhalten fügt man statt &amp;lt;tt&amp;gt; class=&amp;quot;wikitable&amp;quot; &amp;lt;/tt&amp;gt; folgendes ein: &amp;lt;tt&amp;gt; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;tabellexyz&amp;quot; &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Richtlinien ==&lt;br /&gt;
&lt;br /&gt;
=== Links zu verwandten Artikeln und externen Seiten ===&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;interne&#039;&#039;&#039; Links zu verwandten Artikeln legt man einen Bereich nach dem folgenden Muster an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Foobar]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ähnlich bei &#039;&#039;&#039;externen&#039;&#039;&#039; Links:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* http://url1/&lt;br /&gt;
* http://url2/&lt;br /&gt;
* [http://url3/ Seite 3 hat einen Linktext]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link für Nachricht an eine Person/Autor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[http://www.mikrocontroller.net/user/show/Username_aus_Forum Alternativer Text]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/andreas Alternativer Text]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RFID_TINY2313_U2770B.hex&amp;diff=55010</id>
		<title>Datei:RFID TINY2313 U2770B.hex</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RFID_TINY2313_U2770B.hex&amp;diff=55010"/>
		<updated>2011-02-13T13:02:09Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Tag_Rfid.jpg&amp;diff=55008</id>
		<title>Datei:Tag Rfid.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Tag_Rfid.jpg&amp;diff=55008"/>
		<updated>2011-02-13T12:59:05Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Pollin_Rfid.jpg&amp;diff=55007</id>
		<title>Datei:Pollin Rfid.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Pollin_Rfid.jpg&amp;diff=55007"/>
		<updated>2011-02-13T12:54:43Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LCD&amp;diff=51574</id>
		<title>LCD</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LCD&amp;diff=51574"/>
		<updated>2010-10-20T13:53:09Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;L&#039;&#039;&#039;iquid &#039;&#039;&#039;C&#039;&#039;&#039;rystal &#039;&#039;&#039;D&#039;&#039;&#039;isplays, kurz LCDs, bestehen aus einer großen Fläche von Flüssigkristallen, die unter Einwirkung eines elektrischen Feldes die Polarisationsebene des Lichts drehen. Wird ein solches Display von bereits polarisiertem Licht durchleuchtet, dann erscheinen diese Kristalle mehr oder weniger hell oder dunkel. Die angelegte Spannung ist sehr gering, es muss sich aber um eine Wechselspannung handeln, da eine Gleichspannung die Kristalle zersetzt.&lt;br /&gt;
&lt;br /&gt;
=== Beleuchtung ===&lt;br /&gt;
Die Beleuchtung eines LCDs kann durch verschiedene Möglichkeiten erfolgen.&lt;br /&gt;
Kleine Displays (&amp;lt;25cm bzw. 10&amp;quot; Diagonale) werden mittlerweile fast ausschließlich mit LEDs beleuchtet.&lt;br /&gt;
Größere haben oft noch CCFL-Röhren, wobei auch hier leistungsstarke LEDs auf dem Vormarsch sind, da die Röhren hohe Spannungen benötigen und diese den Aufbau verkomplizieren (Röhrendicke, Inverter, HF-Felder, ...)&lt;br /&gt;
&lt;br /&gt;
Manchmal findet man auch EL(Elektrolumineszenz)-Folien, die aufgrund ihrer vergleichsweise geringen Lichtausbeute (bei weißer Leuchtfarbe) fast nur bei monochromen Displays anzutreffen sind.&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
Die gängigen Schnittstellen zu einem LCD-Controller sind ein 8bit, 4bit oder serielles Interface.&lt;br /&gt;
&lt;br /&gt;
Bei vielen &amp;quot;8bit&amp;quot;-LCDs ist es möglich, bei der Konfiguration festzulegen, dass auf 4bit Datenleitungen jeweils 2 nibble hintereinander gesendet werden. Dies spart Anschlüsse auf der Datensteuerungseinheit (PC, µC, etc). Bei 4-Bit-Ansteuerung darauf achten, dass die Datenpins 4-7 und nicht die Datenpins 0-3 des Displays an den µC angeschlossen werden müssen!&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;Touchscreen-LCD&#039;&#039; oder &#039;&#039;Monitor&#039;&#039; existiert als vorgefertigte Einzeleinheit nicht. Wird das unter dem Marketingwort Touchscreen erworbene Produkt zerlegt bleibt die Eingabeeinheit Touchpanel und die Ausgabeeinheit LCD-Screen übrig. &lt;br /&gt;
&lt;br /&gt;
Jeder &#039;&#039;Touchscreen&#039;&#039; besteht aus einem Monitor, der mit transparenten Matrix überzogen wurde, der Berührungen an einen Controller weitergibt, der sie in Koordinaten übersetzt und das Anzeigegerät so zum Eingabegerät macht.&lt;br /&gt;
&lt;br /&gt;
Die aus zwei (sich bei Berührung elektrisch veränderndernden) Matrixflächen bestehende Kunststofffläche wird von Systemarchitekten und Mikrocontroller.net-Besuchern beim Einbau des LCD&#039;s in das Endprodukt über die anstelle einer Maus mit Berührungen durch Gegenstände oder eines Fingers zu Bedienenden Fläche platziert.&lt;br /&gt;
&lt;br /&gt;
Das Internet gibt Aufschluss über die für die geplante Anwendung geeignete Touchpanel-Technologie und den für die benötigte Schnittstelle zu verwendenden Controller.&lt;br /&gt;
&lt;br /&gt;
Ein Selbstbauvorschlag und Links zu einigen kommerziellen Lösungen findet sich [http://www.mikrocontroller.net/forum/read-3-34005 hier].&lt;br /&gt;
&lt;br /&gt;
(LINK DEFEKT)&lt;br /&gt;
&lt;br /&gt;
=== Hacks ===&lt;br /&gt;
&lt;br /&gt;
Eine bei Handybastlern bekannte Spielerei ist das Abziehen der Polarisationsfolie vom LCD und dem um 90° gedrehten Aufkleben der alten oder einer neuen Folie. Dies führt zu einem hardwaremäßigen Invertieren der LCD Anzeige.&lt;br /&gt;
&lt;br /&gt;
Übliche Text-LCD-Module sind für den Betrieb an 5V vorgesehen. Will man sie an einen Mikrocontroller mit 3V IO-Pegel anschließen, wäre eigentlich ein Pegelwandler nötig. Es gibt jedoch einen Trick, um das LCD direkt an 3V betreiben zu können. Dazu muss man wissen, dass das Problem nicht die Versorgung des Controllers auf dem LCD-Modul (der HD44780 ist ab 2,7V spezifiziert), sondern die Erzeugung der Kontrastspannung für die Anzeige ist. Selbst wenn man den Kontrastpin auf Masse legt, ist unterhalb von etwa 4V nichts mehr zu erkennen. Dies führt zu folgender Lösung: die Spannung muss noch kleiner werden, also negativ! Man legt also eine Spannung im Bereich von -1 bis -2V am Kontrastpin an. Mit dieser Methode funktionieren manche LCDs schon ab etwa 2V.&lt;br /&gt;
&lt;br /&gt;
== Ansteuerroutinen Handy LCDs ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch eine bei Bastlern vergleichsweise beliebte Alternative zu den &amp;quot;normal&amp;quot; gekauften LCDs. Hier werden Ersatz-LCDs bestimmter Handytypen hergenommen und per µC angesteuert. Dadurch hat man einige Vorteile: Die Controller sind oft (eigentlich immer) bereits integriert, die Größe des gesamten Systems ist meist minimal und die LCDs sind teilweise unverschämt günstig im Vergleich zu KSS0066er oder HD44780er LCDs. Als Beispiel: Ein 132x176 Pixel LCD mit 60k Farben (!) für das Siemens S65 Handy kostet inzwischen bei Ebay um die 10 Euro zzgl. Versand und die benötigte Ansteuerung dazu hat einen Materialwert von maximal nochmal 10 Euro. Das kann man mit gekauften LCDs oder TFTs bei Reichelt &amp;amp; Co. nicht mehr vergleichen. Allerdings erkauft man sich auch ein paar Nachteile: Es gibt teilweise (noch) keine sauberen Companionboards. Das resultiert vor Allem dann in Arbeit, wenn die LCDs mehrere Spannungen zum Laufen benötigen (oft +10V und +3,3V) oder spezielle Anschlüsse von Nöten sind (SMD-Adapter bspw.) und man somit um eine eigens entwickelte Platine schwer herumkommt. Allerdings beschäftigen sich viele Leute damit, von daher wird man oft etwas kopieren können. Als eine Auswahl an beliebten Handy-LCDs hier eine Auflistung von Displays, mit denen oft gearbeitet wird (daher findet man hier auch massenhaft Infos im Forum).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vorlage Display ===     &lt;br /&gt;
 resolution   : pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : &lt;br /&gt;
 Controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : &lt;br /&gt;
 Datei        : &lt;br /&gt;
&lt;br /&gt;
===NOKIA 1100===&lt;br /&gt;
 resolution   : pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : &lt;br /&gt;
 Controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : [http://www.sunbizhosting.com/~spiral/1100/ Nokia 1100 LCD Pic interface]&lt;br /&gt;
 Datei        : &lt;br /&gt;
&lt;br /&gt;
=== NOKIA 7110 ===&lt;br /&gt;
 resolution   : 96 x 65 pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : 1&lt;br /&gt;
 Controller   : SED1565&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : [http://module.ro/nokia_7110.html http://module.ro/nokia_7110.html]&lt;br /&gt;
 Datei        : [[Media: Nokia7110 Lcd library (SED1565).pdf]]&lt;br /&gt;
 Library      :                            Datum:&lt;br /&gt;
 Pinout       : [[Media: Nokia 7110 LCD pin outputs.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== NOKIA 3310 ===&lt;br /&gt;
&lt;br /&gt;
 resolution   : 84 x 48 pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : 1&lt;br /&gt;
 controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : [http://www.jtronics.de/elektronik-avr/lcd-display-nokia3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; von http://www.jtronics.de - sehr gut]&lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/25039  Nokia 3310]&lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/14817 NOKIA 3310 LCD in BAS]&lt;br /&gt;
 Link         : [http://tinkerish.com/blog/?tag=nokia-3310-lcd.html http://tinkerish.com/blog/?tag=nokia-3310-lcd]&lt;br /&gt;
 Link         : [http://www.lcdinterfacing.info/Nokia-3310-LCD-Interface.php http://www.lcdinterfacing.info/Nokia-3310-LCD-Interface.php]&lt;br /&gt;
&lt;br /&gt;
=== NOKIA 3510i ===  &lt;br /&gt;
 resolution   : 97x65 pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : 256, 4096&lt;br /&gt;
 controller   : S1D15G14&lt;br /&gt;
 backlight    :&lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Datei        : [[Media:Nokia 3510i LCD.pdf|Nokia 3510i LCD.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== NOKIA 6100 ===&lt;br /&gt;
&lt;br /&gt;
 resolution   : 130x130 pixel&lt;br /&gt;
 display area : 27 x 27 mm&lt;br /&gt;
 colours      : 256, 4096   (4096 colours supported since v 1.97.8)&lt;br /&gt;
 controller   : Epson S1D15G10 (meist grüner connector) oder Philips (PCF8833 oder LDS176 meist brauner connector)&lt;br /&gt;
 backlight    : yes&lt;br /&gt;
 adj contrast : yes&lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/12208 Nokia 6100 Ansteuerung in C]&lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/12218 Nokia 6100 Grafiklibrary die Zweite]&lt;br /&gt;
 Link         : [http://www.sparkfun.com/commerce/product_info.php?products_id=8683 http://www.sparkfun.com/ NOKIA 6100 PHILLIPS &amp;amp; EPSON]&lt;br /&gt;
 Link         : [http://www.ccsinfo.com/forum/viewtopic.php?t=26461 NOKIA 6100 EPSON]&lt;br /&gt;
 Link         : [http://serdisplib.sourceforge.net/ser/nokcol_15g10.html http://serdisplib.sourceforge.net/Epson]&lt;br /&gt;
 Pinout       : [[Media: Nokia 5100, 6100, 6610, 6800, 7210, 7250, 8910i LCD Pins.JPG|Nokia 5100, 6100, 6610, 6800, 7210, 7250, 8910i LCD Pins.JPG]]&lt;br /&gt;
 Library      : [[Media:HAGEN - Nokia 6100 Grafiklibrary 2.2 - 16.09.2004.zip|HAGEN - Nokia 6100 Grafiklibrary 2.2 - 16.09.2004.zip]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nokia 6100&#039;&#039;&#039; &amp;amp; kompatible: 132x132 Pixel mit 4096 Farben und ebenfalls SPI. Ein sehr beliebtes Display, mit dem sich ebenfalls sehr viele beschäftigen. Einziges Hauptproblem: Es gibt zwei unterschiedliche Controller ([http://www.e-dsp.com/controlling-a-color-graphic-lcd-epson-s1d15g10-controller-with-an-atmel-avr-atmega32l/ Epson S1D15G10] und [http://thomaspfeifer.net/nokia_6100_display.htm Philips PCF8833]) für dasselbe Display, die allerdings nicht kompatibel angesteuert werden! Von daher ist Vorsicht geboten. Zu kaufen gibt es die Displays ab etwa 15€. Man benötigt unter Umständen noch einen SMD-Adapter, den es für etwa 4€ gibt (je nach gekaufter Anzahl). Infos gibts hier: [http://serdisplib.sourceforge.net/ser/nokcol_15g10.html serdisp6100] [http://www.sparkfun.com/commerce/product_info.php?products_id=569 sparkfun] [http://thomaspfeifer.net/nokia_6100_display.htm ThomasPfeifer] und (wie sollte es anders sein) natürlich direkt vor Ort: [http://www.mikrocontroller.net/topic/12218#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
UPDATE 17.10.2007: Neuerdings ist ein zusätzlicher (und damit dritter) Controllerchip recht beliebt geworden: Epson S1D15G17 (also G17 statt G10). Das Tolle hierbei: Dieser ist zu keinem der anderen Controller voll kompatibel, sondern teilt sich nur einige Befehle. Und zudem gibts bisher noch sehr wenig Infos zu diesem Controller. Also noch mehr aufpassen beim Kauf bzw. dem Ansteuern!&lt;br /&gt;
&lt;br /&gt;
=== NOKIA N95 ===&lt;br /&gt;
&lt;br /&gt;
 resolution   : 240 x 320 pixel&lt;br /&gt;
 display area : 40 x 55 mm&lt;br /&gt;
 colours      : 16.7 Mio.&lt;br /&gt;
 controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/142447 NOKIA N95 Display]&lt;br /&gt;
 Datei        :&lt;br /&gt;
&lt;br /&gt;
=== SIEMENS S65 ===&lt;br /&gt;
&lt;br /&gt;
 resolution   : 132 x 176 pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : 65.536&lt;br /&gt;
 controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast : &lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/31403 The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
 Link         : [http://www.superkranz.de/christian/S65_Display/DisplayIndex.html http://www.superkranz.de/christian/S65_Display]&lt;br /&gt;
 Datei        : &lt;br /&gt;
 Info         : Es kann sein, dass die oben verlinkte Library beim kompilieren mit dem Fehler&lt;br /&gt;
                &amp;quot;glcd_init.asm:91: Error: number must be positive and less than 32&amp;quot; abbricht.&lt;br /&gt;
                Eine Lösung wird in diesem Forenbeitrag gegeben: [http://www.mikrocontroller.net/topic/157911]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Siemens S65&#039;&#039;&#039; &amp;amp; kompatible: 132x176 Pixel mit 60k Farben und wiederum SPI. Ein vergleichsweise neues LCD, das erst seit etwa ein/zwei Jahren erfolgreich angesteuert wird, obwohl man nicht einmal den verbauten Controller kennt! Re-Engineering sei Dank! Dieses Display gibt es momentan noch unverschämt günstig für etwa 10€, nur die benötigten Spannungen machen Kopfweh (10V für die HG-Beleuchtung und 2,8V für den LCD-Controller). Das Display ist wirklich vergleichsweise groß (das Größte aller hier vorgestellten) und auch noch aus einer größeren Entfernung wunderbar zu lesen/sehen. Einziges Problem: Da pro Pixel zwei volle Bytes gesendet werden müssen, benötigt ein komplett zu beschriftender Bildschirm mit 8 MHz SPI etwa 50 ms für einen Refresh. Das sieht man bspw. bei einem Übergang von schwarz auf weiß schon relativ deutlich.&lt;br /&gt;
&lt;br /&gt;
 LS020&lt;br /&gt;
 Datei        : &lt;br /&gt;
&lt;br /&gt;
=== SIEMENS M55 ===&lt;br /&gt;
 resolution   : pixel&lt;br /&gt;
 display area : &lt;br /&gt;
 colours      : &lt;br /&gt;
 controller   :&lt;br /&gt;
 backlight    : &lt;br /&gt;
 adj contrast :  &lt;br /&gt;
 Link         : [http://www.mikrocontroller.net/topic/83267 Siemens M55 Display Datenblatt Ansteuerung]&lt;br /&gt;
 Datei        : &lt;br /&gt;
&lt;br /&gt;
=== Sonstige Displays ===&lt;br /&gt;
&lt;br /&gt;
 Pinout       : [[Media:Nokia 3410 LCD Pinouts.JPG|Nokia 3410 LCD Pinouts.JPG]]&lt;br /&gt;
 Pinout       : [[Media:Nokia 6310 lcd pinouts.JPG|Nokia 6310 lcd pinouts.JPG]]&lt;br /&gt;
 Pinout       : [[Media:Nokia 8310 LCD Pinouts.JPG|Nokia 8310 LCD Pinouts.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Ansteuerung ==&lt;br /&gt;
&lt;br /&gt;
Direkt hinter der Dot-Matrix sitzen nur ein paar Treiber, die auch die Leitungen bündeln. Das Interface daran bietet keine &amp;quot;Intelligenz&amp;quot;, es werden Signale für Vertical Sync / Horizontal Sync (also Spalten/Zeilenumbruch) sowie ein Clock Signal benötigt. Es werden nacheinander alle Pixel gescant und über eine Signalleitung an/aus mitgeteilt. Da deshalb ein konstanter (hoher) Datenfluss und ein nicht geringer Speicher (Framebuffer) benötigt wird, ist es für Mikrocontroller eher weniger geeignet. &lt;br /&gt;
&lt;br /&gt;
Zur Ansteuerung von LCDs gibt es spezielle LCD Controller, fertige Module mit Controller und einige Prozessoren mit integrierter Ansteuerung (z.&amp;amp;nbsp;B. aus der [[MSP430]]-Serie, oder [[AVR]] wie der ATmega169 ). LCD-Module mit eingebautem Controller lassen sich meist einfach mit einem [[Mikrocontroller]] ansteuern. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Text (character) LCDs&#039;&#039;&#039; verwenden meistens den &#039;&#039;&#039;[[HD44780]]&#039;&#039;&#039; oder einen kompatiblen Controller (z.B [[KS0066]]). Das [[KS0066]] Timing und die Init-Sequenz weichen stark vom Timing des HD44780 ab! Es gibt gute Application Notes zu Displays (mit KS0066) von Hitachi. 1x16 LCDs werden oft wie 2x8 betrieben! D.h. es ist ein &#039;Zeilenwechsel&#039; an Position (z.&amp;amp;nbsp;B. 0x40) nötig. Bei manchen Text-LCDs ist mit &#039;&#039;&#039;selbstdefinierten Zeichen&#039;&#039;&#039; eine [[Pseudo-Graphische LCD-Ansteuerung]] möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grafik (graphic) LCDs&#039;&#039;&#039; verwenden z.&amp;amp;nbsp;B. den [[T6963]], den [[SED1330]] oder den [[KS0108]] Controller.&lt;br /&gt;
&lt;br /&gt;
Bei LCDs ohne eigenen Controller (Laptop-LCDs z.&amp;amp;nbsp;B.) ist die direkte Ansteuerung sehr schwierig (weil zeitkritisch), allerdings lässt sich in manchen Fällen ein Standard-Controller nachrüsten.&lt;br /&gt;
&lt;br /&gt;
Wenn die Ansteuerung des Displays gemeistert wurde, muss als nächstes die höheren Grafikfunktionen (Pixel an/aus, Linie, Rechteck, Kreis,...) gemeistert werden. Die entsprechenden Funktionen zum [[Rastern]] sind für µC recht resourcenfressend. Auch das abspeichern kompletter Bitmaps im ROM ist bei größeren Displays nicht wirklich praktikabel so das die Anbindung an ein größeren Speicher meistens Not tut.&lt;br /&gt;
&lt;br /&gt;
== Display Controller Datenblätter ==&lt;br /&gt;
&lt;br /&gt;
 Datasheet    : [[Media:Datasheet_LDS176.pdf|Datasheet_LDS176.pdf‎]]&lt;br /&gt;
 Datasheet    : [[Media:Datasheet_S1D15G00_REV1_0.pdf|Datasheet_S1D15G00_REV1_0.pdf]]&lt;br /&gt;
 Datasheet    : [[Media:Datasheet_S1D15G14E.pdf|Datasheet_S1D15G14E.pdf]]&lt;br /&gt;
 Datasheet    : [[Media:Epson_S1D13305.pdf|Datasheet_Epson_S1D13305.pdf]]&lt;br /&gt;
 Datasheet    : [[Media:Datasheet_HM628128D.pdf|Datasheet_HM628128D.pdf]]&lt;br /&gt;
 Datasheet    : [[Media:Datasheet_SED1330F-1335F-1336F.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Projekte ==&lt;br /&gt;
=== Projekte mit Text-LCD ===&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Tutorial: LCD]]&lt;br /&gt;
* [[Projekt LCD an Parallelport]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/79609#664268 (A) KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* [[Tinykon]] - Menüsystem für LCD oder [[UART]]&lt;br /&gt;
&lt;br /&gt;
=== Projekte mit Grafik-LCD ===&lt;br /&gt;
* [http://www.jtronics.de/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; von http://www.jtronics.de - sehr gut]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays.html Ansteuerung_Handy_Displays]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-4-160854.html LCD Controller für 640x480 LCD mit mega8515] von Benedikt.&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-4-422387.html Fontgenerator] zum Erstellen eigener Schriftarten (LCD) von Hauke Radtki. ([[Java]], [[T6963]]c)&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-4-306961.html LCD Library T6963c] angepasst auf [[AVR-GCC]] von Nico Sachs und Florian.&lt;br /&gt;
* [[Projekt T6963-LCD-Ansteuerung]]&lt;br /&gt;
* [http://thomaspfeifer.net/nokia_6100_display.htm Ansteuerung eines Nokia LCDs mit einem AVR-Controller]  von Thomas Pfeifer&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/79738#665417 Digitaler Bilderrahmen mit mega8 S65 Display und SD-Karte] von Matthias Bode&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber] von Mark Meise (AVR-GCC)&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/glcd2/index.html Interfacing Atmel AVR with Graphics Liquid Crystal Displays (GLCDs)] (SED1520)&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://sandiding.tripod.com/Bertys.html Berty&#039;s Home Page] mit vielen Pinouts von Handy LCDs&lt;br /&gt;
* [http://www.geocities.com/dinceraydin/lcd/index.html LCD Info] von Dincer Aydin (Englisch).&lt;br /&gt;
* [http://www.geocities.com/dinceraydin/djlcdsim/djlcdsim.html Dincer&#039;s Text LCD Simulator V 1.021]  (Online, Javascript erforderlich).&lt;br /&gt;
* [http://www.geocities.com/dinceraydin/djgfxlcdsim/djgfxlcdsim.html Dincer&#039;s Graphic LCD Simulator V 1.01] (Online, Javascript erforderlich).&lt;br /&gt;
* [http://www.pacificdisplay.com/lcd_ics.htm Übersicht LCD-Controller und Treiber-ICs] bei Pacific Display Devices. (Englisch)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.tianma.com/controller.php Übersicht LCD-Controller] bei Tianma. (Englisch)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [http://www.sprut.de/electronic/lcd/index.htm Dot-Matrix LCD&#039;s] von Jörg &#039;&#039;sprut&#039;&#039; Bredendiek &lt;br /&gt;
* [http://www.lcd-module.de/deu/knowhow/knowhow.htm LCD - Know How] von Electronic Assembly  &amp;quot;&amp;quot;toter Link&amp;quot;&amp;quot;&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430/viewforum.php?f=2 Graphic LCDs for Microcontroller] (PassWorld YK, Englisch - Japanisch)&lt;br /&gt;
* [http://www.myke.com/lcd.htm LCD Interfacing Reference Page] (44780) &amp;quot;&amp;quot;Link passt nicht mehr&amp;quot;&amp;quot;&lt;br /&gt;
* [http://techref.massmind.org/techref/microchip/pwmvee.htm Vee (negative power supply) (for LCD etc...) from PIC PWM] - Vorschlag zum Erzeugen der geringen, negativen Kontrastspannung bei manchen LCD per µC/PWM und Ladungspumpe.&lt;br /&gt;
* [http://www.edn.com/article/CA6505569.html?spacedesc=designideas&amp;amp;industryid=44217 Microcontroller drives LCD with just one wire] - EDN Design Idea von Noureddine Benabadji, 12/3/07 (PIC10F)&lt;br /&gt;
* [http://www.elvand.com/en/index.php?option=com_content&amp;amp;task=view&amp;amp;id=15&amp;amp;Itemid=40 LCD Font Generator (LFG)] von elvand.com (Freeware)&lt;br /&gt;
* [http://homepages.tesco.net/~steve.lawther/steve/t6963c.htm Toshiba  T6963C Controller based Displays]&lt;br /&gt;
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=61156 Using the KS0713/S6B1713/ST7565 LCD driver chips] - Tutorial bei www.avrfreaks.net (kostenkose Registrierung erforderlich)&lt;br /&gt;
* [http://fluessigkristalle.com/index.htm Flüssigkristalle und Flüssigkristallanzeigen] - Infos für Lehrende und Lernende inkl. Selbstbauanleitungen von Dr. Feodor Oestreicher.&lt;br /&gt;
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2608&amp;amp;page=1&amp;amp;param=en532061 Grafische Bibliothek mit Touchscreen Unterstützung]&lt;br /&gt;
* [http://www.vdr-wiki.de/wiki/index.php/Display#Graphische_LCD-Displays Graphische_LCD-Displays im VDR Wiki]&lt;br /&gt;
* [http://www.microvga.com/conio-lib uVGA-CONIO-LIB: MicroVGA-TEXT conio Library]&lt;br /&gt;
* [http://hackaday.com/2009/09/29/how-to-generate-font-and-picture-header-files/ How to generate font and picture header files] auf hackaday.com&lt;br /&gt;
* [http://www.muGUI.de/ Font and Bitmap Generator] - Umfangreiche SW zur Erstellung von Programmcode aus Bitmaps und Fonts für uC auf www.muGUI.de.&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:LCD| ]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wie kann ich was auf ein LCD ausgeben?&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Gute Frage! Eine Methode ist sich als Einzelkämpfer durchzubeißen. Dabei helfen Datenblätter und Handbücher sowie die Suche nach Tutorials, Forenbeiträgen und ähnlichen Projekten. Oder man fragt in einem Forum. Dabei steigen die Erfolgsaussichten auf eine hilfreiche Antwort enorm, wenn man seine Hausaufgaben gemacht hat. Also Links zu Datenblättern angeben! Schaltplan beilegen! Vorhandenen Sourcecode beilegen! ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wie kann ich Zahlen auf LCD/UART ausgeben?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe die Artikel zur allgemeinen [[FAQ#Wie_kann_ich_Zahlen_auf_LCD.2FUART_ausgeben.3F| FAQ]] und zur [[Festkommaarithmetik]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Egal was ich mache auf dem Display erscheinen keine Zeichen! Was ist los?&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Möglicherweise ist einfach nur der Kontrast unpassend eingestellt. &lt;br /&gt;
&lt;br /&gt;
Es gibt auch LCDs (s. unten), die eine negative Kontrastspannung benötigen ([http://www.mikrocontroller.net/topic/81596#681507 Forenbeitrag von Thorsten]); näheres kann das Datenblatt klären. Man kann u.U. die benötigte negative Kontrastspannung von einem freien Anschluss am TTL-RS232 Pegelwandler nehmen ([http://www.mikrocontroller.net/topic/121074#1097636 Forenbeitrag von P. M.]).&lt;br /&gt;
&lt;br /&gt;
Liste bekannter LCDs mit &#039;&#039;&#039;negativer Kontrastspannung&#039;&#039;&#039;:&lt;br /&gt;
* Pollin: LCD-Modul YL162-90 / Best.Nr. 120 060 ([http://www.pollin.de/shop/downloads/D120060D.PDF D120060D.PDF])&lt;br /&gt;
* Pollin: POWERTIP PC1602LRM-LSO-C &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R/W Leitung vom Text-LCD ist fix mit GND verbunden und die Ansteuerung mit der LCD/AVR-Library von Peter Fleury funktioniert nicht! Was ist los?&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Die Fleury Library erwartet, dass R/W nicht fix ist, sondern vom Programm gesteuert werden kann. Das muss auch so sein, denn Peter liest das Busy Flag aus, um Warteschleifen zu vermeiden.&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Brownout&amp;diff=48985</id>
		<title>Brownout</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Brownout&amp;diff=48985"/>
		<updated>2010-07-06T08:20:13Z</updated>

		<summary type="html">&lt;p&gt;Mlh: Eeprom schreiben ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In Anlehnung an Blackout (= Stromausfall) ist ein Brownout eine zu geringe Spannung.&lt;br /&gt;
&lt;br /&gt;
Jeder [[Mikrocontroller]] hat einen angegebenen Versorgungsspannungsbereich, z.&amp;amp;nbsp;B. 4,5 - 5,5V. Unterschreitet man diesen, dann hört er aber nicht einfach auf zu funktionieren, sondern nach und nach fallen einzelne Komponenten aus oder werden unzuverlässig. Die CPU &amp;quot;spielt verrückt&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Die üblichen Ursachen für einen Brownout sind leer werdende Batterien und der normale Ausschaltvorgang, wenn in der Stromversorgung ein größerer Kondensator ist (was bei Netzteilen normalerweise der Fall ist). Anders ausgedrückt: Ein Brownout ist kein exotischer Sonderfall, sondern man muss immer mit ihm rechnen.&lt;br /&gt;
&lt;br /&gt;
Ob man etwas gegen einen Brownout tun muss, hängt von der Anwendung ab. Zeigt ein elektronisches Thermometer beim Ausschalten noch kurz wirre Zeichen an, dann ist das ziemlich egal; macht eine elektronische Steuerung aber dabei z.&amp;amp;nbsp;B. ein Ventil auf, dann könnte das unangenehme bis fatale Folgen haben.&lt;br /&gt;
&lt;br /&gt;
Zur Lösung des Problems kann man über eine externe Schaltung am Prozessor das Reset-Signal aktivieren (solange läuft der Prozessor nämlich nicht). Dafür gibts auch fertige ICs, sogenannte Reset-Controller.&lt;br /&gt;
&lt;br /&gt;
Immer wieder gerne genommene &#039;&#039;&#039;Reset-Controller&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* TL7705 ([http://www.ti.com Ti])&lt;br /&gt;
* MCP100 ([http://www.microchip.com Microchip])&lt;br /&gt;
* MAX809 im sehr kleinen SC70 oder SOT23 Gehäuse zu haben ([http://www.maxim-ic.com Maxim])&lt;br /&gt;
* MAX6864 mit [[Watchdog]]&lt;br /&gt;
&lt;br /&gt;
Neuere [[Mikrocontroller]] haben oft auch schon eine Brownout-Detection eingebaut, man muss sie dann nur noch aktivieren. Bedenken sollte man dabei, dass so eine Schaltung zusätzlich Strom benötigt. Bei den AVR-Prozessoren sind das 10-30 µA, was bei langlaufenden Batteriegeräten nicht mehr zu vernachlässigen ist (ca. 300 mAh pro Jahr).&lt;br /&gt;
&lt;br /&gt;
Eventuell will man vor dem Brownout Daten ins Eeprom schreiben, dazu lässt sich diese [[Speicher#EEPROM_Schreibzugriffe_minimieren | Schaltung]] nutzen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:Spannungsversorgung und Energiequellen]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Compact_Plus_Blutzuckermessger%C3%A4t-Hardware&amp;diff=47281</id>
		<title>Compact Plus Blutzuckermessgerät-Hardware</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Compact_Plus_Blutzuckermessger%C3%A4t-Hardware&amp;diff=47281"/>
		<updated>2010-05-07T12:25:37Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Bauteilliste */ Werte ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware ==&lt;br /&gt;
=== Übersicht Hardware ===&lt;br /&gt;
* OLED Display 102×80 Pixel incl. 16 Helligkeitsstufen pro Pixel / SSD1325 /43x36 mm gesamt&lt;br /&gt;
* Atmega168PA&lt;br /&gt;
* DC/DC-Wandler (Regler und Drosseln)&lt;br /&gt;
* IR-Sender/Empfänger&lt;br /&gt;
* 3 Tasten (4 wenn man den Schließer der Klappe mitzählt)&lt;br /&gt;
* 2 Elektromotoren&lt;br /&gt;
* kleine Lichtschranke/Barcodescanner&lt;br /&gt;
* kleines Spektrometer (2 * LEDs rot, IR(?)-LED, Fotodiode)&lt;br /&gt;
* Betriebsspannung 3V (2*AAA)&lt;br /&gt;
* SMD Piezo-Summer&lt;br /&gt;
&lt;br /&gt;
=== Gerät als Ganzes ===&lt;br /&gt;
[[Bild:compact_plus.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Das unzerlegte Gerät. Ganz links ist die Stechhilfe.&lt;br /&gt;
&lt;br /&gt;
=== Gerät zerlegen ===&lt;br /&gt;
Das Gehäuse besteht aus drei ineinander einrastenden Teilen (keine Schrauben). Relativ schadlose Demontage durch vorsichtiges Aufhebeln möglich.&lt;br /&gt;
Erst das Seitenteil (links) ganz oben und 2 cm von unten ausrasten.&lt;br /&gt;
Von unten anfangen die Gehäusehälften zu lösen, bis man sie über die Oberkante aufklappen kann.&lt;br /&gt;
&lt;br /&gt;
Die Platine selbst ist mit 2 Schrauben und ein paar Clipsen befestigt. Vor dem Entnehmen ist der untere Folienstecker abzuziehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:compact_plus_open.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Das geöffnete Gerät ohne Platine.&lt;br /&gt;
Gut zu erkennen (im unverkleinertem Bild) sind die zwei Motoren und die Mechanik die dafür sorgen, dass die Aufbewarungstrommel gedreht und die Messstreifen herausgefahren werden können.&lt;br /&gt;
&lt;br /&gt;
=== Komponenten ===&lt;br /&gt;
&lt;br /&gt;
==== Board ====&lt;br /&gt;
Hochauflösende Scans beider Platinenseiten.&lt;br /&gt;
Die Bauteile sind nach bestem Wissen und Gewissen bezeichnet (für spätere Schaltpläne). Speziell bei den Widerständen und Kondensatoren ist noch eine Kontrolle notwendig. Ich habe dabei alle blauen und schwarzen Bauteile als Widerstände und alles graue und weiße als Kondensatoren gedeutet.&lt;br /&gt;
&lt;br /&gt;
Änderungen bitte mir (Netzwanze) melden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:AccuCheckL1.jpg|300px]][[Bild:AccuCheckL6.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==== Stromversorgung ====&lt;br /&gt;
Die zwei AAA Zellen sind in Serie geschaltet.&lt;br /&gt;
Ein Schaltregler [IC7] erzeugt daraus 3.3 V.&lt;br /&gt;
Ein Schaltregler [IC6] erzeugt daraus 12 V für das OLED.&lt;br /&gt;
&lt;br /&gt;
==== Bauteilliste ====&lt;br /&gt;
&lt;br /&gt;
Nach bestem Wissen und Gewissen bestimmt durch Kombination aus Schaltplänen und Messungen. Bei Komponenten mit &amp;quot;(?)&amp;quot; bin ich mir nicht sicher.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bauteil || Größe&lt;br /&gt;
|-&lt;br /&gt;
| R1  || 820 kOhm&lt;br /&gt;
|-&lt;br /&gt;
| R11 || 100 Ohm&lt;br /&gt;
|-&lt;br /&gt;
| R35 || Temperaturfühler; NTC 10 kOhm bei 20°C (?)&lt;br /&gt;
|-&lt;br /&gt;
| R36 || 10 kOhm&lt;br /&gt;
|-&lt;br /&gt;
| R43 || 100 kOhm&lt;br /&gt;
|-&lt;br /&gt;
| R44 || 100 Ohm&lt;br /&gt;
|-&lt;br /&gt;
| R45 || 39 kOhm&lt;br /&gt;
|-&lt;br /&gt;
| R46 || 1 MOhm&lt;br /&gt;
|-&lt;br /&gt;
| C24 || 22 uF (?)&lt;br /&gt;
|-&lt;br /&gt;
| C38 || 4,7 uF&lt;br /&gt;
|-&lt;br /&gt;
| C39 || 4,7 uF&lt;br /&gt;
|-&lt;br /&gt;
| C44 || 100 nF&lt;br /&gt;
|-&lt;br /&gt;
| C45 || 470 nF (?)&lt;br /&gt;
|-&lt;br /&gt;
| C46 || 10 pF&lt;br /&gt;
|-&lt;br /&gt;
| L2 || 100 uH&lt;br /&gt;
|-&lt;br /&gt;
| IC1 || ASIC&lt;br /&gt;
|-&lt;br /&gt;
| IC2 || ATmega168A&lt;br /&gt;
|-&lt;br /&gt;
| IC3 || Atmel AT25640A SPI EEPROM&lt;br /&gt;
|-&lt;br /&gt;
| IC4 || NC7NP14 ULP Triple Inverter with Schmitt Trigger Input&lt;br /&gt;
|-&lt;br /&gt;
| IC5 || 74LVC1G86GV (Markierung V68)&lt;br /&gt;
|-&lt;br /&gt;
| IC6 || TPS61080 Step-up 12 V&lt;br /&gt;
|-&lt;br /&gt;
| IC7 || AS1329, Step-up 3,3 V&lt;br /&gt;
|-&lt;br /&gt;
| IC8 || BIG 01 A825MFL ????&lt;br /&gt;
|-&lt;br /&gt;
| IC9 || [[#IC9 (IR)|IR (TFDU2201)]]&lt;br /&gt;
|-&lt;br /&gt;
| Buzzer || [[#Buzzer|Piezo Schallwandler]]&lt;br /&gt;
|-&lt;br /&gt;
| D1 || BAT54W&lt;br /&gt;
|-&lt;br /&gt;
| XTAL1 || 32 Khz&lt;br /&gt;
|-&lt;br /&gt;
| XTAL2 || 4 Mhz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Pinbelegung Mega168 ====&lt;br /&gt;
&lt;br /&gt;
Wie oben mittles Messungen ermittelt. Ohne Garantie auf Vollständigkeit und Richtigkeit.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pin  || Port || Funktionen || Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| 1  || PD3 || (PCINT19/OC2B/INT1)  || Taste Mitte (S2)&lt;br /&gt;
|-&lt;br /&gt;
| 2  || PD4 || (PCINT20/XCK/T0) || Display SCLK (XCLK)&lt;br /&gt;
|-&lt;br /&gt;
| 3  || GND ||  || GND&lt;br /&gt;
|-&lt;br /&gt;
| 4  || VCC ||  || VCC&lt;br /&gt;
|-&lt;br /&gt;
| 5  || GND ||  || GND&lt;br /&gt;
|-&lt;br /&gt;
| 6  || VCC ||  || VCC&lt;br /&gt;
|-&lt;br /&gt;
| 7  || PB6 || (PCINT6/XTAL1/TOSC1) || An 32,768(?)kHz Oszillator. Taktsignal auch ohne ASIC vorhanden.&lt;br /&gt;
|-&lt;br /&gt;
| 8  || PB7 || (PCINT7/XTAL2/TOSC2)  || enable 3.3V step-up&lt;br /&gt;
|-&lt;br /&gt;
| 9  || PD5 || (PCINT21/OC0B/T1) || VCC enable (12 V step-up)&lt;br /&gt;
|-&lt;br /&gt;
| 10  || PD6 || (PCINT22/OC0A/AIN0) || &lt;br /&gt;
|-&lt;br /&gt;
| 11  || PD7 || (PCINT23/AIN1) ||&lt;br /&gt;
|-&lt;br /&gt;
| 12  || PB0 || (PCINT0/CLKO/ICP1) || an Transistor T1 (schaltet 12 V über 100 Ohm gegen GND als Grundlast bzw. zum Entladen)&lt;br /&gt;
|-&lt;br /&gt;
| 13  || PB1 || (PCINT1/OC1A) || Display /CS&lt;br /&gt;
|-&lt;br /&gt;
| 14  || PB2 || (PCINT2/SS/OC1B) || Anschluss des [[#Buzzer|Buzzers]] möglich&lt;br /&gt;
|-&lt;br /&gt;
| 15  || PB3 || (PCINT3/OC2A/MOSI) || ISP MOSI&lt;br /&gt;
|-&lt;br /&gt;
| 16  || PB4 || (PCINT4/MISO) || ISP MISO&lt;br /&gt;
|-&lt;br /&gt;
| 17  || PB5 ||  (SCK/PCINT5) || ISP SCK&lt;br /&gt;
|-&lt;br /&gt;
| 18  || AVCC ||  || mit Beschaltung an VCC&lt;br /&gt;
|-&lt;br /&gt;
| 19  || ADC6 ||  || Batteriespannung (3.3Volt StepUp dafür abschalten)&lt;br /&gt;
|-&lt;br /&gt;
| 20  || AREF ||  || mit Beschaltung an VCC (REFS1=0, REFS0=1)&lt;br /&gt;
|-&lt;br /&gt;
| 21  || GND ||  || GND&lt;br /&gt;
|-&lt;br /&gt;
| 22  || ADC7 ||  ||  Ausgang des 3,3V step-up über Spannungsteiler. Mit Step-Up wird 707 gemessen, ohne ca. 637.&lt;br /&gt;
|-&lt;br /&gt;
| 23  || PC0 || (ADC0/PCINT8) || Batteriespannung über Spannungsteiler, bei voller Batterie ca. 638&lt;br /&gt;
|-&lt;br /&gt;
| 24  || PC1 || (ADC1/PCINT9) || Display D/C&lt;br /&gt;
|-&lt;br /&gt;
| 25  || PC2 || (ADC2/PCINT10) || Display RESET&lt;br /&gt;
|-&lt;br /&gt;
| 26  || PC3 || (ADC3/PCINT11) || &lt;br /&gt;
|-&lt;br /&gt;
| 27  || PC4 || (ADC4/SDA/PCINT12) || Taste Links (S1)&lt;br /&gt;
|-&lt;br /&gt;
| 28  || PC5 || (ADC5/SCL/PCINT13) || Taste rechts (S3)&lt;br /&gt;
|-&lt;br /&gt;
| 29  || PC6 || (RESET/PCINT14) || ISP Reset&lt;br /&gt;
|-&lt;br /&gt;
| 30  || PD0 || (RXD/PCINT16) || &lt;br /&gt;
|-&lt;br /&gt;
| 31  || PD1 || (TXD/PCINT17) || Display SDIN. Achtung, ist auch TxD (UART-SPI möglich)&lt;br /&gt;
|-&lt;br /&gt;
| 32  || PD2 || (INT0/PCINT18) ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unbekanntes IC1 ====&lt;br /&gt;
&lt;br /&gt;
Hier mal der Dekodierte Barcode des noch Unbekannten IC1.&lt;br /&gt;
Der decodierte Text ist:&lt;br /&gt;
&lt;br /&gt;
 25SLEATM 8R4222 084420179+2P00+PLCMC&lt;br /&gt;
&lt;br /&gt;
[[Bild:AccuCheckDecodedMatrixCode.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==== IC9 (IR) ====&lt;br /&gt;
&lt;br /&gt;
Ist wohl ein TFDU2201 ([http://www.vishay.com/docs/82539/tfdu2201.pdf Datenblatt]).&lt;br /&gt;
&lt;br /&gt;
[[Bild:Accu chek combo ir.png|320px]] [[Bild:AccuCheckIRDA(TFDU2201)Pinout.png|320px]]&lt;br /&gt;
&lt;br /&gt;
==== Buzzer ====&lt;br /&gt;
&lt;br /&gt;
Ist ein Piezo Schallwandler. Es ist möglich eine ihn mit PB2 des [[#Pinbelegung Mega168|mega168]] zu verbinden. Im Bereich &amp;quot;Kurzzeitwecker mit 7-Segment-Anzeige&amp;quot; auf adriano6&#039;s [[#Websites|Webseite]].&lt;br /&gt;
&lt;br /&gt;
==== Display ====&lt;br /&gt;
[[Bild:display.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
Das Display basiert auf OLED - Technologie und besitzt eine Auflösung von 102×80 Pixel, von denen jedes 16 Helligkeitsstufen darstellen kann.&lt;br /&gt;
Displaycontroller ist SSD1325.&lt;br /&gt;
&lt;br /&gt;
Detailierte Informationen zum Display gibts auf adriano6&#039;s [[#Websites|Webseite ]]&lt;br /&gt;
&lt;br /&gt;
===== Inbetriebnahme auf dem Board =====&lt;br /&gt;
&lt;br /&gt;
Es ist möglich das Display auf dem Board in Betrieb zu nehmen, wenn alle Komponenten bis auf:&lt;br /&gt;
R1, R43, R44, R45, R46, C24, C38, C39, C44, C45, C46, L2, IC6 und D1&lt;br /&gt;
entfernt werden.&lt;br /&gt;
T1 und R11 sind vermutlich als Grundlast zum Start des 12 V Step-up und zum Entladen des OLED beim Abschalten.&lt;br /&gt;
Die folgende Tabelle enthält die Pads des Atmega168 Footprints und die entsprechenden Pins am Display.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pad am Atmega168 || Pin am Display&lt;br /&gt;
|-&lt;br /&gt;
| PD1 || SDIN&lt;br /&gt;
|-&lt;br /&gt;
| PD4 || SCLK&lt;br /&gt;
|-&lt;br /&gt;
| PC1 || D/C&lt;br /&gt;
|-&lt;br /&gt;
| PC2 || RESET&lt;br /&gt;
|-&lt;br /&gt;
| PB1 || /CS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Grafikbeschleunigung mit dem SSD1325 =====&lt;br /&gt;
&lt;br /&gt;
Mit dem im SSD1325 vorhandenen Befehlen Copy, DrawRectangle und HorizontalScolling kann man ein paar nette Animationen machen, bzw. dem ATmega eine Menge Arbeit abnehmen (Details zu Controller und Display stehen im Datenblatt und [[#Websites|hier ]]).&lt;br /&gt;
&lt;br /&gt;
Der Displaycontroller verfügt über ein 64x80 Bytes großes RAM, von dem das Display aber nur 51x80 Bytes (102x80 Pixel) darstellt, beginnend von Spalte 7 bis Spalte 57:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:60em&amp;quot;&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | Col0&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | ...&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | Col6&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em; background:#c0c0c0&amp;quot; | Col7&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em; background:#c0c0c0&amp;quot; | ...&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em; background:#c0c0c0&amp;quot; | Col56&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em; background:#c0c0c0&amp;quot; | Col57&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | Col58&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | ...&lt;br /&gt;
! colspan=2 style=&amp;quot;width:6em&amp;quot; | Col63&lt;br /&gt;
|- style=&amp;quot;width:3em&amp;quot;&lt;br /&gt;
| D7-4 || D3-0 || ... || ... || D7-4 || D3-0 || D7-4 || D3-0 || ... || ... || D7-4 || D3-0 || D7-4 || D3-0 || D7-4 || D3-0 || ... || ... || D7-4 || D3-0 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Schaltet man im Controller nun Wraparound für das Scrolling- und Copy-Commando ein, hängen Ende und Anfang der jeweiligen Zeile hintereinander:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:36em&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:6em&amp;quot; | Col58 || style=&amp;quot;width:6em&amp;quot; | ... || style=&amp;quot;width:6em&amp;quot; | Col63 || style=&amp;quot;width:6em&amp;quot; | Col0 || style=&amp;quot;width:6em&amp;quot; | ... || style=&amp;quot;width:6em&amp;quot; | Col6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aus Sicht des Copy- und DrawRectangle-Kommandos kann man jetzt folgendermaßen auf den nicht sichtbaren Bereich des Display-RAM zugreifen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:36em&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:6em&amp;quot; | Col58 || style=&amp;quot;width:6em&amp;quot; | ... || style=&amp;quot;width:6em&amp;quot; | Col63 || style=&amp;quot;width:6em&amp;quot; | Col64 || style=&amp;quot;width:6em&amp;quot; | ... || style=&amp;quot;width:6em&amp;quot; | Col70&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Um Daten in diesen Bereich zu bekommen, könnte man einen entsprechenden Bildschirmausschnitt definieren und die Daten einfach sequentiell da rein schreiben. Praktisch hat das aber nicht einwandfrei funktioniert. Besser schreibt man zuerst in den sichtbaren Bereich und kopiert dann den Block in den Bereich ab Spalte 58.&lt;br /&gt;
Statt jetzt Grafiken byteweise über die Schnittstelle in das RAM zu schreiben braucht man sie nur noch durch den Controller vom unsichtbaren Bereich (maximal 26x80 Pixel) in den sichtbaren kopieren zu lassen.&lt;br /&gt;
&lt;br /&gt;
Ich habe [http://www.mikrocontroller.net/topic/109648#1419368 eine kleine Demo] geschrieben, die mit dem Copy-Befehl 8 Sprites (sich drehende Bälle) fliegen läßt und bei jeder Randberührung eines Sprites einen Zähler erhöht. Im Hintergrund laufen je eine horizontale und vertikale Linie (Rechteck) durch.&lt;br /&gt;
Das Ganze verbraucht mit Software-SPI ca. 20% Rechenzeit des ATmega, bei Hardware-SPI sind es ca. 6%.&lt;br /&gt;
&lt;br /&gt;
Um auch in horizontaler Richtung eine pixelgenaue Bewegung zu erreichen, erstellt man für jedes Sprite zwei um jeweils ein Pixel verschobene Versionen, und kopiert diese nacheinander auf die selbe Spaltenposition.&lt;br /&gt;
&lt;br /&gt;
Das Timing ist etwas kritisch, da vom Controller keine Rückmeldung möglich ist, man muß ggf. die Wartezeit nach einem Kommando versuchsweise ermitteln. Schickt man das nächste Kommando zu früh ab, wird das gerade laufende abgebrochen, was nicht immer schön aussieht oder sogar den Controller zum Abstürzen bringt.&lt;br /&gt;
&lt;br /&gt;
Bei Ansteuerung mit Hardware-SPI muß man außerdem ca. 2us warten, bevor das CS-Signal deaktiviert werden kann.&lt;br /&gt;
&lt;br /&gt;
==== Spektrometer ====&lt;br /&gt;
[[Bild:Accu-Check_CompactPlus_BZ_Sensor.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Im Grunde genommen, handelt es sich um eine Reflexlichtschranke mit zwei roten LEDs, einer vermutlich infraroten LED, sowie einer Fotodiode.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Accu-Check_CompactPlus_Photometer.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
=== Programmierung ===&lt;br /&gt;
==== AVRdude ==== &lt;br /&gt;
Auslesen der Fuses&lt;br /&gt;
 avrdude -p m168  -P /dev/ttyUSB0 -c avrispv2 -F -v&lt;br /&gt;
&lt;br /&gt;
 avrdude: Device signature = 0x1e940b&lt;br /&gt;
 avrdude: Expected signature for ATMEGA168 is 1E 94 06&lt;br /&gt;
 avrdude: safemode: lfuse reads as 42&lt;br /&gt;
 avrdude: safemode: hfuse reads as D6&lt;br /&gt;
 avrdude: safemode: efuse reads as 1&lt;br /&gt;
&lt;br /&gt;
==== Flashen mit AVRdude ====&lt;br /&gt;
Da die IDs von ATmega168 und ATmega168A abweichen, muss die Option -F mit avrdude verwendet werden.&lt;br /&gt;
 avrdude -p m168  -P /dev/ttyUSB0 -c avrispv2 -F -u -U flash:w:Oled-Demo.hex&lt;br /&gt;
&lt;br /&gt;
==== Fuses mit AVRdude ====&lt;br /&gt;
Der ATmega168A hat die Fuse CLKDIV8 eingeschaltet.&lt;br /&gt;
 avrdude -p m168  -P /dev/ttyUSB0 -c avrispv2 -F -U lfuse:w:0xC2:m&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
==== µC ====&lt;br /&gt;
* GPS http://www.mikrocontroller.net/topic/109648#1385554&lt;br /&gt;
** http://www.mikrocontroller.net/topic/109648#1397017&lt;br /&gt;
&lt;br /&gt;
* Grafikdemo: http://www.mikrocontroller.net/topic/109648#1419368&lt;br /&gt;
** Video: http://vimeo.com/6609124&lt;br /&gt;
&lt;br /&gt;
* Kurzzeitwecker: http://www.mikrocontroller.net/topic/109648#1412841&lt;br /&gt;
** http://www.mikrocontroller.net/topic/109648#1427502&lt;br /&gt;
&lt;br /&gt;
* serielle Displaysteuerung: http://www.mikrocontroller.net/topic/109648#1487494&lt;br /&gt;
&lt;br /&gt;
* Software-I2C + Drucksensor HP03: http://www.mikrocontroller.net/topic/109648#1653266&lt;br /&gt;
&lt;br /&gt;
==== PC ====&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/109648#1352701 gibt als Header gespeicherte Bilder auf std aus]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/109648#1353067 Erweiterter (ungetesteter) Konvertierer für Bilder in Format für Display]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
=== Technische Dokumente ===&lt;br /&gt;
* [http://www.crystalfontz.com/controllers/SSD1325_2.1.pdf Datenblatt für Display-Controller]&lt;br /&gt;
* [http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega168PA AVR Produktseite ATmega168PA mit Datasheets ]&lt;br /&gt;
* [http://www.freshpatents.com/Device-for-analysis-of-a-sample-on-a-test-element-dt20081113ptan20080277280.php Patentschrift zu Gerät ]&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
* [http://home.arcor.de/wehrsdorf/Oled-Display-Recycling.html Oled-Recycling Seite von adriano6]&lt;br /&gt;
&lt;br /&gt;
=== Diskussions Threads ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/109648 Hauptdiskussionsthread im Mikrocontrollernet ]&lt;br /&gt;
* [http://bascom-forum.de/index.php/topic,2754.0.html Umsetzung in Bascom (wer&#039;s mag) im Bascom-Forum]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/143806 Vorschlag für Display-Adapter-Platine]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR-Projekte]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42853</id>
		<title>Benutzer:Mlh</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42853"/>
		<updated>2010-02-04T19:41:17Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* PIC Bücher */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PICs == &lt;br /&gt;
&lt;br /&gt;
[[Bild:PICs.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VERKAUFT&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIC Bücher == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Picbook.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ENTSORGT&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42852</id>
		<title>Benutzer:Mlh</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42852"/>
		<updated>2010-02-04T19:40:55Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* Programmer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PICs == &lt;br /&gt;
&lt;br /&gt;
[[Bild:PICs.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VERKAUFT&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIC Bücher == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Picbook.jpg]]&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42851</id>
		<title>Benutzer:Mlh</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42851"/>
		<updated>2010-02-04T19:40:32Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* PICs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PICs == &lt;br /&gt;
&lt;br /&gt;
[[Bild:PICs.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VERKAUFT&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIC Bücher == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Picbook.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmer == &lt;br /&gt;
&lt;br /&gt;
-*- ToDo -*-&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42451</id>
		<title>Benutzer:Mlh</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42451"/>
		<updated>2010-01-22T17:39:13Z</updated>

		<summary type="html">&lt;p&gt;Mlh: /* PICs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PICs == &lt;br /&gt;
&lt;br /&gt;
[[Bild:PICs.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12x 12C508A &amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C509A/JW&amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C671/JW&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C54A &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C54 SO &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C54/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C554 SO &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C55/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C554/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C56/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C57 &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C57/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C84&amp;lt;br&amp;gt;&lt;br /&gt;
4x 16F84&amp;lt;br&amp;gt;&lt;br /&gt;
10x 12C622 &amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C622/JW &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C71/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C712&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16LC73&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C73/JW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Insgesamt 17x /JW, also Epromversionen mit Fenster&amp;lt;br&amp;gt;&lt;br /&gt;
- 4x SO-Typen&amp;lt;br&amp;gt;&lt;br /&gt;
- 4x F-(Flash)Typen&amp;lt;br&amp;gt;&lt;br /&gt;
- 3 Eigenbau-Demoboards, teilweise bestückt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIC Bücher == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Picbook.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmer == &lt;br /&gt;
&lt;br /&gt;
-*- ToDo -*-&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Picbook.jpg&amp;diff=42450</id>
		<title>Datei:Picbook.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Picbook.jpg&amp;diff=42450"/>
		<updated>2010-01-22T17:36:55Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42449</id>
		<title>Benutzer:Mlh</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Benutzer:Mlh&amp;diff=42449"/>
		<updated>2010-01-22T17:17:11Z</updated>

		<summary type="html">&lt;p&gt;Mlh: Die Seite wurde neu angelegt: „== PICs ==   Bild:PICs.jpg   12x 12C508A &amp;lt;br&amp;gt; 1x 12C509A/JW&amp;lt;br&amp;gt; 1x 12C671/JW&amp;lt;br&amp;gt; 1x 16C54A &amp;lt;br&amp;gt; 2x 16C54 SO &amp;lt;br&amp;gt; 3x 16C54/JW &amp;lt;br&amp;gt; 2x 16C554 SO &amp;lt;br&amp;gt; 3x 16C55/J…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PICs == &lt;br /&gt;
&lt;br /&gt;
[[Bild:PICs.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12x 12C508A &amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C509A/JW&amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C671/JW&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C54A &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C54 SO &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C54/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C554 SO &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C55/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C554/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C56/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C57 &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C57/JW &amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C84&amp;lt;br&amp;gt;&lt;br /&gt;
4x 16F84&amp;lt;br&amp;gt;&lt;br /&gt;
10x 12C622 &amp;lt;br&amp;gt;&lt;br /&gt;
1x 12C622/JW &amp;lt;br&amp;gt;&lt;br /&gt;
3x 16C71/JW &amp;lt;br&amp;gt;&lt;br /&gt;
2x 16C712&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16LC73&amp;lt;br&amp;gt;&lt;br /&gt;
1x 16C73/JW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Insgesamt 17x /JW, also Epromversionen mit Fenster&amp;lt;br&amp;gt;&lt;br /&gt;
- 4x SO-Typen&amp;lt;br&amp;gt;&lt;br /&gt;
- 4x F-(Flash)Typen&amp;lt;br&amp;gt;&lt;br /&gt;
- 3 Eigenbau-Demoboards, teilweise bestückt&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:PICs.jpg&amp;diff=42448</id>
		<title>Datei:PICs.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:PICs.jpg&amp;diff=42448"/>
		<updated>2010-01-22T16:51:11Z</updated>

		<summary type="html">&lt;p&gt;Mlh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mlh</name></author>
	</entry>
</feed>