14.02.2014 Views

Mikrokontrolery PIC w praktycznych zastosowaniach - Helion

Mikrokontrolery PIC w praktycznych zastosowaniach - Helion

Mikrokontrolery PIC w praktycznych zastosowaniach - Helion

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

32 <strong>Mikrokontrolery</strong> <strong>PIC</strong> w <strong>praktycznych</strong> <strong>zastosowaniach</strong><br />

Rysunek 2.27.<br />

Wybór programatora<br />

Rysunek 2.28.<br />

Uruchomienie procesu<br />

adowania programu<br />

do pamici flash<br />

mikrokontrolera<br />

Program zosta zaadowany. Aby ukad zacz dziaa, do MCLR naley podczy obwód<br />

RESET, o ile bylimy zmuszeni go odczy. Bardzo moliwe, e bdziemy zmuszeni<br />

take odczy od ukadu programator. W tym momencie dioda powinna wieci.<br />

Zajmijmy si teraz mruganiem diody. Wci programujemy ukad z rysunku 2.5. Duym<br />

uatwieniem bdzie dla nas obecno funkcji odmierzajcych czas. Zostay zaimplementowane<br />

w bibliotece kompilatora HI-TECH. Waciwie s to makra postaci:<br />

__delay_ms(unsigned long n);<br />

__delay_us(unsigned long n);<br />

//czekaj n ms<br />

//czekaj n s<br />

Korzystanie z nich wymaga wczeniejszego zdefiniowania nazwy _XTAL_FREQ prdkoci<br />

naszego oscylatora.<br />

#define _XTAL_FREQ 20000000<br />

Poniewa program nie zawiera wicej tajemnic, popatrzmy na jego kod.<br />

Listing R02_Prog01_C_<strong>PIC</strong>16F877A.c<br />

#include <br />

//definiujemy szybko oscylatora dla funkcji __delay_<br />

#define _XTAL_FREQ 20000000<br />

//oscylator szybszy od 10 MHz (FOSC_HS)<br />

//watchdog wyczony (WDTE_OFF)<br />

//wyczone LVP (Low-Voltage ICSP Programming) (LVP_OFF)<br />

__CONFIG(FOSC_HS & WDTE_OFF & LVP_OFF);<br />

void main()<br />

{

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!