Startseite - Blog

16F877: Merkmale, Pins und Schnellanschluss des PIC 16F877-Mikrocontrollers kennenlernen

PIC16F877 hat viele Eigenschaften, die diesen Mikrocontroller für Anfänger und Profis gleichermaßen geeignet machen.

Der PIC16F877A enthält alles, was der PIC16F877 hat, und beinhaltet einen internen Taktoszillator, ein besser funktionierendes Analog-Digital-Wandlermodul (ADC) und mehr!

In diesem Artikel werden die Eigenschaften des PIC16F877-Mikrocontrollers besprochen und der Eingangs-/Ausgangsanschluss und die einfache Verbindung vorgestellt. Er wird Ihnen helfen, diese Schaltkreise zu verstehen und sie zu benutzen.

1. PIC 16F877 Überblick

PIC16F877 bedeutet, dass dieser PIC-Mikrocontroller mehrere Aufgaben mit Hilfe von Software ausführen kann.

Das Design des PIC 16F877 ist für die Verwendung als eigenständiges Gerät oder als Ergänzung zu Schaltungen anderer Geräte gedacht. Zum Beispiel RAMPS und Arduino-Boards. Er kann auch allein arbeiten. Aber wenn Sie wollen, dass es ohne Probleme zu tun, müssen Sie einen Quarz-Oszillator (Frequenz) zu haben.

Der PIC 16F877 ist ein vollständig statischer Baustein, was bedeutet, dass er mit einer begrenzten Menge an Flash und RAM arbeitet. Außerdem hat er eine ausgezeichnete Betriebsflexibilität, ist billig und wird am häufigsten in Schaltungen verwendet.

PIC 16F877

(Mikrocontroller)

2. Merkmale des PIC 16F877

PIC 16F877

 (Mikrochip)

Die allgemeinen Merkmale des PIC16F877 sind;

– Stromsparender STOP-Modus, d.h. man kann den PIC16F877 anhalten, ohne ihn aus der Schaltung zu entfernen

– Das Hochgeschwindigkeits-PWM-Modul (Pulsweitenmodulation) kann bis zu 256 Ausgangspegel erzeugen und verfügt über einen eingebauten, im Takt programmierbaren Prescaler

– Ein interner Spannungsregler für die E/A-Schaltung und ein integrierter Oszillator (Quarz oder Keramikresonator)

– Ein On-Chip-Komparatormodul

– Analog-Digital-Wandler mit einer Auflösung von 12 Bit, der bis zu vier analoge Eingangskanäle gleichzeitig wandeln kann

– Unterstützt externe Interrupts zum Aufwecken des Geräts aus dem Sleep-Modus oder für andere Zwecke.

– Acht verschiedene Stromsparmodi

PIC 16F877

(Zerlegter Mikrocontroller)

– Analoges Komparatormodul

– Bis zu 23 E/A-Pins

– Ein SPI-Modus und vier UART-Module (ein Vollduplex)

– Interrupt-Controller mit bis zu 14 Interrupt-Quellen

– Watchdog-Timer, der einen Interrupt erzeugt, wenn das Zeitintervall abläuft

– Schaltung zur Erzeugung eines Power-on-Resets

– Programmierbarer Brownout-Detektor (BOD)

– Interner kalibrierter Oszillator, der es dem internen RC-Kreis ermöglicht, als Taktquelle zu arbeiten

– Serielle In-Circuit-Programmierung und In-Circuit-Debugging-Fähigkeit über die debugWIRE-Schnittstelle

PIC 16F877

 (Mikrocontroller)

Die wichtigsten Merkmale des PIC 16F877 sind:

Betriebsfrequenz von bis zu 20 MHz interner Taktgeber

Hat fünf (A-E) Basis-Eingangs-/Ausgangs-Ports 

8 10-Bit \ADC-Eingangskanäle 

verfügt über PSP als parallele Kommunikation

PIC16F877A hat 8KB Flash-Speicher

Zwei serielle Kommunikationsschnittstellen: 2-Draht Inter-Integrated Circuit () Bus und SMBus

368 Ebenen Datenspeicher-Bytes mit 256 Ebenen (14bits) EEPROM Datenspeicher

Verfügt über drei Timer, d.h. einen 16-Bit-Timer und 2 8-Bit-Timer, die im Timer- oder Zählermodus verwendet werden können

Zusätzliche Merkmale

– Er ist in der Sprache C programmierbar.

– Der Mikrocontroller läuft mit einem internen 16MHz-Oszillator

– PIC16F877A ist als Master oder Slave konfigurierbar und wird mit einem SPI-Modul geliefert.

3. PIC16F877A Mikrocontroller Pin-Diagramme:

PIC16F877-Chips gibt es in verschiedenen Ausführungen und Typen. Zum Beispiel 40-PIN DIP, 44-PIN TQFP, und 44-PIN QFN Designs. Diese Unterschiede ergeben sich aus den unterschiedlichen Einsatzmöglichkeiten und Anwendungen. Das Bild unten zeigt die Techniken und Pins des PIC16F877A.

Pin-Diagramme

(Pin-Diagramme des PIC 16877-Chips)

QUELLE; Microchip Datasheetspdf.com 

4. Einführung in die Beschreibungen der Input/Output-Ports

Jeder Anschluss des Mikrocontrollers ist mit zwei Registern verbunden. Beispiel: Port C; seine Register sind PORTC und TRISC. Das TRISC-Register bestimmt, ob der Anschluss ein Ausgang oder ein Eingang ist. Außerdem können Sie jedem Pin unabhängig voneinander Werte zuweisen.

Verwenden Sie bei der Programmierung von Mikrocontrollern Compiler für Ihre Softwarearbeit. Der beste Compiler für den PIC16877A ist MPLAB XC8 COMPILER.  

– Die Konfiguration von PORT A funktioniert als analoger Eingangsport, digitaler I/O oder PWM-Ausgang. Port A hat sechs Pins, die von Pin #2 bis #7 reichen und als RA0 bis RA5 bezeichnet werden.

– Die Konfiguration von PORT B fungiert als digitaler Eingang, Analogeingang, Timer-Eingangserfassung, Timer-Ausgangsvergleich und PWM-Eingang. Port B hat 8 Pins, d.h. von Pin #33 bis #40; Beschriftung: RBO bis RB7 

– PORT C ist ein Zähler/Timer-Modul (Eingang oder Ausgang), UART und SPI. Port C hat ebenfalls 8 Pins. Die ersten 4 sind von Pin #15 bis #18, und die anderen 4 sind von Pin #23-#26. Diese Pins sind RCO bis RC7

Pin-Diagramme

 (Abbildungen der PIC16F877A-Anschlüsse)

QUELLE: Theengineeringprojects.com

– Die Konfigurationen von PORT D sind digitale Eingangsstifte, Analogeingang und Timerausgang. Port D hat ebenfalls 8 Pins. Die ersten 4 sind von Pin #19-#22, und die anderen sind von Pin #27-#30. Diese Stifte sind RD0 bis RD7.

– PORT E ist für den Werksgebrauch reserviert. Er hat drei Pins #8-#10, die RE0 bis RE2 sind.

– VDD und VSS sind Stromversorgungspins, während MCLR der Master-Clear-Pin ist.

– PIC16F877A hat bis zu 18 GPIO-Pins, die die Konfiguration des Controllers als Eingang oder Ausgang über die zugehörigen Register ermöglichen.

– Zusätzlich zu den GPIO-Pins befinden sich auf der Oberseite des PIC16F877A einige weitere dedizierte Pins.

– VDD ist der positive Versorgungsspannungs-Pin, während VSS die Erdungsreferenz ist.

– PIC16F877A hat 23 E/A-Pins, die in zwei Bänke unterteilt sind: Bank A und Bank B.

– Jeder E/A-Pin hat ein eindeutiges Bit, das als Eingang oder Ausgang fungieren kann, wenn es zugewiesen ist.

5. Von der Theorie zur Praxis – Blinkende LEDs mit PIC16F877A

                                                        (PIC16F877A-Schaltplan)

Das obige Diagramm zeigt Ihnen, wie Sie LEDs mit dem PIC16F877A verbinden können. Es hebt auch die kritischen Mikrocontroller-Pins hervor, die Sie während des Anschlusses benötigen. Für einen schnellen Anschluss; 

Schließen Sie zunächst 5 V an den MSLR-Pin Nr. 1 an und fügen Sie einen 10-k-Ohm-Widerstand hinzu.

Schließen Sie außerdem 5 V an Pin #11 (VDD) an. Auf der anderen Seite schließen Sie 5 V an Pin #32 (VSS) an.

Legen Sie Masse an VSS (Pin #12) an. Verbinden Sie dann die Pins #13(OSC1) und #14(OSC2) mit dem 16MHz Quarzoszillator.

Schließen Sie anschließend 2 Kondensatoren von 33pF an die Masse an. Verbinden Sie nun Pin #31(VSS) mit der Masse.

Zum Schluss schließen Sie die LED und den 10k Ohm Widerstand an Pin #21(RD2) an, um den Programm-Upload zu ermöglichen.

 (Elektronische Komponenten)

Um LEDs mit dem PIC16F877A zu blinken, schließen Sie die LEDs zwischen PORTD und Masse an. Da wir nur eine LED blinken lassen müssen, können wir sie mit einem 10k-Ohm-Widerstand kombinieren. Wir müssen PORT-D als Ausgang konfigurieren, indem wir ihn auf einen High-Low-Übergang setzen und den Ausgangs-Latch verwenden, um die LED zum Leuchten zu bringen.

Wir können PORT-D auf einen Low-to-High-Übergang einstellen, indem wir 0x01 in das Data Direction Register (DDRB) schreiben. Um PORT-D auf High zu setzen, müssen wir 0x00 in das DDRB-Register schreiben, was zum Aufleuchten der LED führt.

Zusammenfassung

In diesem Artikel haben wir etwas über den PIC 16F877, seine Funktionen und den Eingangs-/Ausgangs-Port des PIC16F877A gelernt. Wir hoffen, er hat Ihnen gefallen!

Wenn Sie sich für den PIC-Mikrocontroller interessieren, können Sie auch unsere anderen Artikel lesen. Und wenn Sie Fragen zum PIC16F877 haben, können Sie uns gerne kontaktieren.

Hommer
Hallo, ich bin Hommer, der Gründer von WellPCB. Bisher haben wir mehr als 4.000 Kunden weltweit. Bei Fragen können Sie sich gerne an mich wenden. Danke im Voraus.

Dienstleistungen