elomax

[ Techniek ] [ Shop ] [ Site map
Inleiding ] Processor ] Ontwikkelomgeving ] Interrupts ] Digitale I/O ] Seriele communicatie ] Timers ] A/D Conversie ] [ Puls teller ] SPI ] Watchdog ] Clock monitor ] EEPROM ] Configuratie ] Ontwerp technieken ] Toepassings voorbeeld ]

Terug
Omhoog

De pulsteller

De puls teller is een 8-bits teller, die pulsen kan tellen uit één van twee bronnen. De pulsteller is uitgevoerd in hardware, zodat ook snelle pulstreinen geteld kunnen worden.

Teller ingang

Als eerste kan gekozen worden de teller het aantal pulsen te laten tellen die op een ingang worden aangeboden. Deze ingang bevindt zich op PA7.

Wanneer externe pulsen worden geteld, kan met het PEDGE bit in het PACTL register worden bepaald of de teller opgaande flanken telt (PEDGE is een '1'), of neergaande flanken (PEDGE is een '0'.)

Als tweede kan gekozen worden de teller intern opgewekte pulsen te laten tellen, waarbij het tellen kan worden gestart en gestopt door het signaal op PA7. De interne pulsen hebben een frequentie van 31250 Hz.

Wanneer interne pulsen worden geteld, kan met het PEDGE bit in het PACTL register worden bepaald of de teller alleen telt wanneer PA7 een '1' is (PEDGE is een '0'), of alleen telt wanneer PA7 een '0' is (PEDGE is een '1'.)

De gewenste bron voor de puls teller wordt geprogrammeerd via het PAMOD bit in het PACTL register. Als dit bit een '1' is, zal de teller intern opgewekte pulsen tellen. Met dit bit op '0', telt de teller de pulsen die worden aangeboden op PA7.

Het aantal getelde pulsen kan worden gelezen via het PACNT register.

Pulsteller aan- en uitzetten

De puls teller kan worden aan- en uitgezet door middel van het PAEN bit in het PACTL register. Als de puls teller gebruikt wordt, moet dit bit een '1' zijn.

Interrupts door de pulsteller

De puls teller kan twee soorten interrupts genereren. Er kan een interrupt gegenereerd worden wanneer de teller van 255 weer terug op 0 komt. Deze overflow genereert een interrupt wanneer het PAOVI bit in het TMSK2 register een '1' is. Daarnaast wordt bij een overflow het PAOVF bit in het TFLG2 register een '1' gemaakt. Dit bit kan worden teruggezet op '0' door op deze plaats in het TFLG2 register een '1' te schrijven.

De puls teller is tevens in staat een interrupt te genereren voor iedere actieve flank op de PA7 pin. Via het PEDGE bit in het PACTL register is geprogrammeerd of dit een opgaande of een neergaande flank is. Deze interrupt kan worden aangezet door het PAII bit in het TMSK2 register een '1' te maken. Behalve dat elke actieve flank op PA7 een interrupt kan genereren, wordt het PAIF bit in het TFLG2 register een '1' gemaakt. Dit bit kan worden teruggezet op '0' door op deze plaats in het TFLG2 register een '1' te schrijven.

Registers voor de pulsteller

De registers die voor de instellingen van de pulsteller van belang zijn, zijn:

 

PACTL $1026

ddra7

paen

Pamod

pedge

ddra3

i4o5

rtr1

rtr0

 

PACNT $1027

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0


TMSK2 $1024

toi

rtii

Paovi

paii

-

-

pr1

pr0

 

TFLG2 $1025

tof

rtif

Paovf

paif

-

-

-

-

 

© 2005...2008 Elomax [Voorwaarden ]