Wiedzieć o mikrokontrolerach PIC i ich architekturze wraz z objaśnieniem

Wiedzieć o mikrokontrolerach PIC i ich architekturze wraz z objaśnieniem

PIC to Mikrokontroler interfejsu peryferyjnego który został opracowany w 1993 roku przez General Instruments Microcontrollers. Jest sterowany programowo i zaprogramowany w taki sposób, że wykonuje różne zadania i steruje linią wytwórczą. Mikrokontrolery PIC są używane w różnych nowych aplikacjach, takich jak smartfony, akcesoria audio i zaawansowane urządzenia medyczne.



Mikrokontrolery PIC

Mikrokontrolery PIC

Na rynku dostępnych jest wiele PIC, od PIC16F84 do PIC16C84. Te typy PIC to niedrogie PIC flash. Firma Microchip niedawno wprowadziła chipy flash różnych typów, takie jak 16F628, 16F877 i 18F452. Model 16F877 kosztuje dwa razy więcej niż stary 16F84, ale jest osiem razy większy niż rozmiar kodu, z większą pamięcią RAM i znacznie większą liczbą pinów I / O, UART, przetwornikiem A / D i wieloma innymi funkcjami.






Architektura mikrokontrolerów PIC

Plik Mikrokontroler PIC jest oparty na architekturze RISC. Jego architektura pamięci jest zgodna ze wzorcem Harvardu z oddzielnymi pamięciami dla programu i danych, z oddzielnymi magistralami.

Architektura mikrokontrolera PIC

Architektura mikrokontrolera PIC



1. Struktura pamięci

Architektura PIC składa się z dwóch pamięci: pamięci programu i pamięci danych.

Pamięć programu: To jest przestrzeń pamięci 4K * 14. Służy do przechowywania instrukcji 13-bitowych lub kodu programu. Dostęp do danych pamięci programu uzyskuje się przez rejestr licznika programu, który zawiera adres pamięci programu. Adres 0000H jest używany jako przestrzeń pamięci resetowania, a 0004H jest używana jako pamięć przerwań.

Pamięć danych: Pamięć danych składa się z 368 bajtów pamięci RAM i 256 bajtów pamięci EEPROM. 368 bajtów pamięci RAM składa się z wielu banków. Każdy bank składa się z rejestrów ogólnego przeznaczenia i rejestrów funkcji specjalnych.


Rejestry funkcji specjalnych składają się z rejestrów kontrolnych do sterowania różnymi operacjami zasobów chipa, takich jak timery, Przetworniki analogowo-cyfrowe , Porty szeregowe, porty I / O itp. Na przykład rejestr TRISA, którego bity można zmieniać, aby zmienić operacje wejścia lub wyjścia portu A.

Rejestry ogólnego przeznaczenia składają się z rejestrów, które służą do przechowywania tymczasowych danych i wyników przetwarzania danych. Każdy z tych rejestrów ogólnego przeznaczenia jest 8-bitowymi rejestrami.

Rejestr roboczy: Składa się z przestrzeni pamięci, która przechowuje operandy dla każdej instrukcji. Przechowuje również wyniki każdego wykonania.

Rejestr statusu: Bity rejestru statusowego oznaczają stan ALU (jednostki arytmetycznej) po każdym wykonaniu instrukcji. Służy również do wyboru dowolnego z 4 banków pamięci RAM.

Rejestr wyboru plików: Działa jako wskaźnik do dowolnego innego rejestru ogólnego przeznaczenia. Składa się z adresu pliku rejestrowego i jest używany w adresowaniu pośrednim.

Innym rejestrem ogólnego przeznaczenia jest rejestr licznika programu, który jest rejestrem 13-bitowym. Pięć górnych bitów jest używanych jako PCLATH (blokada licznika programu), aby niezależnie funkcjonować jak każdy inny rejestr, a dolne 8 bitów jest używanych jako bity licznika programu. Licznik programu działa jako wskaźnik do instrukcji przechowywanych w pamięci programu.

EEPROM: Składa się z 256 bajtów pamięci. Jest to pamięć trwała, podobnie jak ROM, ale jej zawartość można wymazać i zmienić w trakcie pracy mikrokontrolera. Zawartość pamięci EEPROM może być odczytywana lub zapisywana za pomocą specjalnych rejestrów funkcji, takich jak EECON1, EECON itp.

2. Porty we / wy

Seria PIC16 składa się z pięciu portów, takich jak Port A, Port B, Port C, Port D i Port E.

Port A: Jest to port 16-bitowy, który może być używany jako port wejściowy lub wyjściowy w oparciu o stan rejestru TRISA.

Port B: Jest to 8-bitowy port, który może być używany zarówno jako port wejściowy, jak i wyjściowy. 4 z jego bitów, gdy są używane jako wejście, można zmienić po sygnałach przerwania.

Port C: Jest to 8-bitowy port, którego działanie (wejście lub wyjście) jest określone stanem rejestru TRISC.

Port D: Jest to port 8-bitowy, który oprócz tego, że jest portem I / O, działa jako port slave do połączenia z mikroprocesor autobus.

Port E: Jest to port 3-bitowy pełniący dodatkową funkcję sygnałów sterujących do przetwornika A / D.

3. Zegary

Mikrokontrolery PIC składają się z 3 timery , z których Timer 0 i Timer 2 to 8-bitowe timery, a Time-1 to 16-bitowy timer, który może być również używany jako licznik .

4. Konwerter A / D

Mikrokontroler PIC składa się z 8-kanałowego, 10-bitowego przetwornika analogowo-cyfrowego. Działanie Konwerter A / D jest kontrolowany przez te rejestry funkcji specjalnych: ADCON0 i ADCON1. Dolne bity konwertera są przechowywane w ADRESL (8 bitów), a górne bity są przechowywane w rejestrze ADRESH. Do działania wymaga analogowego napięcia odniesienia 5V.

5. Oscylatory

Oscylatory są używane do generowania taktowania. Mikrokontrolery PIC składają się z zewnętrznych oscylatorów, takich jak kryształy lub oscylatory RC. W przypadku oscylatorów kwarcowych, kryształ jest połączony między dwoma pinami oscylatora, a wartość kondensatora podłączonego do każdego z pinów określa tryb pracy oscylatora. Różne tryby to tryb niskiego poboru mocy, tryb kryształu i tryb wysokiej prędkości. W przypadku oscylatorów RC wartość rezystora i kondensatora określa częstotliwość zegara. Częstotliwość zegara waha się od 30 kHz do 4 MHz.

6. Moduł CCP:

Moduł CCP działa w następujących trzech trybach:

Tryb przechwytywania: Ten tryb rejestruje czas nadejścia sygnału lub innymi słowy, przechwytuje wartość Timera1, gdy pin CCP osiąga stan wysoki.

Tryb porównania: Działa jako komparator analogowy, który generuje sygnał wyjściowy, gdy wartość timera1 osiągnie określoną wartość odniesienia.

Tryb PWM: To zapewnia modulowana szerokość impulsu wyjście z 10-bitową rozdzielczością i programowalnym cyklem pracy.

Inne specjalne urządzenia peryferyjne obejmują zegar Watchdog, który resetuje mikrokontroler w przypadku jakiejkolwiek awarii oprogramowania oraz reset Brownout, który resetuje mikrokontroler w przypadku jakichkolwiek wahań zasilania i innych. Aby lepiej zrozumieć ten mikrokontroler PIC, podajemy jeden praktyczny projekt, który wykorzystuje ten kontroler do jego działania.

Światło uliczne świecące po wykryciu ruchu pojazdu

To Projekt sterowania oświetleniem ulicznym LED jest przeznaczony do wykrywania ruchu pojazdu na autostradzie w celu włączenia poprzedzającego bloku świateł ulicznych oraz wyłączenia świateł tylnych w celu oszczędzania energii. W tym projekcie programowanie mikrokontrolera PIC odbywa się za pomocą wbudowany C lub język asemblera.

Światło uliczne świecące po wykryciu ruchu pojazdu

Światło uliczne świecące po wykryciu ruchu pojazdu

Obwód zasilania dostarcza energię do całego obwodu, obniżając, prostując, filtrując i regulując napięcie sieciowe AC. Gdy na autostradzie nie ma żadnych pojazdów, wszystkie światła pozostają wyłączone, aby można było zaoszczędzić energię. Czujniki podczerwieni są umieszczone po obu stronach drogi i wykrywają ruch pojazdów, a następnie wysyłają polecenia do mikrokontroler włączanie i wyłączanie diod LED. Blok diod LED będzie się świecił, gdy pojazd zbliża się do niego, a gdy pojazd zjeżdża z tej trasy, natężenie staje się niskie lub całkowicie się wyłącza.

Plik Projekty mikrokontrolerów PIC może być używany w różnych aplikacjach, takich jak urządzenia peryferyjne do gier wideo, akcesoria audio itp. Oprócz tego, w celu uzyskania pomocy dotyczącej projektów, możesz skontaktować się z nami, komentując w sekcji komentarzy.