Mikrokontrolery PIC w praktycznych zastosowaniach - Helion
Mikrokontrolery PIC w praktycznych zastosowaniach - Helion
Mikrokontrolery PIC w praktycznych zastosowaniach - Helion
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 />
{