LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

[PRZYKŁADY] Nowe peryferia w mikrokontrolerach Microchipa, czyli jak ponownie polubić 8-bitowce [1]

Jeżeli w konfiguracji zostanie zaznaczona opcja Enable Output Pin to sygnał z wyjścia generatora będzie mógł być wyprowadzony na dedykowany pin mikrokontrolera. Żeby było to możliwe, trzeba jeszcze skonfigurować to wyprowadzanie jako wyjście NCO. MPLAB Code Configurator ma specjalne narzędzie do konfigurowania wyprowadzeń o nazwie Pin Manager.

Po kliknięciu na przycisk Pin Manager w oknie Package trzeba wybrać obudowę mikrokontrolera (w naszym przypadku PDIP20) i pojawia się rysunek obudowy z zaznaczonymi na niebiesko wyprowadzeniami, które można przypisać do NCO. Wyprowadzenie RA5 może być wejściem sygnału zegarowego, a jedno z wyprowadzeń RC6, lub RC1 wyjściem sygnału z NCO. Ponieważ ustawiliśmy zliczanie impulsów z HFINTOSC, to wejście NCO nie będzie konfigurowane. Wyjście konfigurujemy klikając prawym klawiszem myszki na wyprowadzenia RC1 lub RC6 (zależnie od potrzeb). Po wybraniu na przykład RC1 i zatwierdzeniu kolor wyprowadzenia zmienia się z niebieskiego na zielony. Kolor zielony oznacza, że wyprowadzenie jest przypisane do modułu, a kolor niebieski, ze wyprowadzenie jest potencjalnie przeznaczone do modułu – pokazano to na rysunku 10.

 

Rys. 10. Przypisane wyjścia do NCO za pomocą Configurator Pin Manager

 

Configurator Pin Manager generuje swój własny plik pin_manager.c z funkcją PIN_MANAGER_Initialize() pokazaną na listingu 4.

 

List. 4. Funkcja inicjalizacji wyprowadzeń

void PIN_MANAGER_Initialize(void) {
  LATA = 0x00;
  TRISA = 0x3F;
  ANSELA = 0x17;
  WPUA = 0x00;

  LATB = 0x00;
  TRISB = 0xF0;
  ANSELB = 0x30;
  WPUB = 0x00;

  LATC = 0x00;
  TRISC = 0xFD;
  ANSELC = 0xCD;

  OPTION_REGbits.nWPUEN = 0x01;

  APFCON = 0x00;
}

Działanie NCO ze skonfigurowanym wyjściem można przetestować w naszym układzie testowym. Program po skompilowaniu należy zapisać za pomocą PICKit3 w pamięci programu mikrokontrolera. Jeżeli wszystko zostało wykonane prawidłowo, to na wyprowadzeniu RC1 powinien pojawić się sygnał prostokątny o wypełnieniu 50% i częstotliwości 1000Hz. Można poeksperymentować z ustawieniami częstotliwości lub wprowadzić tryb PF i zobaczyć jak układ się zachowuje. Nawet tak prosty program można po odpowiednim rozbudowaniu wykorzystać do budowy generatora przebiegu prostokątnego o precyzyjnie regulowanej częstotliwości.

NCO można wykorzystać także do bardziej zaskakujących zastosowań. Jednym z nich jest moduł PWM z przebiegiem o dużej rozdzielczości, co pokażemy w kolejnej części kursu.

Tomasz Jabłoński

 

Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC. Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.