Elektronika

Edukativni tekstovi iz sveta elektronike

Forum

Unapredimo zajedno sadržaj sajta

Mali oglasi

Postavite besplatno vaše male oglase iz elektronike.

Projekat

Projekti iz elektronike za samogradnju

Vesti

Saznajte najnovija dešavanja iz elektronike u svetu i kod nas

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

Popularity: 29% [?]

Leave your response!

You must be logged in to post a comment.