
Výpočet frekvence a nastavení registru
Dobrý den poradno, velmi bych potřeboval pomoct s jedním příkladem který jsme dostali ve škole. Bohužel náš učitel nám to nechce znovu vysvětlit i když to nikdo nechápe a tak se snažíme sehnat pomoc kde to jde je to pro nás velmi důležité. Mohl by mi někdo pomoct? Děkuji mockrát
Zde je zadání:
Frekvence krystalového oscilátoru (fosc) je 2 MHz:
a) Určete, s jakou frekvencí bude časovač inkrementován.
b) Jaký čas odměříte s plným rozsahem osmibitového a šestnáctibitového čítače?
c) Jaké hodnoty je třeba přednastavit do registrů TIMER 0 a TIMER 1, abyste odměřili čas 50 ms? Pokud nebude některý z čítačů schopen tento čas odměřit, kolikrát bude muset přetéct, aby toho dosáhl? Používejte jen dělící poměr předděličky vedoucí na celočíselný výsledek.
Jde o MCU Microchip PIC16F887.
a) Mas to napisane v datasheete k tomu 16F887, k stiahnutiu je samozrejme na microchip.com, alebo google. Typicky maju tieto 8bitove PICy pracovnu frekvenciu fosc/4, t.j. v tvojom pripade 500kHz
b) to snad si sa ucil v 1.rocniku na zakl.skole. 2 ^8 * 1/50000, resp. 2^16 * 1/500000
c) to si pozri v datasheete tam je popis registrov. Ked programujes mikrokontroller tak si bez datasheetu ani neskrtnes.
P.S. ak mu ide len o hodnotu pre 50ms tak 50ms/2us = 25000. 16bitovemu citacu to vies nastavit rovno s delickou 1, 8bitovy citac musis delit: 25000/2 je cele cislo, /2 je cele cislo, /2 je cele cislo, t.j. delicka 8 dava este cele cislo 3125. Viac sa to delit neda, 3125/256 je 12 takze pretecie 12x. potom treba ratat este do 53.
alebo s tym 8bitovym to myslel inac, napr. ze nastavim delicku 4, max.hodnotu 250, a pretecie to presne 25 krat. Ta otazka je picovina ptz nema jednoznacne riesenie a v realite sa to robi nie takto dementne ale volbou spravneho oscilatora.