- EEPROM in PIC16F877A:
- Schaltplan und Erklärung:
- Simulation der Verwendung des PIC-EEPROM:
- Programmieren von PIC für EEPROM:
- Arbeiten:
In diesem Tutorial erfahren Sie, wie einfach es ist, Daten mit dem im PIC16F877A-Mikrocontroller enthaltenen EEPROM zu speichern. In den meisten Echtzeitprojekten müssen wir möglicherweise einige Daten speichern, die auch bei ausgeschaltetem Gerät nicht gelöscht werden sollten. Dies mag nach einem komplizierten Prozess klingen, aber mit Hilfe des XC8-Compilers kann diese Aufgabe mit nur einer einzigen Codezeile erledigt werden. Wenn die Daten in Mega-Bytes groß sind, können wir ein Speichergerät wie eine SD-Karte anschließen und diese Daten darauf speichern. Aber wir können diesen anstrengenden Prozess vermeiden, wenn die Daten klein sind. Wir können einfach das im PIC-Mikrocontroller vorhandene EEPROM verwenden, um unsere Daten zu speichern und sie jederzeit abzurufen.
Dieses PIC EEPROM-Tutorial ist Teil einer Folge von PIC Microcontroller-Tutorials, in denen wir von einer sehr einfachen Ebene aus begonnen haben. Wenn Sie die vorherigen Tutorials nicht gelernt haben, sollten Sie sie sich jetzt ansehen, da in diesem Tutorial davon ausgegangen wird, dass Sie mit der Schnittstelle zwischen LCD und PIC-Mikrocontroller und der Verwendung von ADC mit PIC-Mikrocontroller vertraut sind.
EEPROM in PIC16F877A:
EEPROM steht für "Elektronisch löschbarer und programmierbarer Nur-Lese-Speicher". Wie der Name schon sagt, handelt es sich um einen im PIC-Mikrocontroller vorhandenen Speicher, in den wir Daten schreiben / lesen können, indem wir ihn dazu programmieren. Die darin gespeicherten Daten werden nur gelöscht, wenn dies im Programm erwähnt wird. Der im EEPROM verfügbare Speicherplatz variiert je nach Mikrocontroller. Die Details werden wie gewohnt im Datenblatt angegeben. In unserem Fall für PIC16F877A beträgt der verfügbare Speicherplatz 256 Byte, wie im Datenblatt der Spezifikation angegeben. Lassen Sie uns nun sehen, wie wir diese 256 Bytes zum Lesen / Schreiben von Daten mithilfe eines einfachen Versuchsaufbaus verwenden können.
Schaltplan und Erklärung:
Der Schaltplan für das Projekt ist oben dargestellt. Wir haben ein LCD angeschlossen, um zu visualisieren, welche Daten gespeichert und abgerufen werden. Ein normales Potentiometer ist an den Analogkanal AN4 angeschlossen. Geben Sie also eine variable Spannung ein. Diese variable Spannung wird als Daten verwendet, die im EEPROM gespeichert werden sollen. Wir haben auch einen Druckknopf auf RB0 verwendet. Wenn dieser Knopf gedrückt wird, werden die Daten vom Analogkanal im EEPROM gespeichert.
Diese Verbindung kann auf einem Steckbrett hergestellt werden. Die Pinbelegung des PIC-Mikrocontrollers ist in der folgenden Tabelle aufgeführt.
S.No: |
PIN Nummer |
Pin Name |
Verbunden |
1 |
21 |
RD2 |
RS des LCD |
2 |
22 |
RD3 |
E des LCD |
3 |
27 |
RD4 |
D4 des LCD |
4 |
28 |
RD5 |
D5 des LCD |
5 |
29 |
RD6 |
D6 des LCD |
6 |
30 |
RD7 |
D7 des LCD |
7 |
33 |
RBO / INT |
Druckknopf |
8 |
7 |
AN4 |
Potentiometer |
Simulation der Verwendung des PIC-EEPROM:
Dieses Projekt beinhaltet auch eine mit Proteus entworfene Simulation, mit der wir die Arbeitsweise des Projekts ohne Hardware simulieren können. Das Programm für diese Simulation finden Sie am Ende dieses Tutorials. Sie können einfach die Hex-Datei von hier aus verwenden und den gesamten Prozess simulieren.
Während der Simulation können Sie den aktuellen ADC-Wert und die im EEPROM gespeicherten Daten auf dem LCD-Bildschirm anzeigen. Um den aktuellen ADC-Wert im EEPROM zu speichern, drücken Sie einfach den an RB0 angeschlossenen Schalter und er wird gespeichert. Ein Schnappschuss der Simulation ist unten dargestellt.
Programmieren von PIC für EEPROM:
Der vollständige Code für dieses Lernprogramm finden Sie am Ende dieses Lernprogramms. In unserem Programm müssen wir die Werte aus dem ADC-Modul lesen und wenn eine Taste gedrückt wird, müssen wir diesen Wert in unserem EEPROM speichern. Da wir bereits etwas über ADCs und LCD-Schnittstellen gelernt haben, werde ich den Code zum Speichern und Abrufen von Daten aus dem EEPROM näher erläutern.
Laut Datenblatt „Diese Geräte verfügen über 4 oder 8 KB Programm-Flash-Wörter mit einem Adressbereich von 0000h bis 1FFFh für den PIC16F877A“. Dies bedeutet, dass jeder EEPROM-Speicherplatz eine Adresse hat, über die auf ihn zugegriffen werden kann, und in unserer MCU beginnt die Adresse von 0000h bis 1FFFh.
Verwenden Sie einfach die folgende Zeile, um Daten in einer bestimmten EEPROM-Adresse zu speichern.
eeprom_write (0, adc);
Hier ist "adc" eine Variable vom Typ Integer, in der die zu speichernden Daten vorhanden sind. Und "0" ist die Adresse des EEPROM, auf dem unsere Daten gespeichert sind. Die Syntax "eeprom_write" wird von unserem XC8-Complier bereitgestellt, daher werden die Register automatisch vom Compiler übernommen.
Um Daten abzurufen, die bereits im EEPROM gespeichert sind, und sie in einer Variablen zu speichern, kann die folgende Codezeile verwendet werden.
Sadc = (int) eeprom_read (0);
Hier ist „Sadc“ die Variable, in der die Daten aus dem EEPROM gespeichert werden. Und "0" ist die Adresse des EEPROM, von dem wir die Daten abrufen. Die Syntax "eeprom_read" wird von unserem XC8-Complier bereitgestellt, daher werden die Register automatisch vom Compiler übernommen. Die im EEPROM gespeicherten Daten sind hexadezimal. Daher konvertieren wir sie in einen Integer-Typ, indem wir vor der Syntax ein (int) voranstellen.
Arbeiten:
Sobald wir verstanden haben, wie der Code funktioniert, und uns mit der Hardware fertig machen, können wir den Code testen. Laden Sie den Code auf Ihren PIC-Mikrocontroller hoch und schalten Sie das Setup ein. Wenn alles wie erwartet funktioniert, sollten die aktuellen ADC-Werte auf dem LCD angezeigt werden. Sie können jetzt die Taste drücken, um den ADC-Wert im EEPROM zu speichern. Jetzt überprüfen Sie, ob der Wert gespeichert ist, indem Sie das gesamte System ausschalten und wieder einschalten. Beim Einschalten sollte der zuvor gespeicherte Wert auf dem LCD-Bildschirm angezeigt werden.
Die vollständige Arbeitsweise dieses Projekts zur Verwendung des PIC Microcontroller EEPROM ist im folgenden Video dargestellt. Ich hoffe, Sie haben das Tutorial verstanden und es genossen. Wenn Sie irgendwelche Zweifel haben, können Sie diese im Kommentarbereich unten schreiben oder in unseren Foren veröffentlichen.