Die Produktion des AT89S8252 wurde vor einiger Zeit eingestellt. Restbestände sind nur noch vereinzelt lieferbar. Als pinkompatibler Ersatz eignen sich die Atmel-Prozessoren AT89S8253 und AT89S51/52. Gegenüber dem AT89S8252 sind einige wesentliche Unterschiede zu beachten (siehe auch):
Typ | Flash | SRAM | EEPROM | UARTs | SPI | Timers | Preis |
AT89S51 | 4 kB | 128 B | - | 1 | - | 2 | ca. 2 EUR |
AT89S52 | 8 kB | 256 B | - | 1 | - | 3 | ca. 1,50 EUR |
AT89S8253 | 12 kB | 256 B | 2 kB | 1 | 1 | 3 | ca. 3,50 EUR |
Gemeinsamkeiten von AT89S51/51/8253: Gleicher CPU-Kern, Taktfrequenz bis 24 MHz, 32 I/O-Ports, Watchdog, In-System-programmierbar, Layout.
Wichtig: Die aktuell produzierten Controller erfordern bei 22 MHz eine veränderte Beschaltung des Quarzes (Einzelheiten in der ausführlichen Beschreibung ).
1 Übersicht:Das Experimentierboard bildet die Basis für die Experimente mit dem Mikrocontroller. Mit ihm können selbst
geschriebene Programme schnell und einfach getestet werden, indem sie über die serielle Schnittstelle von einem
PC in den Programmspeicher geladen werden. Auf dem PC wird dazu das
Programm MC-51 empfohlen, das alle
erforderlichen Funktionen (Editor, Assembler, Pascal-Compiler, Simulator,
In-System-Programmierer und Terminal) für die Programmentwicklung bereitstellt.
Die Programme für den Mikrocontroller können entweder in der Maschinensprache Assembler
oder in der höheren Programmiersprache Pascal erstellt werden. |
Das 3D-Bild und die MPG-Animation wurden erstellt mit Eagle 3D von M. Weißer und dem Raytracer PovRay. |
Auf dem Experimentierboard befindet sich ein
Mikrocontroller vom Typ AT82S8252/53 der Firma Atmel.
Er enthält alle Standardfunktionen der 51-Serie:
und die folgenden erweiterten Funktionen:
Außerdem befinden sich auf dem Experimentierboard noch folgende Komponenten:
Das Experimentierboard liegt in verschiedenen Versionen vor:
Die einseitige Version kann mit verhältnismäßig einfachen Mitteln
angefertigt werden und eignet sich damit am besten für den Eigenbau. Bei einer
doppelseitigen Platine erfordert es einige Erfahrung, da die erforderlichen
Durchkontaktierungen von Hand durch Löten auf Ober- und Unterseite herzustellen
sind. Die Schaltpläne und Platinen-Layouts werden als PDF-Dateien
bereitgestellt. Der Ausdruck des Layouts für die Belichtung kann mit einem Laser- oder
Tintenstrahldrucker erfolgen. Wichtig ist die Auswahl des richtigen
Druckmediums. Mit dem Laserdrucker kann sehr gut auf normales Transparentpapier
gedruckt werden, noch besser ist eine Spezialfolie (siehe auch Kap. 6). Bei
Tintenstrahldruckern eignet sich meistens die zum Drucker passende
Originalfolie am Besten. Wichtig ist eine gleichmäßige Schwärzung der späteren
Kupferflächen auf der Belichtungsvorlage. Weitere Hinweise zur Anfertigung von
Platinen mit einfachen Mitteln findet man im Internet
(z.B.
bei WikiBooks und unter dem Stichwort Platinen ätzen).
Eine professionelle Fertigung ist z.B. bei PCB-Pool möglich.
Sie erfolgt dort direkt auf Basis der Eagle-Brd-Datei.
Wer sich selbst mit der Entwicklung von Schaltungen beschäftigen möchte, hat
mit der Freeware-Version von Eagle 4.1
eine sehr komfortable Möglichkeit, dies zu tun.
Sie ist identisch mit der kommerziellen Version, lediglich die
Anzahl der Schaltplanseiten (1), die Platinengröße (80x100m²) und die
Anzahl der Lagen (2) sind beschränkt.
Die oben bereitgestellten Eagle-Dateien können damit auch den eigenen Wünschen angepasst werden. Alle verwendeten
Teile (außer Standard-ICs) sind in zwei Eagle-Bibliotheken zum Herunterladen
zusammengefasst.
Bei der Bestückung sollte man alle ICs in Fassungen setzen. Insbesondere wird dies für den Mikrocontroller empfohlen, denn nur so kann das Board auch als »Programmiergerät« genutzt werden.
Der verwendete Mikrocontroller kann bis zu einer Taktfrequenz von 24 MHz eingesetzt werden. Für das Experimentierboard wird ein Grundwellen-Quarz mit einer Frequenz von 22,1184 MHz empfohlen. Mit dieser Taktfrequenz kann die serielle Schnittstelle mit bis zu 38400 baud betrieben werden, da diese Quarzfrequenz ein ganzzahliges Vielfaches der gängigen Baudraten darstellt. Bei 24 MHz sind dagegen nur maximal 9600 baud möglich.
Hinweis: Ursprünglich wurde das Board für den Mikro-Controller AT89S8252 entwickelt. Dieser wurde inzwischen durch den Nachfolgetyp AT89S8253 ersetzt, der eine etwas veränderte Oszillatorschaltung erfordert: C11 entfällt und C12 wird ersetzt durch einen Widerstand R17 von 4,7 MΩ. (siehe Abb. oben)
Das Board besitzt einen eigenen Spannungsregler für die benötigte 5V-Spannung und kann z.B. mit einem ungeregelten Steckernetzteil von ca. 9 V Gleichspannung (ca. 300 mA) betrieben werden. Das Netzteil wird an die Buchse BU1 angeschlossen. Am inneren Stift der Buchse liegt der Pluspol.
Es kann stattdessen auch eine Gleichspannungsversorgung an die beiden Lötstifte +8..10V und Gnd fest angeschlossen werden. Die Stromversorgung von Erweiterungsboards mit 5V-Gleichspannung erfolgt entweder über die Stecker ST3, ST4 oder die Lötstifte +5V und Gnd.
Die serielle Schnittstelle z.B. eines PCs wird an den Stecker ST1 (DSub9-Buchse) angeschlossen. Für die Verbindung mit einem PC wird ein 1:1-Kabel mit jeweils einem Stecker und einer Kupplung benötigt (siehe Kap. 6). Die Belegung der verwendeten Stifte entspricht dem üblichen Standard und ist in Tab. 1 angegeben.
Der gleiche Anschluss wird auch für die In-System-Programmierung des Mikrocontrollers verwendet. Die Umschaltung zwischen den beiden Betriebsarten erfolgt über den Schalter SCH1. Die jeweiligen Anschlussbelegungen sind in Tab. 1 dargestellt.
Am Stecker ST2 liegen die frei verfügbaren Portanschlüsse des Mikrocontrollers, sowie die 5V-Versorgungsspannung und die Masse. Die Belegung ist in Tab. 2 beschrieben.
Der Stecker ST3 ist für den Anschluss einer LCD-Anzeige vorgesehen. Es eignen sich dafür die oben genannten Typen. Sie sind alle anschlusskompatibel mit den entsprechenden Typen EX16x der Firma Electronic Assembly (siehe dazu auch das bereitgestellte Datenblatt).
Der Stecker ist für einen Betrieb der Anzeigen im 4-Bit-Modus ausgelegt. Die Tab. 3 beschreibt die erforderlichen Verbindungen.
An den Stecker ST4 können externe Speichermodule sowohl für Programm (EPROM) als auch für Daten (RAM) angeschlossen werden. Die Steckerbelegung ist in Tab. 4 beschrieben. Der interne Programmspeicher des AT89S8252 kann falls erforderlich mit dem Jumper J2 abgeschaltet werden (Stellung B).
Es ist auch möglich, an den Stecker ST4 ein Interface für die Ein- und Ausgabe anzubinden. Dazu können die Adressen der freien Speicherbereiche des Datenspeichers (0800h .. 7FFFh, siehe Abb. 1) verwendet werden.
Der Jumper J2 (nur auf der einseitigen Platine vorhanden) legt fest, ob der interne Programmspeicher des Mikrocontrollers (Stellung A) oder ein extern angeschlossener Programmspeicher (EPROM) ab Adresse 0 (Stellung B) benutzt werden soll. Im Normalmodus steht dieser Jumper auf A. Es wird dann nach einem Reset oder nach dem Einschalten das im internen Programmspeicher befindliche Monitorprogramm gestartet. Zu testende Programme können dann in das RAM ab Adresse 8000H geladen und über das Monitorprogramm von dort gestartet werden.
Durch Einsetzen des Jumpers J1 werden die LED-Anzeigen für das Port 1 mit Spannung versorgt. Sie leuchten jeweils, wenn die zugehörigen Portleitungen L-Pegel haben.
Mit dem Reset-Taster kann jedes auf dem Mikrocontroller laufende Programm unterbrochen werden. Ist ein Monitorprogramm vorhanden und die serielle Schnittstelle mit einem PC verbunden (siehe Kap. 4), wird dieses gestartet.
Wie oben beschrieben ist der externe Speicher des Experimentierboards so geschaltet, dass er sowohl für Daten als auch für das Programm verwendbar ist. Wenn sich im internen Programmspeicher des Mikrocontrollers ein geeignetes Monitorprogramm befindet, kann damit das zu testende Programm über die serielle Schnittstelle vom PC in den externen Speicher transferiert und dort gestartet werden. Bei der Entwicklung solcher Testprogramme ist dann nur zu beachten, dass sie bei der Adresse 8000H beginnen müssen (CSEG AT 8000H im Assemblerprogramm). Die Interrupt-Tabelle wird vom Monitorprogramm beim Start des Anwenderprogramms automatisch in den Bereich ab 8000H verschoben.
Zum Download über die serielle Schnittstelle muss eine Datei im Hex-Intel-Format erzeugt werden. Dieses Standardformat kann von allen Assemblern, bzw. Compilern erstellt werden. Besonders einfach gestaltet sich das Verfahren, wenn als Entwicklungsumgebung das kostenlos bereitgestellte Windows-Programm MC-51 verwendet wird. Es vereinigt einen Texteditor zum Bearbeiten von Assembler- und Pascalprogrammen, einem Assembler, einen Pascal-Compiler und ein Terminal zum Kommunizieren mit dem Monitorprogramm des Mikrocontrollers über die serielle Schnittstelle unter einer Oberfläche. Außerdem enthält es ein Modul, mit dem die internen Programm- und Datenspeicher der Atmel-Mikrocontroller AT89S8252/53 und AT89S51/52 programmiert werden (siehe Kap. 5) können.
Im Texteditor wird zunächst der Quellcode bearbeitet. Mit F9 wird der Assembler aufgerufen. Das Object-Format sollte dabei auf Hex eingestellt sein (siehe Hinweis am unteren Rand des Programmfensters). Eventuell noch vorhandene syntaktische Fehler werden in einem Fenster angezeigt. Durch Klicken auf eine Zeile dieser Fehlerliste gelangt man unmittelbar an die zugehörige Stelle des Quellcodes. Wenn alle Fehler beseitigt sind kann das Programm in den Mikrocontrollerspeicher heruntergeladen werden. Man wechselt in den Terminalmodus und tippt F5.
Die Kommunikation zwischen Monitorprogramm und PC erfolgt über die serielle Schnittstelle. Auf der PC-Seite ist in MC-51 oder in einem anderen Terminalprogramm in jedem Fall der benutzte Anschluss COM1 oder COM2 auszuwählen. Bei den Schnittstellenparametern sind folgende Einstellungen vorzunehmen (in MC-51 sind das die Standardeinstellungen):
Die bereitgestellten Monitorprogramme (RMON8252 und PAULMON) besitzen eine automatische Baudratenerkennung. Daher muss nach jedem Einschalten des Mikrocontrollers im Terminalfenster einmal die Enter-Taste getippt werden, damit der Mikrocontroller die am PC eingestellte Baudrate erkennt.
Für den Download von Hex-Dateien sind außerdem geeignete, vom verwendeten Monitorprogramm abhängige Verzögerungszeiten einzustellen (Standardwerte: 0 ms zwischen den einzelnen Zeichen, 50 ms am Zeilenende). Wenn es beim Download Probleme gibt, sollte man diese Zeiten vergrößern.
Zur Programmierung des internen Programmspeichers des AT89S8252 wird der Schalter SCH1 auf dem Experimentierboard in Stellung P gebracht. Im Programm MC-51 wird zunächst der Quelltext des gewünschten Programms übersetzt (F9), um eine Hex-Datei zu erzeugen. Nach Klicken auf das Programmierwerkzeug (oder Datei/Programmieren im Hauptmenü) öffnet sich ein Fenster. Die dort angezeigten Anweisungen sind zu befolgen. Wenn alle Anschlüsse und Einstellungen stimmen, gelangt man über »Weiter« in das Programmierfenster. Nach Klick auf »Programmieren« werden die Daten an den Mikrocontroller gesendet. Eine Anzeige informiert über den Fortschritt. Nach Ende der Programmierung gelangt man über »Weiter« in das Überprüfungsfenster. Hier gibt es die Möglichkeit die Programmierung zu verifizieren.
Reichelt Elektronik | Conrad Electronic | ELV Elektronik AG | PCB-Pool | ||||
Elektronikring 1 26452 Sande Internet |
Klaus-Conrad-Str.1 292240 Hirschau Internet |
Maiburger Straße 32 - 36 26789 Leer Internet |
Bestellung von Leiterplatten Leiterplatten-Konfigurator Internet |