nøjagtighed Oscillator Speed

E

ericmar

Guest
Kære alle,

Jeg hv et spørgsmål her.Jeg er bare gad vide, hvordan at finjustere timingen af min forsinkelse, så jeg får præcis 1ms eller endda 1us.

For eksempel,
Hvis jeg bruger en 4.91MHz resonator, programmering af en PIC16F676 hjælp af Hi-Tech PICC compiler forsinkelse prøve kode.Wat har jeg brug for at ændre prøven koden, så jeg kan få nøjagtige forsinkelse?Jeg tror, at prøven kode definerer clock hastighed som 4MHz.Nedenfor er prøven kode:

Kode:/ *

* Delay funktioner

* Se delay.h for detaljer

*

* Sørg for, at denne kode er kompileret med fuld optimering!

* /# include "delay.h"void

DelayMs (unsigned char cnt)

(

# hvis XTAL_FREQ <= 2MHZ

do (

DelayUs (996);

) While (- cnt);

# endif# hvis XTAL_FREQ> 2MHZ

unsigned char i;

do (

i = 4;

do (

DelayUs (250);

) While (- i);

) While (- cnt);

# endif

)

 
Find og åbn 'delay.h' fil - det er derinde:

ifndef XTAL_FREQ
# define XTAL_FREQ 4MHZ / * Crystal frekvens i MHz * /
# endif

Du kan ændre 4MHz til din frekvens, eller du kan tilføje # define i din kode * før * den # include "delay.h" linje, som denne:

# define XTAL_FREQ 4.91MHZ
# include "delay.h"

Den måde, din definition tilsidesætter standard, når »delay.h" er inkluderet.

Skål,
FoxyRick.

 
FoxyRick skrev:

Find og åbn 'delay.h' fil - det er derinde:ifndef XTAL_FREQ

# define XTAL_FREQ 4MHZ / * Crystal frekvens i MHz * /

# endifDu kan ændre 4MHz til din frekvens, eller du kan tilføje # define i din kode * før * den # include "delay.h" linje, som denne:# define XTAL_FREQ 4.91MHZ

# include "delay.h"Den måde, din definition tilsidesætter standard, når »delay.h" er inkluderet.Skål,

FoxyRick.
 
OK, sorry, har du gøre dette:* Indstil krystal frekvens i CPP prædefinerede symboler liste
* På PICC-18 kommando linje, fx
* Picc18-DXTAL_FREQ = 4MHZ

FoxyRick.

 
Ok her er en meget præcis metode .... forsøge at kombinere HT pic med MPLAB .....
Jeg mener i MPLAB gå til projektet ... i at gå for at indstille sproget værktøj sted ...... der vælger htpic og give sin placering ......
igen gå til at vælge sprog værktøj passer til ..... der at vælge htpic ....
nu tilføje ur fil og hver en ting .... så gå til fejlsøger fanen .... der vælger MPLAB sim ....
ok ok sidste skridt ..... gå til fejlsøger fanen ... og vælg stopur ...
nu tilføje break point mellem hvilke u ønsker at måle det ... det vil give u den samlede ingen instruktion henrettet .... inddele krystal freq med 4 og gange det med nogen af instruktioner .... og walaa den samlede nøjagtige tid ....

eller gå til fejlsøger fane en vælge indstillinger .... ændre krystal freq fra 20 til ur en ....det stopur vil give u det endelige resultat ....

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Meget glad" border="0" />
 
eller bare mere simpelt, så brug en højere frekvens af OSC
og du vil se mirakler ..............

 
mere aqured timing du nødt til at tænke ud fra boksen.
forsøge at indhente den forsinkelse ved hjælp af timerne fra microcontroler.Timeren kan setup til at yde den service, du har brug for.

 

Welcome to EDABoard.com

Sponsor

Back
Top