Pomoc Hi-tech PIC C Vypočítajte DelayMs & DelayUs Funkcia

W

winit_a

Guest
V súbore delay.c a delay.h
/ *
* Oneskoriť funkcií HI-TECH C pre PIC
*
* Funkcia dostupná:
* DelayUs (x) oneskoriť zadaný počet mikrosekund
* DelayMs (x) oneskoriť zadaný počet milisekúnd
*
* Majte na pamäti, že existuje rozsah obmedzenia: x nesmie prekročiť 255 - pre xtal
* Frekvencia> 12MHz rozmedzí pre DelayUs je ešte menšia.
* Ak chcete použiť DelayUs je nevyhnutné, len za účelom zaradenia tohto súboru, pre použitie
* DelayMs musíte zahrnúť delay.c vo vašom projekte.
*
* /

/ * Nastaví kmitočet kryštálu v CPP preddefinované symboly v zozname
HPDPIC, alebo o Picc commmand line,
napríkladPicc-DXTAL_FREQ = 4MHz

alebo
Picc-DXTAL_FREQ = 100kHz

Všimnite si, že to je krystal frekvenciu procesora hodiny
deleno 4.

*
Uistite sa,
že tento kód je zostavený s plnou optimalizáciu!

* /

# Ifndef XTAL_FREQ
#
Define XTAL_FREQ 4MHz / * Crystal frekvencie v MHz * /
# Endif

#
Define MHZ * 1000L / * počet kHz v MHz * /
#
Define KHz * 1 / * počet kHz v kHz * /

# Ak XTAL_FREQ> = 12MHz

#
Define DelayUs (x) (unsigned char _dcnt; \
_dcnt = (x) * ((XTAL_FREQ) / (12MHz)), \
while (- _dcnt! = 0) \
continue;)
# Ostatné

#
Define DelayUs (x) (unsigned char _dcnt; \
_dcnt = (x) / ((12MHz) / (XTAL_FREQ)) | 1; \
while (- _dcnt! = 0) \
continue;)
# Endif

extern void DelayMs (unsigned char);

-------------------------------------------------- ----------------------------
ak sú použité PIC16F877 Xtal 10MHz
Ako vypočítať meškanie funkcie
vo vzorke zložky nie je správny I test blikání LED v prístave PA0

while (1)
(
PA0 = 0;
delayms (1000) / / Na 1sec
PA0 = 1;
delayms (1000) / / vypnuté 1 Sec
)

časové oneskorenie je rýchlejšie potom 1 Sec
Pomôžte mi prosím

 
Použite HPDPIC programu.Vytvorený nový projekt Značka => Nový projekt.Potom použite Značka => CPP pre-definovaný symbol ...stlačte F10 a písať _DXTAL_FREQ = 20MHz a potom ESC.

 
Nazdar!
Meškanie pri www.microchipc.com rutiny sú perfektní.
Don't prejsť vaue väčší ako 255, pretože funkcie sa unsigned znaky ako argumenty;
Veľa šťastia.

<img src="images/smiles/icon_biggrin.gif" alt="Veľmi Happy" border="0" />
 
Nazdar,

Ak čítate tento kód uvidíte niektoré linky, ktoré hovoria:

# Ifndef XTAL_FREQ#

Define XTAL_FREQ 4MHz / * Crystal frekvencie v MHz * /# EndifTam budete musieť zmeniť 4 do 20 hodín, takže právo rýchlosť bude nastavená.PIC dosnt vedieť, čo ste pripojení na vonkajšej!

Veľa šťastia.

 

Welcome to EDABoard.com

Sponsor

Back
Top