Nøyaktig timing er viktig i mikrokontrollere applikasjoner som motorkontroll, kommunikasjonsprotokoller og sensordatainnsamling. Beregner de riktige timerinnstillingene sikrer nøyaktig kontroll og synkronisering i disse systemene. Denne artikkelen forklarer de grunnleggende trinnene for å bestemme timerkonfigurasjoner for mikrokontrollere.

Forstå Timer Moduler

Mikrokontrollere inkluderer vanligvis maskinvare timer moduler som kan generere forsinkelser, måle tidsintervaller eller utløse hendelser med bestemte intervaller. Disse timerne opererer basert på en klokkekilde, som kan være hovedsystemklokken eller en ekstern klokke. Timerens oppløsning og maksimalt antall avhenger av sin bitbredde og klokkefrekvens.

Beregner timer teller

For å angi en timer for en bestemt forsinkelse, må du bestemme antall timer som kreves. Den grunnleggende formelen er:

Timer teller = Ønsket tid × Timer frekvens

Timerfrekvensen er avledet fra hovedklokken delt med en forhåndsskalerverdi. For eksempel, hvis hovedklokken er 16 MHz og forskaleren er satt til 64, blir timerfrekvensen 250 kHz.

Eksempelberegning

Tenk deg at du vil ha en forsinkelse på 1 millisekund med en 16 MHz klokke og en forskaler på 64. Først, beregne timer frekvens:

Timerfrekvens = 16.000.000 Hz / 64 = 250.000 Hz

Deretter bestemme de antall som trengs:

Antall = 1 ms × 250.000 Hz = 0,001 s × 250 000 = 250 counts

Innstillinger for implementering av timer

Når de nødvendige tallene er kjent, konfigurerer timer-registrene i henhold til dette. Last inn tellingsverdien i timerens register, og angir forhåndsskalaen for å matche den beregnede verdien. La timeren begynne å telle, og konfigurere en avbryting eller pollingsmetode for å oppdage når timeren når målet teller.

  • Bestem ønsket forsinkelsestid.
  • Beregn tidstakerfrekvensen basert på hovedklokken og prescaler.
  • Beregne tidsberegningen som trengs for forsinkelsen.
  • Konfigurer timerregistrerer med de beregnede verdiene.
  • Start timeren og håndtere hendelsen når den er ferdig.