Pic16F88 a jeho tmr0

Mala Kobyla Mala.Kobyla@seznam.cz
Čtvrtek Červen 23 11:03:22 CEST 2005


> A v tom preruseni vubec neukladate W a dalsi registry? To se pak muze 
> chovat
Ukladam.

> Tu preddelicku na WDT potrebujete?
(3.6864/4) / 96 = 9600, tim dostavam frekvenci od ktere odvozuju casy pro 
praci se siti.  TMR0 mi dobehne do 96, vynuluju ho a jedu dal. Tam je nejaka 
preddelicka zbytecna.

>A ta frekvence krystalu 3.6864MHz je taky k necemu nutna?
jednoduse se z toho dostane 9600 na USART
je prece jedno z jakeho krystalu budu odvozovat cas cca 1-5sec

> predpokladam ze ten procesor bude casem v te hlavni smycce delat jeste 
> neco dalsiho
nebude, v te smycce se jen pocka  cca 1-5sec a pak se pojede dal. Je to jen 
krapet delsi zpozdeni pri zapnuti.

> A nebo aspon misto counter=14 bych dal podminku counter>=14
nepomuze

> ta doba se opravdu meni mezi 2x a 3x?
misto 14 jsem dal 28, coz melo dat 2sec a vysledek byl vzdy odhadem 5-6 
sekund
mohu zkusit dat vic a stopnout to presne



MK2


----- Original Message ----- 
From: "Dusan Dolezal" <dolezal@zoner.com>
To: "'HW-news'" <hw-list@list.hw.cz>
Sent: Thursday, June 23, 2005 10:30 AM
Subject: RE: Pic16F88 a jeho tmr0


A v tom preruseni vubec neukladate W a dalsi registry? To se pak muze chovat
naprosto nevyzpytatelne, v te hlavni smycce zavolate movfw p_t2 a v tom
okaziku prijde preruseni a po jeho ukonceni mate ve W uplne neco jineho.

Mne to cele vubec pripada dost divne resene. Tu preddelicku na WDT
potrebujete? S ni by se to dost zjednodusilo, stacil by jeden counter. To
detekovani counteru bych taky spis soupnul do preruseni a nastavoval tam
nejaky flag nebo pocital sekundy, predpokladam ze ten procesor bude casem v
te hlavni smycce delat jeste neco dalsiho a mohlo by se vam stat, ze
propasnete ten spravny okamzik. A nebo aspon misto counter=14 bych dal
podminku counter>=14. A ta frekvence krystalu 3.6864MHz je taky k necemu
nutna? Ja pro neco, kde potrebuju presne merit cas, pouzivam vetsinou
krystal 3.2768MHz, na timeru mam preddelicku 1:32 a pak mi preruseni chodi
presne po 1/100s, s tim se moc pekne dela.

A jeste upresnujici dotaz, ta doba se opravdu meni mezi 2x a 3x? Cili neni
to pokazde stejne?

Dusan Dolezal

> -----Original Message-----
> From: hw-list-bounces@list.hw.cz
> [mailto:hw-list-bounces@list.hw.cz] On Behalf Of Mala Kobyla
> Sent: Thursday, June 23, 2005 9:30 AM
> To: hw-list@list.hw.cz
> Subject: Pic16F88 a jeho tmr0
>
> Dobry den,
>
> mam PIC16f88 a snazim se na nem pomoci tmr0 udelat zpozdeni v
> radu jednotek
> sekund.
> (Pracuju na DA a po zapnuti napajeni kazdy node nahodne ceka
> 1-5 sekund aby
> na siti nevznikl velky frmol.:)
>
> Mam krystal 3.6864MHz a nepouzivam prescaler.
>
> pocitam (3686400/4)/256 = 3600Hz (frekvence preruseni)
> 3600/256 = 14Hz (frekvence po vydeleni na 8bit registru)
> => po nacitani 14 v dalsim 8bit registru uplynula 1 sec.
>
> Kdyz to ale zkusim, dostavam casy delsi 2-3x.
> Nemam citac abych overil jestli krystal kmita spravne.
> Nechci pouzit tmr1.
>
> Kde delam chybu?
>
> MK2
>
> Tady je zdrojak ocistenej od banksel.
>
> ; inicializace -------------------------------------
> bcf  OPTION_REG, T0CS ; zdroj je Fosc/4
> bsf  OPTION_REG, PSA  ; prescaler je pouzit na WDT
> bsf  OPTION_REG, PS0  ; PS = 111
> bsf  OPTION_REG, PS1
> bsf  OPTION_REG, PS2
>
> bsf  INTCON, TMR0IE
> clrf p_t1
> clrf p_t2
>
> bsf  INTCON, GIE
>
> ; cekej tak dlouho dokud v preruseni nenacita do 14
> boot_1
> movfw    p_t2
> sublw    14        ;14=1sec
> bnz  boot_1
>
>
> ; kod preruseni --------------------------------
> intrpt_begin
>
> btfss INTCON, TMR0IF
> goto intrpt_end     ; ne
>
> bcf  INTCON, TMR0IF
>
> incf p_t1, F
> bnz  intrpt_end
>
> incf p_t2, F
> goto intrpt_end
>
> intrpt_end
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 




Další informace o konferenci Hw-list