PIC 16F877 ma wiele cech, które sprawiają, że ten mikrokontroler jest świetny zarówno dla początkujących, jak i profesjonalistów.
PIC16F877A zawiera wszystko, co ma PIC16F877 i zawiera wewnętrzny oscylator zegarowy, lepiej działający moduł przetwornika analogowo-cyfrowego(ADC), i więcej!
Ten artykuł omówi cechy mikrokontrolera PIC16F877 i wprowadzi Cię do portu wejścia/wyjścia i prostego połączenia. Pomoże Ci to zrozumieć te urządzenia układu i jak z nich korzystać.
1.PIC 16F877 Przegląd
PIC16F877 oznacza, że ten mikrokontroler PIC może wykonywać kilka zadań z pomocą oprogramowania.
Projekt PIC 16F877 jest do wykorzystania jako samodzielny lub jako dodatek do obwodów innych urządzeń. Na przykład płytek RAMPS i Arduino. Może też pracować samodzielnie. Ale, jeśli chcesz, aby robił to bez problemów, musisz mieć oscylator kryształowy (częstotliwość).
PIC 16F877 jest urządzeniem w pełni statycznym, co oznacza, że pracuje z ograniczoną ilością pamięci flash i RAM. Ponadto ma doskonałą elastyczność działania, jest tani i najczęściej spotykany w układach.

(Mikrokontroler)
2. Cechy PIC 16F877

(Microchip)
Ogólne cechy PIC16F877 to;
- Oszczędność energii tryb STOP, co oznacza, że można zatrzymać PIC16F877 bez usuwania go z obwodu
- High-speed PWM (Pulse Width Modulation) moduł może generować do 256 poziomów wyjściowych i ma wbudowany zegar programowalny Prescaler
- Jeden wewnętrzny regulator napięcia dla obwodu I/O i zintegrowany oscylator (kryształ lub rezonator ceramiczny)
- Jeden moduł komparatora w układzie
- Konwerter analogowo-cyfrowy o rozdzielczości 12 bitów, mogący konwertować do czterech analogowych kanałów wejściowych jednocześnie
- Obsługuje zewnętrzne przerwania używane do wybudzania urządzenia z trybu uśpienia lub w innym celu.
- Osiem różnych trybów oszczędzania energii

(Rozmontowany mikrokontroler)
- Moduł komparatora analogowego
- Do 23 pinów I/O
- Jeden tryb SPI i cztery moduły UART (jeden full-duplex)
- Kontroler przerwań z maksymalnie 14 źródłami przerwań
- Timer Watchdog, który generuje przerwanie, gdy upłynie czas jego działania
- Układ generujący reset po włączeniu zasilania
- Programowalny detektor zaniku napięcia (BOD)
- Wewnętrzny kalibrowany oscylator, który pozwala wewnętrznemu obwodowi RC pracować jako źródło zegara
- Programowanie szeregowe w obwodzie oraz możliwość debugowania w obwodzie poprzez interfejs debugWIRE

(Mikrokontroler)
Główne/kluczowe cechy PIC 16F877 to:
Częstotliwość pracy zegarów wewnętrznych do 20 MHz
Posiada pięć (A-E) podstawowych portów wejścia/wyjścia
8 10-bitowych kanałów wejściowych \C
Posiada PSP jako komunikację równoległą
PIC16F877A posiada 8KB pamięci Flash
Dwa interfejsy komunikacji szeregowej: 2-przewodowa magistrala Inter-Integrated Circuit () oraz SMBus
368 poziomów bajtów pamięci danych z 256 poziomami (14 bitów) pamięci danych EEPROM
Posiada trzy timery tj. jeden 16-bitowy oraz 2 8-bitowe, pracujące w trybie timera lub licznika
Dodatkowe funkcje
- Jest programowalny w języku C.
- Mikrokontroler pracuje na wewnętrznym oscylatorze 16MHz.
- PIC16F877A jest konfigurowalny jako master lub slave i dostarczany z modułem SPI.
3. Schematy pinów mikrokontrolera PIC16F877A:
Układy PIC16F877 występują w różnych konstrukcjach i typach. Na przykład 40-PIN DIP, 44-PIN TQFP i 44-PIN QFN. Różnice te wynikają z ich różnorodnego wykorzystania i zastosowań. Poniższy obrazek przedstawia techniki i piny PIC16F877A.

(Diagram pinów układu PIC 16877)
ŹRÓDŁO; Microchip Datasheetspdf.com
4. Wprowadzenie do opisów portów wejścia/wyjścia
Każdy port mikrokontrolera jest związany z dwoma rejestrami. Na przykład port C; jego rejestry to PORTC i TRISC. Rejestr TRISC określa, czy port jest wyjściowy czy wejściowy. Ponadto, można przypisać wartości do każdego pinu niezależnie.
Programując mikrokontrolery, używaj kompilatorów do pracy z oprogramowaniem. Najlepszym kompilatorem dla PIC16877A jest MPLAB XC8 COMPILER.
- Konfiguracja PORT A pełni funkcję analogowego portu wejściowego, cyfrowego I/O, lub wyjścia PWM. Port A posiada sześć pinów, które są od pinu #2 do #7; oznaczone jako RA0 do RA5.
- Konfiguracja PORT B pełni funkcje wejścia cyfrowego, wejścia analogowego, przechwytywania wejścia timera, porównywania wyjścia timera, wejścia PWM. Port B posiada 8 pinów, tj. od pinu #33 do #40; Oznaczone jako RBO do RB7
- Konfiguracja PORT C to moduł licznika/timera (wejście lub wyjście), UART, oraz SPI. Port C posiada również 8 pinów. Pierwsze 4 są od pinu #15 do #18, a pozostałe 4 są od pinu #23-#26. Piny te to RCO do RC7

(Ilustracje portów PIC16F877A)
ŹRÓDŁO: Theengineeringprojects.com
- Konfiguracje PORT D to piny wejścia cyfrowego, wejścia analogowego oraz wyjścia timera. Port D posiada również 8 pinów. Pierwsze 4 znajdują się od pinu #19-#22, a pozostałe od pinu #27-#30. Te piny to RD0 do RD7.
- PORT E służy do fabrycznej rezerwacji miejsca. Posiada on trzy piny #8-#10, które są RE0 do RE2.
- VDD i VSS to piny zasilające, natomiast MCLR to pin master clear.
- PIC16F877A posiada do 18 pinów GPIO, które pozwalają na konfigurację sterownika jako wejście lub wyjście za pomocą powiązanych rejestrów.
- Oprócz pinów GPIO, na górnej powierzchni PIC16F877A znajduje się kilka innych dedykowanych pinów.
- VDD to pin dodatniego napięcia zasilania, natomiast VSS to pin odniesienia masy.
- PIC16F877A posiada 23 piny I/O, podzielone na dwa banki; bank A i bank B.
- Każdy pin I/O posiada unikalny bit, który po przypisaniu może funkcjonować jako wejście lub wyjście.
5. Od teorii do praktyki - Migające diody LED przy użyciu PIC16F877A

(Schemat układu PIC16F877A)
Powyższy schemat pokazuje jak połączyć diody LED z PIC16F877A. Podkreśla również krytyczne piny mikrokontrolera, które będą potrzebne podczas łączenia. Dla szybkiego połączenia;
Najpierw podłącz 5v do pin#1 MSLR i dodaj do niego rezystor 10k Ohm.
Podłącz również 5v do pinu #11(VDD). Z drugiej strony, podłącz 5v do pinu #32(VSS).
Zapewnij masę na VSS(pin#12). Następnie podłącz piny #13(OSC1) i #14(OSC2) do oscylatora kryształowego 16MHz.
Następnie podłącz 2 kondensatory o wartości 33pF do masy. Teraz podłącz pin #31(VSS) do masy.
Na koniec podłącz diodę LED i rezystor 10k Ohm do pinu #21(RD2) aby umożliwić wgranie programu.

(Electronic Components)
Aby błysnąć diodami LED przy użyciu PIC16F877A, podłącz diody LED pomiędzy PORTD i masę. Ponieważ potrzebujemy migać tylko jedną diodę LED, możemy połączyć ją z rezystorem 10k Ohm. Musimy skonfigurować PORT-D jako wyjście, ustawiając go na przejście z wysokiego na niskie, używając zatrzasku wyjściowego do zapalenia diody LED.
Możemy ustawić PORT-D na przejście low-to-high poprzez zapis 0x01 do rejestru Data Direction Register (DDRB). Aby ustawić PORT-D na stan wysoki, musimy zapisać 0x00 do rejestru DDRB, a to spowoduje włączenie diody LED.
Podsumowanie
W tym artykule poznaliśmy PIC 16F877, jego cechy oraz port wejścia/wyjścia w PIC16F877A. Mamy nadzieję, że Ci się podobało!
Jeśli jesteś zainteresowany mikrokontrolerem PIC, możesz również przeczytać inne nasze artykuły. Ponadto, jeśli masz jakiekolwiek pytania dotyczące PIC16F877, nie krępuj się skontaktować z nami.
