Kavēšanās 16F84a

H

hassan1980

Guest
Kā veikt 31 dienu kavēšanos, izmantojot 16F84A? Lūdzu, palīdziet man.
 
Vienkārši izveidot vairāk "skaitītāju", kas ir fails reģistri, iegūt decremented. Piemēram, ja jūsu pulkstenis ir 32.768kHz un, ja jūs izmantojat TMR0 ar prescaler 32, tad tas pārslodzi: 32768/4/32/256 = 1 sekunde. Tas ir, katru reizi, kad TMR0 pārplūšanas jūs zināt, ka otrs ir pagājusi Katru reizi, kad to pārplūšanas, jūs samazināšanās skaitītājs (inicializēts ar noteiktu skaitu). Piemēram, ja jūs sāktu šo reģistru līdz 60, tad katru reizi, kad tas sasniedz nulli jūs zināt minūtes ir pagājušas. Tad, kad vien tas counter sasniedz nulli, jūs samazināšanās vēl skaitītājs, kas skaita minūtes. Ja 60 minūtes ir pagājušas, jums ir 1 stunda. Un tā tālāk, līdz pat 31 dienām. Citam kristāla frekvences, jums ir nepieciešams pielāgot pirmajā skaitītāji, lai iegūtu otro, ja vēlaties. Vēl viens darīt veids ir vienkārši aprēķināt, cik mācību ciklu laikā jums ir nepieciešams, un tikai izmantot bināro skaitītāji, ja Jums nav rūp sekundes un minūtes.
 
Jūs varat izmantot reālā laika pulksteni RTC (mikroshēmu) kā DS1307 vai PCF8583. Šajā gadījumā jūsu taimeris darbosies pat tad, ja strāvas zaudēts.
 

Welcome to EDABoard.com

Sponsor

Back
Top