Delay med 16F84A

H

hassan1980

Guest
Hvordan laver man 31 dage forsinket, ved hjælp 16F84A?

Please help me.

 
Du skal blot skabe mere "tællere", dvs fil registre, der får dekrementeres.
For eksempel, hvis dit ur er 32.768kHz, og hvis du bruger TMR0 med en Prescaler på 32, så vil det overflow i: 32768/4/32/256 = 1 sekund.Det er, hver gang TMR0 overløb du ved, at en anden er gået
Hver gang det overløb, du formindske en tæller (initialiseret med et vist antal).For eksempel, hvis du formatere dette register til 60, derefter hver gang den når nul du kender et minut er gået.Derefter, når dette tælleren når nul, du formindske en ny tæller, der tæller minutter.Når 60 minutter er gået, du har 1 time.
Og så videre, op til 31 dage.

For en anden krystal frekvens, bare du har brug for at justere den første tællere for at få den anden, hvis du ønsker det.

En anden måde at gøre det på er simpelthen at beregne antallet af instruktion cyklusser i den periode, du skal ud og bruge binære tællere, hvis du ikke bekymre sig om sekunder og minutter.

 
du kan bruge realtidsuret RTC (chip), som f.eks DS1307 eller PCF8583.
i dette tilfælde din tidtager vil arbejde, selv når spændingen tabt.

 

Welcome to EDABoard.com

Sponsor

Back
Top