Timer functies
De 68HC11 heeft verschillende soorten timers aan boord. De timers in de
micro-controller bestaan uit zogeheten 'input-capture' timers, en
'output-compare' timers.
Beide timer typen werken nauw samen met een 16-bits vrijlopende interne
teller, die met een vaste frequentie met één verhoogd wordt. Deze
teller, 'free-running counter' ofwel 'vrijlopende teller' genoemd, werkt
als tijdbasis voor beide timer-systemen. De snelheid waarmee deze
tijdbasis loopt, is afgeleid van de klok voor de processor, en dus
uiteindelijk van het op de micro-controller aangesloten kristal. Aangezien
een kristal een vrij nauwkeurige en stabiele frequentie afgeeft, is ook de
tijdbasis voor de timersystemen stabiel en nauwkeurig.
Input-capture timers worden gebruikt om gebeurtenissen uit de
buitenwereld te meten, en werken dus als ingangen. Een 'input-capture'
register is een register waarin de stand van de free-running counter wordt
opgeslagen op het moment dat een extern signaal bijvoorbeeld een '1'
wordt. Later kan de micro-controller dan aan de inhoud van het 'capture'
register zien op welk tijdstip de externe gebeurtenis plaats vond. De
software in de micro-controller hoeft niet onmiddelijk te reageren op het
externe signaal. Het exacte tijdstip van de gebeurtenis werd immers al
door de I/O schakeling in een register opgeslagen. Hierdoor wordt het
mogelijk nauwkeurige metingen te doen. Doordat het tijdstip van de externe
gebeurtenis in principe door de hardware rond de input-capture schakeling
wordt gemeten, worden er minder zware eisen aan de software gesteld.
Output-compare timers worden gebruikt om gebeurtenissen in de
buitenwereld te besturen, en werken dus als uitgangen. Het is mogelijk om
de I/O schakeling rond een 'output-compare' zodanig te programmeren dat
bijvoorbeeld een pin van de micro-controller een '1' gemaakt wordt op het
moment dat de inhoud van de free-running counter gelijk wordt aan de
inhoud van het 'compare' register. Omdat het genereren van het uitgangs
signaal op exact het juiste moment door de I/O schakeling wordt verzorgd,
is het mogelijk nauwkeurige timing-pulsen te genereren. De software hoeft
alleen de gewenste waarde in het output-compare register te zetten, en
wanneer het juiste moment daar is, zal de hardware rond de output-compare
schakeling de uitgang setten, resetten of inverteren.
|