Erfahren Sie mehr über PIC-Mikrocontroller und ihre Architektur mit Erläuterungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





PIC ist ein Mikrocontroller mit peripherer Schnittstelle das im Jahr 1993 von den General Instruments Microcontrollers entwickelt wurde. Es wird von der Software gesteuert und so programmiert, dass es verschiedene Aufgaben ausführt und eine Generationslinie steuert. PIC-Mikrocontroller werden in verschiedenen neuen Anwendungen wie Smartphones, Audiozubehör und fortschrittlichen medizinischen Geräten verwendet.

PIC-Mikrocontroller

PIC-Mikrocontroller



Es gibt viele PICs auf dem Markt, die von PIC16F84 bis PIC16C84 reichen. Diese Arten von PICs sind erschwingliche Flash-PICs. Microchip hat kürzlich Flash-Chips mit verschiedenen Typen eingeführt, z. B. 16F628, 16F877 und 18F452. Der 16F877 kostet doppelt so viel wie der alte 16F84, ist aber achtmal so groß wie die Codegröße, mit mehr RAM und viel mehr E / A-Pins, einem UART-, A / D-Wandler und viel mehr Funktionen.


PIC-Mikrocontroller-Architektur

Das PIC-Mikrocontroller basiert auf der RISC-Architektur. Seine Speicherarchitektur folgt dem Harvard-Muster separater Speicher für Programm und Daten mit separaten Bussen.



PIC-Mikrocontroller-Architektur

PIC-Mikrocontroller-Architektur

1. Speicherstruktur

Die PIC-Architektur besteht aus zwei Speichern: Programmspeicher und Datenspeicher.

Programmspeicher: Dies ist ein 4K * 14-Speicherplatz. Es wird zum Speichern von 13-Bit-Anweisungen oder des Programmcodes verwendet. Auf die Programmspeicherdaten wird über das Programmzählerregister zugegriffen, das die Adresse des Programmspeichers enthält. Die Adresse 0000H wird als Rücksetzspeicherplatz und 0004H als Interrupt-Speicherplatz verwendet.

Datenspeicher: Der Datenspeicher besteht aus 368 Byte RAM und 256 Byte EEPROM. Die 368 Bytes RAM bestehen aus mehreren Bänken. Jede Bank besteht aus Allzweckregistern und Sonderfunktionsregistern.


Die speziellen Funktionsregister bestehen aus Steuerregistern, um verschiedene Operationen der Chipressourcen wie Zeitgeber zu steuern. Analog-Digital-Wandler , Serielle Ports, E / A-Ports usw. Zum Beispiel das TRISA-Register, dessen Bits geändert werden können, um die Eingabe- oder Ausgabeoperationen des Ports A zu ändern.

Die Allzweckregister bestehen aus Registern, die zum Speichern temporärer Daten und zum Verarbeiten der Ergebnisse der Daten verwendet werden. Diese Allzweckregister sind jeweils 8-Bit-Register.

Arbeitsregister: Es besteht aus einem Speicherplatz, in dem die Operanden für jeden Befehl gespeichert sind. Es speichert auch die Ergebnisse jeder Ausführung.

Statusregister: Die Bits des Statusregisters bezeichnen den Status der ALU (arithmetische Logikeinheit) nach jeder Ausführung des Befehls. Es wird auch verwendet, um eine der 4 Bänke des RAM auszuwählen.

Dateiauswahlregister: Es dient als Zeiger auf jedes andere Allzweckregister. Es besteht aus einer Registerdateianschrift und wird bei der indirekten Adressierung verwendet.

Ein weiteres Universalregister ist das Programmzählerregister, bei dem es sich um ein 13-Bit-Register handelt. Die 5 oberen Bits werden als PCLATH (Program Counter Latch) verwendet, um unabhängig wie jedes andere Register zu funktionieren, und die unteren 8 Bits werden als Programmzählerbits verwendet. Der Programmzähler fungiert als Zeiger auf die im Programmspeicher gespeicherten Anweisungen.

EEPROM: Es besteht aus 256 Bytes Speicherplatz. Es ist ein permanenter Speicher wie ein ROM, aber sein Inhalt kann während des Betriebs des Mikrocontrollers gelöscht und geändert werden. Der Inhalt des EEPROM kann mithilfe spezieller Funktionsregister wie EECON1, EECON usw. gelesen oder beschrieben werden.

2. E / A-Ports

Die PIC16-Serie besteht aus fünf Ports, z. B. Port A, Port B, Port C, Port D und Port E.

Port A: Es handelt sich um einen 16-Bit-Port, der je nach Status des TRISA-Registers als Eingabe- oder Ausgabeport verwendet werden kann.

Port B: Es ist ein 8-Bit-Port, der sowohl als Eingangs- als auch als Ausgangsport verwendet werden kann. 4 seiner Bits können bei Verwendung als Eingang bei Interrupt-Signalen geändert werden.

Port C: Es ist ein 8-Bit-Port, dessen Betrieb (Eingabe oder Ausgabe) durch den Status des TRISC-Registers bestimmt wird.

Port D: Es handelt sich um einen 8-Bit-Port, der nicht nur ein E / A-Port ist, sondern auch als Slave-Port für die Verbindung zum Mikroprozessor Bus.

Port E: Es ist ein 3-Bit-Port, der die zusätzliche Funktion der Steuersignale für den A / D-Wandler erfüllt.

3. Timer

PIC-Mikrocontroller bestehen aus 3 Timer , von denen der Timer 0 und der Timer 2 8-Bit-Timer sind und der Time-1 ein 16-Bit-Timer ist, der auch als verwendet werden kann Zähler .

4. A / D-Wandler

Der PIC-Mikrocontroller besteht aus einem 8-Kanal-10-Bit-Analog-Digital-Wandler. Der Betrieb der A / D-Wandler wird durch diese speziellen Funktionsregister gesteuert: ADCON0 und ADCON1. Die unteren Bits des Wandlers werden in ADRESL (8 Bits) und die oberen Bits im ADRESH-Register gespeichert. Für den Betrieb ist eine analoge Referenzspannung von 5 V erforderlich.

5. Oszillatoren

Oszillatoren werden zur Zeitgenerierung verwendet. PIC-Mikrocontroller bestehen aus externen Oszillatoren wie Kristallen oder RC-Oszillatoren. Im Fall von Kristalloszillatoren ist der Kristall zwischen zwei Oszillatorstiften verbunden, und der Wert des an jeden Stift angeschlossenen Kondensators bestimmt die Funktionsweise des Oszillators. Die verschiedenen Modi sind der Energiesparmodus, der Kristallmodus und der Hochgeschwindigkeitsmodus. Bei RC-Oszillatoren bestimmt der Wert des Widerstands und des Kondensators die Taktfrequenz. Die Taktfrequenz reicht von 30 kHz bis 4 MHz.

6. CCP-Modul:

Ein CCP-Modul arbeitet in den folgenden drei Modi:

Aufnahmemodus: Dieser Modus erfasst die Ankunftszeit eines Signals oder mit anderen Worten den Wert des Timers1, wenn der CCP-Pin hoch geht.

Vergleichsmodus: Es fungiert als analoger Komparator, der einen Ausgang erzeugt, wenn der Wert timer1 einen bestimmten Referenzwert erreicht.

PWM-Modus: Es bietet Pulsbreite moduliert Ausgabe mit einer Auflösung von 10 Bit und einem programmierbaren Arbeitszyklus.

Andere spezielle Peripheriegeräte umfassen einen Watchdog-Timer, der den Mikrocontroller bei einer Softwarefehlfunktion zurücksetzt, und einen Brownout-Reset, der den Mikrocontroller bei Stromschwankungen und anderen zurücksetzt. Zum besseren Verständnis dieses PIC-Mikrocontrollers geben wir ein praktisches Projekt, bei dem dieser Controller für seinen Betrieb verwendet wird.

Straßenlaterne, die beim Erkennen der Fahrzeugbewegung leuchtet

Dies LED-Straßenlaternensteuerungsprojekt wurde entwickelt, um die Fahrzeugbewegung auf der Autobahn zu erfassen, um einen Block von Straßenlaternen vor sich einzuschalten und um die Rücklichter auszuschalten, um Energie zu sparen. In diesem Projekt wird eine PIC-Mikrocontroller-Programmierung unter Verwendung von verwendet eingebettet C. oder Assemblersprache.

Straßenlaterne, die beim Erkennen der Fahrzeugbewegung leuchtet

Straßenlaterne, die beim Erkennen der Fahrzeugbewegung leuchtet

Der Stromversorgungskreis versorgt einen ganzen Stromkreis mit Strom, indem er die Wechselstromversorgung herunterfährt, gleichrichtet, filtert und regelt. Wenn sich keine Fahrzeuge auf der Autobahn befinden, bleiben alle Lichter ausgeschaltet, damit Strom gespart werden kann. Die IR-Sensoren befinden sich auf beiden Straßenseiten, wenn sie die Bewegung der Fahrzeuge erfassen, und senden die Befehle an die Mikrocontroller zum Ein- oder Ausschalten der LEDs. Ein LED-Block leuchtet, wenn sich ein Fahrzeug in der Nähe nähert, und sobald das Fahrzeug diese Route verlässt, wird die Intensität niedrig oder vollständig ausgeschaltet.

Das PIC-Mikrocontroller-Projekte kann in verschiedenen Anwendungen verwendet werden, z. B. in Peripheriegeräten für Videospiele, Audiozubehör usw. Wenn Sie Hilfe zu Projekten benötigen, können Sie uns kontaktieren, indem Sie im Kommentarbereich einen Kommentar abgeben.