W
winit_a
Guest
Nel file delay.c e delay.h
/ *
* Funzioni Delay per HI-TECH C su PIC
*
* Funzioni disponibili:
* DelayUs (x) Ritardo numero specificato di microsecondi
* DelayMs (x) Ritardo numero specificato di millisecondi
*
* Si noti che ci sono dei limiti range: x non deve superare i 255 - per xtal
Frequenze *> 12MHz la gamma di DelayUs è ancora più piccolo.
* Per utilizzare DelayUs è solo necessario includere questo file, da utilizzare
* DelayMs si deve includere delay.c nel progetto.
*
* /
/ * Impostare la frequenza di cristallo nel CPP predefiniti simboli elenco
HPDPIC, o sulla linea commmand PICC, ad esempio,
picc-DXTAL_FREQ = 4MHZ
o
picc-DXTAL_FREQ = 100KHZ
Si noti che questa è la frequenza di cristallo, il clock della CPU è
diviso per 4.
* Assicurarsi che questo codice è compilato con ottimizzazione completa!
* /
# ifndef XTAL_FREQ
# define XTAL_FREQ 4MHZ / * Crystal frequenza in MHz * /
# endif
# define MHZ * 1000L / * numero di kHz in una MHz * /
# define KHZ * 1 / * numero di kHz in un kHz * /
# se XTAL_FREQ> = 12MHZ
# define DelayUs (x) (_dcnt unsigned char; \
_dcnt = (x) * ((XTAL_FREQ) / (12MHz)); \
while (- _dcnt! = 0) \
continue
# else
# define DelayUs (x) (_dcnt unsigned char; \
_dcnt = (x) / ((12MHz) / (XTAL_FREQ)) | 1; \
while (- _dcnt! = 0) \
continue
# endif
DelayMs extern void (unsigned char);
-------------------------------------------------- ----------------------------
se usato PIC16F877 Xtal 10MHz
Come calcolare il tempo di ritardo funzione
nella cartella del campione non è corretta I test LED lampeggiano in PA0 porto
while (1)
(
PA0 = 0;
delayms (1000) / / Il 1sec
PA0 = 1;
delayms (1000) / / Off 1 Sec
)
ritardo di tempo è più veloce poi 1 Sec
Help me please
/ *
* Funzioni Delay per HI-TECH C su PIC
*
* Funzioni disponibili:
* DelayUs (x) Ritardo numero specificato di microsecondi
* DelayMs (x) Ritardo numero specificato di millisecondi
*
* Si noti che ci sono dei limiti range: x non deve superare i 255 - per xtal
Frequenze *> 12MHz la gamma di DelayUs è ancora più piccolo.
* Per utilizzare DelayUs è solo necessario includere questo file, da utilizzare
* DelayMs si deve includere delay.c nel progetto.
*
* /
/ * Impostare la frequenza di cristallo nel CPP predefiniti simboli elenco
HPDPIC, o sulla linea commmand PICC, ad esempio,
picc-DXTAL_FREQ = 4MHZ
o
picc-DXTAL_FREQ = 100KHZ
Si noti che questa è la frequenza di cristallo, il clock della CPU è
diviso per 4.
* Assicurarsi che questo codice è compilato con ottimizzazione completa!
* /
# ifndef XTAL_FREQ
# define XTAL_FREQ 4MHZ / * Crystal frequenza in MHz * /
# endif
# define MHZ * 1000L / * numero di kHz in una MHz * /
# define KHZ * 1 / * numero di kHz in un kHz * /
# se XTAL_FREQ> = 12MHZ
# define DelayUs (x) (_dcnt unsigned char; \
_dcnt = (x) * ((XTAL_FREQ) / (12MHz)); \
while (- _dcnt! = 0) \
continue
# else
# define DelayUs (x) (_dcnt unsigned char; \
_dcnt = (x) / ((12MHz) / (XTAL_FREQ)) | 1; \
while (- _dcnt! = 0) \
continue
# endif
DelayMs extern void (unsigned char);
-------------------------------------------------- ----------------------------
se usato PIC16F877 Xtal 10MHz
Come calcolare il tempo di ritardo funzione
nella cartella del campione non è corretta I test LED lampeggiano in PA0 porto
while (1)
(
PA0 = 0;
delayms (1000) / / Il 1sec
PA0 = 1;
delayms (1000) / / Off 1 Sec
)
ritardo di tempo è più veloce poi 1 Sec
Help me please