PIC16F84A Timming

S

seadolphine2000

Guest
Ahoj, ..

Mám PIC16F84A a udělal jsem spoustu projektů a jejich práce je pokuta až na jednu věc, která je timming.Udělal jsem časovač se 7-seg.že počítat do 99, jsem psal software se zpožděním 1000msec mezi jedním počítat a další, ale když jsem použít stopky pro kontrolu času jsem zjistil, že 10 se počítá s PIC, aby 21 sekund na hodinky.

Nějaké nápady, proč tento happends .????

PS: I používat 4MHz krystal a dva kondenzátory 22pF.

Díky za pomoc.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />
 
Bez znalosti kódu na počítání času je nemožné radu, co by mohlo být možné problém.
Pokud jste byli někteří ls ven z pultu pak by to bylo docela normální odchylka, ale 210% vina je spíše suspicous ..
S pozdravem,
IanP

 
Možná byste zvýšit počítadlo dvakrát před oddechový čas.Takže vaše pic hodinky jde rychle.

regrads,

 
Zde je kód:
Citace:program xdisplay2adim i jako byte

dim j jako byte

dim V. byte

dim por1 jako byte

dim por2 jako bytesub funkce maska (dim num jako byte) jako byte 'Tato funkce vrací maskySelect Case num 'pro společnou katodou 7-seg.
zobrazení

case 0 vysledek = $ 3F

Případ 1 výsledek = 06 dolarů

případě 2 vysledek = $ 5B

Případ 3 vysledek = $ 4F

případě výsledek: 4 = 66 dolarů

Případ 5 vysledek = $ 6D

Případ 6 vysledek = $ 7D

Případ 7 vysledek = 07 dolarů

Případ 8 vysledek = $ 7F

Případ 9 vysledek = $ 6F

konec select'case konec

End Subsub řízení přerušitkdyž v = 0 then

portb = por2 'připravit masku pro číslice

Porta = 1 'pak v 1., 2. vypnout 7seg.

v = 1

jiný

portb = por1 'připravit masku pro číslice

Porta = 2 'zapnout 2nd, vypněte 1. 7seg.

v = 0

end if

TMR0 = 0

INTCON = 20 dolarů

End Subhlavní:

OPTION_REG = 80 dolarů

por2 = $ 3F

j = 0

TMR0 = 0

INTCON = $ A0 'Zakázat PEIE, INTE, RBIE, T0IE

trisa = 0

trisb = 0

portb = 0

Porta = 0

dělat

pro i = 0 až 99 'počítat 0 - 99

j = i mod 10

POR1 = maska (j) 'připravit odpovídající číslice

j = (i div 10) mod 10

POR2 = maska (j) 'připravit odpovídající číslice

Delay_ms (1000)

Dále jsem

smyčka, dokud falešný

konce roku.

 
Ahoj, omlouvám se mým špatným anglicky

Výuka časování (pro všechny instrukce) nejsou rovná, ověřit drobet datovém listu, tedy a můžete zvyšovat s "nop" tentokrát.Její společný problen pro mě, "test a omylu" Metod prováděn solucion.

jde o

 
hai

pro málem i druhý zpoždění, můžete použít timer0 v časovač
generovat 10.00001ms zpoždění
měli byste načíst hodnotu 0xD9 v TMR0
a volba = 0x07
To znamená, že používáte timer0 ve funkci časovače s poměrem 1:256
to bude fungovat velmi dobře, budete mít přesnější hodnotu

mnoho štěstí

 
Chcete-li být upřímný, to není můj software.Našel jsem to v tutoriálu, který je dodáván s mikrobasic program (tutorial v příloze).Zkontrolujte Kapitola 7

Snažím se pochopit kód nyní, ale tento problém časem se mi zmatená, já zkouší to znovu 3 krát a výsledek byl stejný: 10 sekund na stopky = 21 sekund PIC.

Pokud máte nějaké představy o můj problém, prosím, řekni mi, jednoduchým způsobem.

Díky vám všem.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
k pvinbox (at) yahoo.com

Jak se vám dtermine poměr časovače??
tnx.rosario15

 

Welcome to EDABoard.com

Sponsor

Back
Top