RS 232-Verbindung & MAX202E mit dem PIC16F877A als Standard |
![]() |
![]() |
Letztmalig dran rumgefummelt: 31.01.15 08:38:47 |
![]() |
Das Thema
hier nun ist die serielle Datenübertragung nach RS232-Standard zwischen
Mikrocontrollern der PIC-Familie und dem PC. „Seriell" bedeutet hier, dass
die Bits
nacheinander
über die
gleiche Leitung übertragen werden. Ein anderes Verfahren wäre die
gleichzeitige
Übertragung
von beispielsweise acht Bits über acht parallele Leitungen. Der
RS232-Standard wurde für die serielle Datenübertragung über kurze
Entfernungen entwickelt, sein Name ist die Kurzform von „Recommended
Standard #232" (... ursprünglich war der RS232-Standard für die Überbrückung
von Entfernungen bis 15 m vorgesehen.). Der PC kann die übertragenen Daten
verarbeiten und in andere Anwendungen übernehmen. Das ist zum Beispiel bei
Domotik-Anwendungen von Vorteil, bei denen der PC die Einstellungen und
Messwerte der verschiedenen Module auf den Bildschirm setzt. Nach
eventuellen Änderungen und Anpassungen mit Hilfe des PCs kann der PC
ausgeschaltet werden, danach arbeiten die Module selbstständig. Alle Projekte hier nutzen die Durchleit- oder „Passthrough"-Fähigkeit des Wisp-Programmers, der zum Hardware-Paket gehört. Wenn er nicht im Compiler-Modus arbeitet, kann er eine unmittelbare Verbindung zwischen dem PIC-Mikrocontroller und dem PC herstellen. Falls Sie einen anderen Programmer ohne diese Eigenschaft besitzen, können Sie die zugehörigen Beispiele nicht praktisch erproben, es sei denn, Sie erweitern Ihre Hardware. Diese Möglichkeit wird in Kapitel 6.4 beschrieben. |
||||||
![]() |
1. Serieller Zähler |
||||||
![]() |
|
||||||
![]() |
Quellen: | ||||||
![]() |
1. Serieller Zähler |
![]() |
Ziel dieses Projekts ist das Herstellen einer seriellen Datenverbindung nach RS232 -Standard zwischen einem PIC-Mikrocontroller und einem PC. Wir wollen kontinuierlich den Stand eines mit dem Mikrocontroller realisierten Zählers zum PC übertragen. Über die Verbindung können natürlich auch beliebige andere Daten übertragen werden. | ||||||
![]() |
Technischer Hintergrund: Im
Mikrocontroller PIC16F877, von dem wir auch in diesem Projekt Gebrauch
machen, ist bereits ein Hardware-Modul für RS232-Verbindungen integriert
(siehe Kapitel 11). Dieses Modul werden wir hier nicht verwenden, weil es
die PIC-Anschlüsse c6 und c7 fest belegt. Da die RS232-Verbindung auch zum
Debuggen von Programmen genutzt werden soll, ist es sinnvoller, die gleichen
Anschlüsse wie der Programmer zu benutzen. Der Programmer belegt die
Anschlüsse b6 und b7. Unter dieser Voraussetzung kann die serielle
Verbindung über den Programmer hergestellt werden, ohne dass
Leitungsführungen geändert werden müssen. |
||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
RS232-Verbindung: Die serielle Routine der Bibliothek ist flexibel, sie kann für jeden I/O-Anschluss des Mikrocontrollers und für diverse Baudraten konfiguriert werden. Da die Kommunikation über den Programmer läuft, ist die maximale Baudrate begrenzt. Als Standard ist 1200 Baud eingestellt, die maximale Übertragungsgeschwindigkeit beträgt 115200 Baud.
Danach müssen die zu benutzenden PIC-Anschlüsse definiert werden. Beim Programmieren des Mikrocontrollers ist b7 der Ausgang, b6 ist der Eingang. Für die RS232-Kommunikation soll die Konfiguration identisch sein:
Damit ist die Konfiguration abgeschlossen. |
||||||
![]() |
Die Software: Das folgende kurze Programm bildet einen Zähler nach, es besteht lediglich aus einer Endlosschleife. Bei jedem Schleifendurchlauf wird die Variable „counter" um 1 erhöht, anschließend wird ihr aktueller Wert zum PC übertragen.
|
||||||
![]() |
Die Schaltung: Die Schaltung kommt mit
dem Minimum an Bauelementen aus, weil die RS232-Verbindung über den
Programmer verläuft und keine zusätzliche Hardware benötigt wird. Aus diesem
Grund wird diese Verbindung auch häufig zum Debuggen benutzt. |
2. Stiller Alarm |
![]() |
Drei Alarmkontakte sind in einer Leitungsschleife hintereinander geschaltet. Bei Alarm wird der Ort des auslösenden Kontakts auf dem PC-Bildschirm angezeigt. | |||||||||||||||
![]() |
Technischer Hintergrund: Das Alarmsystem misst den Widerstand der Leitungsschleife. An drei gefährdeten Orten wie zum Beispiel Tür- oder Fensterrahmen sind Alarmkontakte angebracht. Im Ruhezustand sind die Kontakte geschlossen, sie öffnen, wenn die Tür oder ein Fenster geöffnet werden. Jedem Alarmkontakt ist ein Widerstand parallel geschaltet. Da die einzelnen Widerstände unterschiedliche Werte haben, lässt sich durch Messen des Leiterschleifen-Widerstands feststellen, welcher Kontakt den Alarm ausgelöst hat. |
|||||||||||||||
![]() |
Die Widerstände der Leiterschleife bilden zusammen mit einem vierten Widerstand einen Spannungsteiler. Vom Mikrocontroller wird die am vierten Widerstand liegende Spannung gemessen. | |||||||||||||||
![]() |
Wenn beispielsweise S2 öffnet, besteht der Spannungsteiler aus dem nach
Masse geschalteten 10-kΩ-Widerstand und
dem zu S2 parallel liegenden 33-kQ-Widerstand. Die Spannung am Eingang des
Mikrocontrollers lässt sich leicht berechnen:
Die Spannung 1,14 V entspricht dem vom A /D-Wandler gelieferten digitalen Wert 58. Auf gleiche Weise lässt sich der digitale Wert für alle Alarmzustände berechnen:
|
|||||||||||||||
![]() |
Durch Messen der Spannung überwacht der Mikrocontroller vor Ort die
Alarmkontakte, die digitalen Messwerte sendet er über die serielle
Verbindung kontinuierlich zum PC. Der PC stellt die Informationen auf dem
Bildschirm dar. Im Fall eines Alarms, wenn also mindestens ein Kontakt offen
ist, lässt der Mikrocontroller zusätzlich eine LED aufleuchten:
Der PC wertet die übertragenen Messwerte mit einer gewissen Toleranz aus. Abhängig von dem Bereich, in dem ein Messwert liegt, wird er einem der vier möglichen Zustände zugeordnet. Beträgt die analoge Spannung beispielsweise 4,5 V statt 4,84 V, kann trotzdem davon ausgegangen werden, dass Kontakt S1 geöffnet ist. |
|||||||||||||||
![]() |
Die Software: Der PC wertet die übertragenen Messwerte mit einer gewissen Toleranz aus. Abhängig von dem Bereich, in dem ein Messwert liegt, wird er einem der vier möglichen Zustände zugeordnet. Beträgt die analoge Spannung beispielsweise 4,5 V statt 4,84 V, kann trotzdem davon ausgegangen werden, dass Kontakt S1 geöffnet ist.
|
|||||||||||||||
![]() |
Das in Visual Basic geschriebene PC-Programm gehört zu unserem Software-Paket, das frei von der Website www.boekinfo.tk herunter geladen werden kann. Wie das nächste Bild zeigt, erscheint auf dem Bildschirm eine schematische Darstellung des gesicherten Raums mit zwei Fenstern und einer Tür. Alle Alarme werden zusammen mit dem Datum'' und der Uhrzeit ihrer Auslösung in einer Liste protokolliert. Im Bild erscheint Fenster 1 in roter Farbe, da Kontakt S1 offen ist. Wenn das Fenster geschlossen wird und der Alarmzustand behoben ist, wechselt die Farbe nach Grün. Der Eintrag in das Alarmprotokoll bleibt natürlich erhalten. Falls nicht alle Protokolleinträge im Fenster dargestellt werden können, lässt sich die Liste mit dem Scrollbalken verschieben. |
3. In-circuit Debugging |
![]() |
Debuggen bedeutet Aufspüren der Fehler, die sich in Programme eingeschlichen haben. Hier geht es nicht um Schreibfehler im Programmtext (diese Fehler werden bereits von JALedit gefunden), sondern um logische Programmierfehler. Das Programm läuft nicht oder es läuft zwar, doch es verhält sich anders als beabsichtigt. Für das Debuggen von PIC-Mikrocontroller-Programmen gibt es unterschiedliche Methoden. Die Wahl der Methode hängt vom Erscheinungsbild des Fehlers ab. | |||||||
![]() |
Fall 1:
An einer gezielt gewählten Position wird in das Programm ein Kommando
eingefügt, das die LED einschaltet. Leuchtet die LED auf, ist das ein
Zeichen dafür, dass das Programm bis zum eingefügten Kommando ausgeführt
wird. Durch Verschieben des Kommandos im Programm lässt sich die Position
einkreisen, an der das Programm hängen bleibt.
Wenn die LED nicht aufleuchtet, wird dieses Kommando nicht ausgeführt. Der Programmierfehler liegt dann weiter vorn im Programm. |
|||||||
![]() |
Fall 2:
Statt des Befehls, der eine LED einschaltet, werden in das Programm an mehreren Stellen Kommandos für die serielle Schnittstelle eingefügt. Die eingefügten Kommandos senden unterschiedliche Zahlenwerte zum PC. Auf dem PC-Bildschirm lässt sich an den Zahlenwerten verfolgen, welche Kommandos ausgeführt werden und wo das Programm hängen bleibt. Einzufügen sind folgende Kommandos:
Wenn auf dem PC-Bildschirm nur die „1", nicht aber die „2" erscheint, ist das ein Zeichen dafür, dass das Programm zwischen dem ersten und zweiten seriellen Schreibkommando hängen bleibt. Anmerkung zum Programm: Wählen Sie in MICterm den Display-Modus „Raw", so dass diese Zahl angezeigt wird. Wenn Sie ein anderes Terminalprogramm verwenden, beginnen Sie die Zahlenfolge mit dezimal „48", dies ist der ASCII-Wert von„ 1". |
|||||||
![]() |
Fall 3:
Das Programm bleibt nicht hängen, doch der Mikrocontroller verhält sich
anders als beabsichtigt. In diesem Fall helfen Positionsmarkierungen im
Programm nicht weiter. Statt dessen kann das Ergebnis einer vom Programm
durchgeführten Berechnung oder Messung auf dem PC ausgegeben werden. Das
Terminalprogramm MICterm stellt Zahlenwerte zur Analyse auch als Grafik oder
binär dar.
|
|||||||
![]() |
Fall 4:
Wenn die RS232-Verbindung mit dem PC nicht zustande kommt, können die
Zahlenwerte ersatzweise in das EEPROM des Mikrocontrollers geschrieben
werden. Zum Programmstart wird das EEPROM gelöscht, und zu einem gegebenen
Zeitpunkt wird das Programm gestoppt. Anschließend lässt sich mit HEXview
feststellen, in welche Speicherplätze des EEPROM Zahlenwerte geschrieben
wurden.
In das Programm werden Kommandos eingefügt, die den Zahlenwert in die vorgesehenen Speicherplätze schreiben:
Nach dem Programmstart und kurzer Wartezeit kann der Inhalt des EEPROMs
mit HEXview betrachtet werden. In Kapitel 10.3 ist ausführlich beschrieben,
wie dies geschehen muss. Steht beispielsweise die Zahl „1" in den
EEPROM-Speicherplätzen 0 und 1, nicht jedoch in 2, dann deutet das darauf
hin, dass das Programm zwischen dem zweiten und dritten Kommando in eine
Endlosschleife verzweigt oder auf andere Weise hängenbleibt. |
|||||||
![]() |
Fall 5:
Wenn das Programm nicht hängen bleibt, aber falsche Resultate liefert, können anstelle eines Zahlenwerts auch Messwerte oder Ergebnisse von Berechnungen im EEPROM gespeichert werden. Nachteilig ist dabei, dass die Programmausführung gestoppt werden muss, um die im EEPROM stehenden Werte zu lesen.
In das Programm werden Kommandos eingefügt, die den Zahlenwert in die vorgesehenen Speicherplätze schreiben:
Nach dem Programmstart und kurzer Wartezeit kann der Inhalt des EEPROMs
mit HEXview betrachtet werden. In Kapitel 10.3 ist ausführlich beschrieben,
wie dies geschehen muss. Steht beispielsweise die Zahl „1" in den
EEPROM-Speicherplätzen 0 und 1, nicht jedoch in 2, dann deutet das darauf
hin, dass das Programm zwischen dem zweiten und dritten Kommando in eine
Endlosschleife verzweigt oder auf andere Weise hängenbleibt. Anmerkung zum Programm: Auch eine Neuprogrammierung des Mikrocontrollers löscht das EEPROM. Wenn der Mikrocontroller beispielsweise abhängig vom Messergebnis des A/D-Wandlers eine Aktion ausführen soll, diese Aktion jedoch ausbleibt, liefert die folgende Schleife Aufschluss über das Messergebnis'':
Das Programm muss dann gestoppt werden, wenn normalerweise die Aktion stattfinden würde. Anschließend wird mit HEXview geprüft, ob ein plausibler Messwert in Speicherplatz 0 steht. Anmerkung zum Programm: Eine Beschreibung dieses Kommandos zusammen mit einem Projektbeispiel ist in Kapitel 10.3 zu finden. |
|||||||
![]() |
Fall 6:
In vielen Programmen werden in die Programmsteuerung die Register des
PIC-Mikrocotrollers einbezogen. Register sind spezielle Speicherplätze des
Mikrocontrollers, deren Inhalte den Programmablauf beeinflussen. In Kapitel
l wird von den Registern zum ersten Mal Gebrauch gemacht. |
|||||||
![]() |
Fall 7:
Eine Alternative zu der zuvor beschriebenen Methode ist der Einsatz eines Simulators. Ein Simulator ist ein PC-Programm, das den Mikrocontroller einschließlich Firmware auf dem PC nachbildet (simuliert). Der Simulator macht unter anderem die internen Variablen des Mikrocontrollers sichtbar, die Fehlersuche wird dadurch oft erleichtert. Allerdings hat diese Methode zwei grundsätzliche Nachteile, deshalb sollte sie nur in Ausnahmefällen angewendet werden:
In das Programm werden Kommandos eingefügt, die den Zahlenwert in die vorgesehenen Speicherplätze schreiben:
Nach dem Programmstart und kurzer Wartezeit kann der Inhalt des EEPROMs
mit HEXview betrachtet werden. In Kapitel 10.3 ist ausführlich beschrieben,
wie dies geschehen muss. Steht beispielsweise die Zahl „1" in den
EEPROM-Speicherplätzen 0 und 1, nicht jedoch in 2, dann deutet das darauf
hin, dass das Programm zwischen dem zweiten und dritten Kommando in eine
Endlosschleife verzweigt oder auf andere Weise hängenbleibt. Anmerkung zum Programm: Es gibt natürlich mehrere hier verwendbare Simulatoren. JALss arbeitet mit der in diesem Buch beschriebenen Programmiersprache JAL, dieses Programm ist jedoch nur wenig bekannt. Eine Alternative ist die Entwicklungsumgebung MPLAB von PIC-Hersteller Microchip. Dort muss zuerst das Programm compiliert werden, anschließend verarbeitet der Simulator den Assembler-Code. |
|||||||
![]() |
Fall 8:
Etwas schwieriger wird es, wenn das Programm zwar läuft, jedoch falsche
Resultate liefert und die Resultate von mehreren Variablen abhängen. Wenn
Variablenwerte durch im Programm eingefügte Kommandos über das
Terminalprogramm auf dem PC-Bildschirm dargestellt werden, geht schnell jede
Übersichtlichkeit verloren. Hinzu kommt, dass sich die Variablenwerte
laufend ändern. Deshalb muss nach einer anderen Methode gesucht werden, die
eine bessere Übersichtlichkeit bietet. Die Fehlersuche würde auch
erleichtert, wenn die Geschwindigkeit herabgesetzt werden könnte, mit der
das Programm ausgeführt wird. Der Mikrocontroller müsste in „Zeitlupe"
arbeiten. |
4. System-Debugging |
![]() |
lm Prinzip ist es nicht schwierig, Variablenwerte vom Mikrocontroller zum PC zu übertragen. Der Wert der Variable „demo" wird dem PC übergeben, wenn sie über den Programmer im Passthrough-Modus mit folgendem Kommando zum PC übertragen wird: | ||||||||||||||||||
![]() |
Technischer Hintergrund: Das Alarmsystem misst den Widerstand der Leitungsschleife. An drei gefährdeten Orten wie zum Beispiel Tür- oder Fensterrahmen sind Alarmkontakte angebracht. Im Ruhezustand sind die Kontakte geschlossen, sie öffnen, wenn die Tür oder ein Fenster geöffnet werden. Jedem Alarmkontakt ist ein Widerstand parallel geschaltet. Da die einzelnen Widerstände unterschiedliche Werte haben, lässt sich durch Messen des Leiterschleifen-Widerstands feststellen, welcher Kontakt den Alarm ausgelöst hat.
Wenn eine RS232-Verbindung zum Computer besteht, hat dieses Kommando gleichzeitig zur Folge, dass der Mikrocontroller die Programmausführung stoppt. Der Mikrocontroller setzt die Programmausführung erst fort, wenn er vom PC ein bestimmtes Kommando zurück erhält. Zur Demonstration
soll das Programm aus Kapitel 5.1 dienen, der „Blinker mit einstellbarer
Frequenz". In das Programm fügen wir folgendes Kommando ein:
Dieses Kommando hält das
Blinkprogramm an, der Wert der übertragenen Variablen ist ohne Bedeutung
(deshalb der Name„ dummy").
Der Programmteil
wird ersetzt durch:
Die Folge ist, dass sich
wegen des NOT-Operators „!" der LED-Zustand bei jedem Schleifendurchlauf
ändert. Wenn die LED ausgeschaltet ist, wird sie eingeschaltet und
umgekehrt. Das Programm sieht nun wie folgt aus:
Nachdem das Programm in den
Mikrocontroller geladen ist, läuft es ohne Besonderheiten. Es besteht keine
RS232-Verbindung zum PC, so dass das Wartekommando wirkungslos ist. Erst
wenn über den Programmer eine RS232-Verbindung zum PC hergestellt wird und
auf dem PC ein spezielles Programm läuft, stoppt der Mikrocontroller beim
Kommando „serial sw read".
Anmerkung zum Programm: Die beschriebene Methode können Sie auch anwenden, wenn Sie keinen Gebrauch von dem zum Hardware-Paket gehörenden Programmer „Wisp628" machen. Sie müssen dann, wie in Kapitel 11 beschrieben, eine separate RS232-Verbindung zum Computer herstellen. |
||||||||||||||||||
![]() |
Hardware zur RS232-Steuerung mittels Wisp Die Hardware ist identisch mit der Hardware unseres Projekts in Kapitel 5.1. Hier soll nur noch angemerkt werden, dass die beschriebene Debug-Methode zusammen mit jedem beliebigen Mikrocontroller-Programm und jeder beliebigen umgebenden Hardware angewendet werden kann. Voraussetzung ist nur, dass eine RS232-Verbindung mit dem Computer besteht. Das auf dem PC laufende Debug-Programm ist dazu gedacht, dass Sie dieses Programm an das zu korrigierende Mikrocontroller-Programm anpassen. Bei Visual-Basic-Programmen lassen sich Anpassungen und Änderungen vergleichsweise einfach durchführen. In der Regel kann die Verhaltensweise des Mikrocontroller-Programms durch Beobachten der Variablen auf dem Bildschirm leicht nachvollzogen werden.
|
5. Hardware zur RS232-Steuerung mit dem MAX202E |
![]() |
Der Mikrocontroller P1C16F877
kann ohne externe Erweiterung kein normgerechtes RS232 -Signal generieren.
Nach RS232-Standard wird eine logische 0 durch eine Spannung dargestellt,
die im Bereich +3...+12 V liegt. Einer logischen 1 entspricht eine Spannung
im Bereich -3...-12 V. Mit negativen Spannungen kann jedoch der PIC nicht
arbeiten. In der Praxis werden die vorgeschriebenen Spannungsbereiche nicht immer eingehalten. Im Internet kursieren viele Schaltungen, die mit nur wenigen passiven Bauelementen Verbindungen zwischen PICs und PCs herstellen. Außer dem geringen Aufwand haben diese Schaltungen jedoch noch eine andere Gemeinsamkeit: Zusammen mit vielen PCs erfüllen sie ihre Aufgabe, an anderen PCs versagen sie. Auf dieses Risiko möchten wir uns nicht einlassen. Lieber nehmen wir einen geringfügig höheren Aufwand für eine Schaltung in Kauf, die die Norm erfüllt und zusammen mit jedem PC (und anderen RS232-Anschlüssen) arbeitet. |
||
![]() |
Der Chip, den wir dazu brauchen, ist der MAX202E von Dallas-Maxim Semiconductors. Im nächsten Bild ist die Anschlussbelegung des MAX202E dargestellt.
Anmerkung zum Schaltkreis: Ausführliche Informationen und das Datenblatt des MAX202E finden Sie auf der Website des Herstellers www.maxim-ic.com. Das Datenblatt ist auch in unserem Software-Download-Paket enthalten. |
||
![]() |
Wenn JALedit eine Bibliothek benötigt, wird nach dieser Bibliothek zuerst
in dem Ordner gesucht, in dem die zu compilierende Datei steht. In diesem
Fall findet JALedit dort die geänderte Bibliothek „16f877 bert" vor. Nur
wenn die benötigte Bibliothek dort nicht gefunden wird, setzt JALedit die
Suche im Bibliothekenordner „... \ libraries" fort. Die Bibliotheken, die im
Programmordner stehen, heißen „Lokale Kopien". Sie können beliebig geändert
werden, die Originale bleiben unverändert erhalten. |
||
![]() |
Die Software Die RS232-Verbindung über den MAX202E ist ein Hardware-Projekt, das folgende Programm dient deshalb nur zur Demonstration der Arbeitsweise. Es überträgt einen Zahlenwert zum Computer, der von der Einstellung des mit Anschluss 2 des Mikrocontrollers verbundenen Potentiometers abhängt.
Anmerkungen zur Ordnerstruktur: Wenn Sie das Softwarepaket wie vorgeschlagen installiert haben, lautet der Pfad zu den Bibliotheken c: \ picdev \ jal \ libraries. Gemeint ist der Ordner, in dem Sie die Mikrocontroller-Programme speichern.
Vergessen Sie nicht, die beschriebene Änderung der Bibliothek„ 16f877 bert" vorzunehmen |
||
![]() |
Die Hardware Die Werte der zum MAX202E
gehörenden Kondensatoren sind nicht kritisch. Hersteller Dallas-Maxim
empfiehlt, dass ihre Werte 0,1...10 µF betragen sollen. Der an der
Betriebsspannung liegende Kondensator muss mindestens den gleichen Wert wie
die übrigen Kondensatoren haben. Aus der Schaltung geht hervor, dass die Verbindung zum PC aus nur drei Leitungen besteht. Die angegebenen Pin-Nummern beziehen sich auf die neunpolige D-Sub-Buchsenlei~,te (weiblich), von der das Kabel zum PC führt. Den Schaltungsaufbau auf der Steckplatte zeigt das nächste Bild. Für den ständigen Einsatz der Schaltung, zum Beispiel weil der Programmer Wisp628 nicht zur Verfügung steht, ist der Aufbau auf einer Platine zu empfehlen. Eine Experimentierplatine mit einem Lötpunktraster ist ebenso geeignet wie eine „richtige" Platine. Beide sorgen für genügend mechanische Stabilität. Zeichenwirrwarr auf dem Bildschirm? In diesem Fall haben Sie mit ziemlicher Wahrscheinlichkeit vergessen, die
notwendige Änderung in der Bibliothek„ 16f877 bert" vorzunehmen. Was zu tun
ist, steht im vorangegangenen Absatz „Technischer Hintergrund".
Vergessen Sie nicht, die beschriebene Änderung der Bibliothek„ 16f877 bert" vorzunehmen
|
6. Verwandte Themen |
![]() |
![]() |
![]() |
|
Was ist alles mit dem Betriebssystem eines Microcomputers verwandt? Antwort: faktisch der gesamte Bereich der Digitalelektronik und sowieso die gesamte Technik der Software-Technologie der Vergangenheit, Gegenwart sowie zumindest der nächsten Zukunft. | ||||||||||||||||||
![]() |
|
||||||||||||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 31. Januar 2015 um 9.29 Uhr |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |