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