Elektronika

Edukativni tekstovi iz sveta elektronike

Komponente

Opisi komponenata koje se koriste u elektronici

Novosti

Najnovije vesti iz elektronike i ostalih srodnih oblasti

Projekat

Projekti iz elektronike za samogradnju

Rečnik

Rečnik pojmova iz elektronike i računarstva

Početna » Programiranje

Konfigurisanje rada PIC mikrokontrolera

Autor | Subota, 27. Jun 2009.Nema komentara

Svaki mikrokontroler ima svoje konfiguracione bite preko kojih se mogu podešavati razni parametri mikrokontrolera. Ti parametri mogu biti: zaštita programa od iščitavanja, zaštita iščitavanja eeprom-a, postavljanje mikrokontrolera u debug mod, uključivanje watchdog timer-a, izbor vrste oscilatora koji se koristi sa mikrokontrolerom,… i druge opcije. Opcije koje se mogu podešavati zavise isključivo od vrste mikrokontrolera i za konkretan spisak opcija treba pogledati uputstvo od mikrokontrolera sa kojim se radi.

Programski jezik C, kompanije HiTech, obezbeđuje nam makro funkciju __CONFIG uz pomoć koje na jednostavan način možemo konfigurisati mikrokontroler. Ovaj makro ne ulazi u ANSI definiciju C jezika, nego je vezan za PIC mikrokontrolere. Koristi se na sledeći način:

__CONFIG(X);

Primetimo da na početku imena ovog makroa stoje dve donje crte, a X predstavlja konfiguracionu reč. Makro je definisan u biblioteci htc.h i treba je uključiti kada se on želi koristiti.

Imenovane konstante opcija mikrokontrolera, koje se mogu podešavati preko ove makro funkcije, definisane su za svaki mikrokontroler ponaosob u njemu odgovarajućem h fajlu. Za detaljnije specifikacije ovih opcija potrebno je pogledati odgovarajuće uputstvo mikrokontrolera. Nazivi ovih opcija su uglavnom identični sa njihovim nazivima koji su dati u uputstvu.

Neki mikrokontroleri mogu imati i više konfiguracionih reči. One su poređane u nizu jedna za drugom. U tom slučaju potrebno je kreirati onoliko poziva makroa __CONFIG koliko ima konfiguracionih reči. Svaki poziv makroa __CONFIG modifikovaće podatke sledeće konfiguracione reči u nizu.

Primer korišćenja makro-a __CONFIG u programu


#include
  __CONFIG(LVPDIS&HS&PROTECT&PWRTEN&WDTDIS);
void main(void) {
  ...
}

Konfiguracioni biti PIC mikrokontrolera

Izbor oscilatora

Oscilator mikrokontrolera može biti kreiran od otpornika i kondenzatora. Koristi se u slučajevima kada je potrebno kreirati izuzetno jeftin sistem u kojem nije bitna tačna učestanost rada mikrokontrolera. Mikrokontroleru se saopštava da radi sa ovakvim oscilatorom tako što se određeni biti konfigurišu preko makro __config sa bitom:

  • RC – RC oscilator(resistor/capacitor)

U slučajevima kada se koristi kristalni oscilator može se izabrati jedna od sledećih opcija za podeđavanje:

  • HS – high speed crystal/resonator
  • XT – crystal/resonator
  • LP – low power crystal/resonator

Watchdog

Watchdog tajmer služi za nadgledanje ispravnog rada mikrokontrolera i njegovo uključivanje i isključivanje se vrši pomoću:

  • WDTEN – Omogući watchdog tajmer
  • WDTDIS – Onemogući watchdog tajmer

Power up timer

Ovaj tajmer omoućava odložen start izvršavanja programa mikrokontrolera za 72 milisekunde + 1024 ciklusa oscilatora.

  • PWRTEN – Omogući power up tajmer
  • PWRTDIS – Onemogući power up tajmer

Brown out reset

Ukoliko se detektuje pad napona napajanja i Brown out reset je uključen tada će mikrokontroler ući u reset stanje i ostati u tom stanju sve dok se napon napajanja ne stabilizuje.

  • BOREN – Omogući brown out reset
  • BORDIS – Onemogući brown out reset

Pad napona napajanje, za većinu PIC mikrokontrolera koji rade na 5V, sa kojim se uključuje brown-out reset treba da se nalazi oko 4V.

Low Voltage Programmable

PIC mikrokontroleri se mogu programirati i pri niskom naponu.

  • LVPEN – Omogućeno programiranje pri niskom naponu
  • LVPDIS – Onemogućeno programiranje pri niskom naponu

Data code protected

  • DP – protect data code

Alternativno mogu se upotrebiti i opcije u obliku

  • DPROT – koristiti DP
  • DUNPROT – koristiti UNPROTECT

Flash memory write enable/protect

Program mikrokontrolera se može čitati preko EECON registara ukoliko je WRTEN omogućen.

  • WRTEN – upis u fleš memoriju omogućen
  • WRTDIS – upis u fleš memoriju onemogućen/zaštićen

Debug option

Ukoliko se želi koristiti neki debager sa mikrokontrolerom, tada je neophodno podesiti sledeće opcije:

  • DEBUGEN – debager uključen
  • DEBUGDIS – debager isključen

Ukoliko se ne koristi debager tada su pinovi RB7 i RB6 klasični ulazno/izlazni pinovi. U slučaju korišćenja debagera, RB6 i RB7 su specijalni pinovi, preko kojih se komunicira sa jezgrom mikrokontrolera i ne mogu se koristiti kao regularni pinovi.

Code protection

U nekim situacijama potrebno je zaštititi program koji se upisuje u mikrokontroler od naknadnog isčitavanja istog i bespravnog kopiranja. To se lako postiže na sledećim opcijama:

  • PROTECT – onemogući eksterni pristup programskoj memoriji
  • UNPROTECT – omogući eksterni pristup programskoj memoriji

Leave your response!

You must be logged in to post a comment.