Pic16F88 a jeho tmr0

Milan Horák stranger@tiscali.cz
Čtvrtek Červen 23 10:24:45 CEST 2005


Nepočítáte s časem, který zaberou instrukce ?

Milan

Mala Kobyla napsal(a):
> 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
> 



Další informace o konferenci Hw-list