MENÜ English Ukrainian Russisch Startseite

Kostenlose technische Bibliothek für Bastler und Profis Kostenlose technische Bibliothek


ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK
Kostenlose Bibliothek / Schemata von radioelektronischen und elektrischen Geräten

Initialisierung zusätzlicher Speichersegmente in Programmen für Mikrocontroller der MCS-51-Familie. Enzyklopädie der Funkelektronik und Elektrotechnik

Kostenlose technische Bibliothek

Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller

Kommentare zum Artikel Kommentare zum Artikel

Moderne Mikrocontroller verfügen über einen integrierten nichtflüchtigen Datenspeicher (EEPROM), in den manchmal Informationen eingegeben werden müssen, bevor das Gerät seine Arbeit aufnimmt. Das Abbild (Firmware) dieses Speichers muss während der Entwicklung des Programms erstellt werden. Dies kann beispielsweise durch Assembler für Mikrocontroller der PICmicro- und AVR-Familien erfolgen. Sie geben dem Programmierer die Möglichkeit, ein zusätzliches Speichersegment zu organisieren und darin die Ausgangsdaten zum Schreiben in das EEPROM festzulegen.

Assembler für Mikrocontroller mit dem MSC-51-Kern ermöglichen auch die Aufteilung des Speichers in mehrere Teile, allerdings ist nur in einem davon – dem ausführbaren Codesegment – ​​eine Initialisierung möglich. In allen anderen ist es nur erlaubt, Speicherzellen zu reservieren und nur während der Ausführung des Programms Daten darauf zu schreiben. Der Ausweg aus der Situation kann die unten beschriebene Technik sein. Sein Kern ist die Verwendung der bedingten Assemblierung, wodurch die Initialisierung des Codesegments je nach Übersetzungsbedingungen auf unterschiedliche Weise erfolgt. Mit den resultierenden HEX-Dateien kann nicht nur das interne EEPROM des Mikrocontrollers, sondern auch externe Speicherchips programmiert werden.

Künstlich erzeugte Zusatzsegmente (es sind beliebig viele möglich) werden im Programmtext vor dem eigentlichen Codesegment platziert. In einem davon definierte Labels sind im Folgenden in allen Bereichen bekannt, einschließlich des eigentlichen Codesegments. Links in die entgegengesetzte Richtung sind jedoch nicht zulässig. Es gibt keine Einschränkungen hinsichtlich der Art und des physischen Standorts des zusätzlichen Speichers.

Ein Beispiel für ein Programm mit zwei zusätzlichen initialisierten Segmenten, die üblicherweise als EEPROM und FLASH bezeichnet werden, ist in der Tabelle dargestellt. 1. Nach dem Speichern in der Datei example.asm verwenden wir den ASEM-51-Assembler, der kostenlos unter „heruntergeladen“ werden kann .

Führen Sie zunächst den Assembler auf der Befehlszeile aus

asem example.asm eeprom.hex/define:EEPROM

Beim Verarbeiten der ersten Zeilen des Programmtexts werden die Bezeichnungen idEeprom, ptrWord und prtBufE in die Symboltabelle eingefügt und die durch die DB- und DW-Anweisungen angegebenen Daten in die Ausgabedatei eeprom.hex (Tabelle 2) eingefügt. Anschließend wird die Segmentlänge überprüft. Wenn der Wert des Programmzählers die physikalisch vorhandene EEPROM-Größe (in diesem Fall 640 Zellen) überschreitet, wird eine Fehlermeldung angezeigt. Wenn das Volumen des Segments offensichtlich klein ist, kann die Prüfung ausgeschlossen werden. Ähnliche Kontrollen sind auch in anderen Segmenten denkbar.

Initialisierung zusätzlicher Speichersegmente in Programmen für Mikrocontroller der MCS-51-Familie
(zum Vergrößern klicken)

Als nächstes trifft der Assembler auf die IFNDEF EEPROM-Direktive. Da ein Symbol mit diesem Namen in der Befehlszeile definiert ist (Parameter /define:EEPROM), werden alle folgenden Zeilen des Programms bis zur ENDIF-Direktive ignoriert und die Übersetzung endet dort.

Führen Sie die erneute Übertragung desselben Programms über die Befehlszeile aus

asem example.asm flash.hex/define:FLASH

Es unterscheidet sich vom vorherigen nur durch die Definition des FLASH-Symbols anstelle des EEPROM-Symbols. Die erste Übersetzungsstufe läuft genau wie oben beschrieben ab und die Daten des EEPROM-Segments werden in die Ausgabedatei geschrieben. Die IFNDEF EEPROM-Anweisung unterbricht den Prozess dieses Mal jedoch nicht und die folgende ORG 0-Anweisung setzt den Programmzähler zurück. Der Assembler beginnt mit dem Schreiben der für das FLASH-Segment bestimmten Daten ab Adresse Null in die Ausgabedatei. Die Übertragung wird durch die IFNDEF FLASH-Anweisung unterbrochen. Die endgültige Form der Datei flash.hex ist in der Tabelle dargestellt. 3.

Wir setzen die Übersetzung des wahren Segments des ausführbaren Codes durch den Befehl

asem-Beispiel.asm

Zunächst werden zusätzliche Segmente neu kompiliert und alle darin definierten Labels werden in die Assembler-Symboltabelle eingetragen, wodurch sie vom Codesegment aus referenziert werden können. Die Direktive ORG 0 ganz am Anfang setzt den Programmzähler noch einmal zurück. Die Übertragung wird wie gewohnt fortgesetzt. In der resultierenden example.hex-Datei (Tabelle 4) beginnt der ausführbare Code des Programms in der vierten Zeile und folgt den Zeilen, die mit denen in den vorherigen HEX-Dateien identisch sind.

Das Vorhandensein redundanter Informationen beeinträchtigt in der Regel nicht das korrekte Laden des Codes in die entsprechenden Speicherbereiche des Mikrocontrollers. Im Puffer des Programms, das die Programmierung steuert, „verdrängen“ die korrekten Daten bei Übereinstimmung der Adressen die zuvor eingegebenen. Und nur wenn das neue Segment kürzer als das vorherige ist, wird sein „Schwanz“ im Puffer gespeichert. Aus diesem Grund ist es wünschenswert, Segmente im Programm in aufsteigender Reihenfolge ihrer Länge zu beschreiben.

Einige Programmierer verfügen nicht über einen Zwischenpuffer oder kontrollieren die Eingabedaten streng und lassen keine Adressüberschneidungen zu. Im ersten Fall ist die Programmierung fehlerhaft, im zweiten Fall startet sie überhaupt nicht, bis die „Fehler“ behoben sind.

Sie können zusätzliche Zeilen manuell mit einem beliebigen Texteditor aus einer HEX-Datei entfernen. Sie können dies auch automatisch tun, indem Sie zwei Befehle hintereinander ausführen:

hex2bin Beispiel.hex bin2hex Beispiel.bin

Beim ersten Schritt wird ein Binärbild der in der Datei „example.hex“ enthaltenen Daten erstellt und in der Datei „example.bin“ abgelegt. Der zweite führt die umgekehrte Transformation durch und erstellt eine neue example.hex-Datei ohne Schnickschnack. Unter den Adressen können die notwendigen Programme „heruntergeladen“ werden Und .

Autor: S. Chekunov, Ischewsk

Siehe andere Artikel Abschnitt Mikrocontroller.

Lesen und Schreiben nützlich Kommentare zu diesem Artikel.

<< Zurück

Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik:

Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren 05.05.2024

Die moderne Welt der Wissenschaft und Technik entwickelt sich rasant und jeden Tag tauchen neue Methoden und Technologien auf, die uns in verschiedenen Bereichen neue Perspektiven eröffnen. Eine dieser Innovationen ist die Entwicklung einer neuen Methode zur Steuerung optischer Signale durch deutsche Wissenschaftler, die zu erheblichen Fortschritten auf dem Gebiet der Photonik führen könnte. Neuere Forschungen haben es deutschen Wissenschaftlern ermöglicht, eine abstimmbare Wellenplatte in einem Wellenleiter aus Quarzglas zu schaffen. Dieses auf der Verwendung einer Flüssigkristallschicht basierende Verfahren ermöglicht es, die Polarisation des durch einen Wellenleiter fließenden Lichts effektiv zu ändern. Dieser technologische Durchbruch eröffnet neue Perspektiven für die Entwicklung kompakter und effizienter photonischer Geräte, die große Datenmengen verarbeiten können. Die durch die neue Methode bereitgestellte elektrooptische Steuerung der Polarisation könnte die Grundlage für eine neue Klasse integrierter photonischer Geräte bilden. Dies eröffnet große Chancen für ... >>

Primium Seneca-Tastatur 05.05.2024

Tastaturen sind ein fester Bestandteil unserer täglichen Arbeit am Computer. Eines der Hauptprobleme für Nutzer ist jedoch der Lärm, insbesondere bei Premium-Modellen. Doch mit der neuen Seneca-Tastatur von Norbauer & Co könnte sich das ändern. Seneca ist nicht nur eine Tastatur, es ist das Ergebnis von fünf Jahren Entwicklungsarbeit, um das perfekte Gerät zu schaffen. Jeder Aspekt dieser Tastatur, von den akustischen Eigenschaften bis hin zu den mechanischen Eigenschaften, wurde sorgfältig durchdacht und ausbalanciert. Eines der Hauptmerkmale von Seneca sind seine leisen Stabilisatoren, die das bei vielen Tastaturen auftretende Geräuschproblem lösen. Darüber hinaus unterstützt die Tastatur verschiedene Tastenbreiten, sodass sie für jeden Benutzer bequem ist. Obwohl Seneca noch nicht käuflich zu erwerben ist, ist die Veröffentlichung für Spätsommer geplant. Seneca von Norbauer & Co setzt neue Maßstäbe im Tastaturdesign. Ihr ... >>

Das höchste astronomische Observatorium der Welt wurde eröffnet 04.05.2024

Die Erforschung des Weltraums und seiner Geheimnisse ist eine Aufgabe, die die Aufmerksamkeit von Astronomen aus aller Welt auf sich zieht. In der frischen Luft der hohen Berge, fernab der Lichtverschmutzung der Städte, enthüllen die Sterne und Planeten ihre Geheimnisse mit größerer Klarheit. Mit der Eröffnung des höchsten astronomischen Observatoriums der Welt – dem Atacama-Observatorium der Universität Tokio – wird eine neue Seite in der Geschichte der Astronomie aufgeschlagen. Das Atacama-Observatorium auf einer Höhe von 5640 Metern über dem Meeresspiegel eröffnet Astronomen neue Möglichkeiten bei der Erforschung des Weltraums. Dieser Standort ist zum höchstgelegenen Standort für ein bodengestütztes Teleskop geworden und bietet Forschern ein einzigartiges Werkzeug zur Untersuchung von Infrarotwellen im Universum. Obwohl der Standort in großer Höhe für einen klareren Himmel und weniger Störungen durch die Atmosphäre sorgt, stellt der Bau eines Observatoriums auf einem hohen Berg enorme Schwierigkeiten und Herausforderungen dar. Doch trotz der Schwierigkeiten eröffnet das neue Observatorium den Astronomen vielfältige Forschungsperspektiven. ... >>

Zufällige Neuigkeiten aus dem Archiv

Nanodrähte für die Siliziumphotonik 24.04.2014

IBM-Entwicklern ist es gelungen, Galliumarsenid-Nanodrähte herzustellen, die nützliche Eigenschaften für die Silizium-Photonik aufweisen.

Als eine der Möglichkeiten, um weitere Fortschritte in der Entwicklung von Halbleitertechnologien zu gewährleisten, wird heute die Arbeit mit Elementen aus den Gruppen III-V des Periodensystems in Betracht gezogen.

Die am häufigsten verwendeten dieser Gruppen sind Gallium- und Indiumarsenidlegierungen. Diese Legierungen zeichnen sich durch eine hohe Elektronenbeweglichkeit aus und können als Grundlage für verschiedene Tunneleffekte verwendet werden, was die Fähigkeit impliziert, bei sehr niedrigen Energieniveaus zu arbeiten.

Die IBM-Division in Zürich konnte weitere interessante Eigenschaften dieser Legierungen nutzen. IBM-Entwickler haben Abschnitte auf einem gewöhnlichen Siliziumwafer erstellt, die Nanodrähte aus mechanisch gespanntem Galliumarsenid enthalten. Durch Veränderung der mechanischen Belastung der Nanodrähte (Stauchen und Dehnen) konnten die elektrischen Eigenschaften der „Drähte“ so verändert werden, dass sie Photonen entweder emittieren oder absorbieren.

Diese Eigenschaft eignet sich beispielsweise gut, um einen sog. Silizium-Photonik, wenn optische Transceiver direkt in Prozessoren und Controller eingebaut werden. In diesem Fall ist es möglich, das Strahlungsspektrum durch Dosierung der mechanischen Belastung zu verändern und dadurch den Datenübertragungskanal zu verdichten.

Weitere interessante Neuigkeiten:

▪ Externe Batterien HyperJuice für mobile Geräte

▪ Gewinnung nützlicher Ressourcen auf dem Mond

▪ Duple Mediaplayer

▪ Fingerloses Touch-Display

▪ Urbanista Phoenix TWS Ohrhörer mit eingebauter Solarbatterie

News-Feed von Wissenschaft und Technologie, neue Elektronik

 

Interessante Materialien der Freien Technischen Bibliothek:

▪ Site-Abschnitt Fehlerstromschutzschalter. Artikelauswahl

▪ Artikel Lange Box. Populärer Ausdruck

▪ Wie kam der mexikanische Vulkan Paricutín zu seinem Namen? Ausführliche Antwort

▪ Artikel Arbeiten mit einer Kolbenmontagepistole. Standardanweisung zum Arbeitsschutz

▪ Artikel Einfache effektive Antennen für die Fernkommunikation. Enzyklopädie der Funkelektronik und Elektrotechnik

▪ Artikel Eine Banknote wird mit einem Bleistift durchstochen und bleibt unversehrt. Fokusgeheimnis

Hinterlasse deinen Kommentar zu diesem Artikel:

Name:


E-Mail optional):


Kommentar:





Alle Sprachen dieser Seite

Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen

www.diagramm.com.ua

www.diagramm.com.ua
2000-2024