Timer0 som 16-bit i 16f877?

C

coolchip

Guest
Er det muligt at manipulere tmr0 som en 16-bit ekstern impulstæller?
Jeg ønsker at måle puls, der kan gå op til 2.800 pulser pr sekund.
Tak!

 
for PIC16F84A:

RA4 ...input sig.
counter indstillingen:
: bsf OPTION_REG,T0CS ; counter mode

sæt T0CS:
BSF OPTION_REG, T0CS; counter mode: bcf OPTION_REG,T0CS ; increment by rising edge

klar T0SE:
BCF OPTION_REG, T0CS; forøges med stigende kant: bcf OPTION_REG,TSA ; timer/counter prescaler

klar PSA:
BCF OPTION_REG, TSA; timer / counter Prescaler: binary:011 ;...

re / sæt PS2: PS0:
binær: 011; ...sæt Prescaler værdi for exa: 1:16
0
0
011
'

movlw b'11 1 0

0 011
"
movwf OPTION_REGmåling:
- Klar counter
- Optælling 1sek;
- Efter 1sek er i Timer0 count/16;
- Input freq.er Timer0 * 16 [/ i]

 
Tak for hjælp!
Er der ikke en større chance for manglende impulser i din metode?
Jeg leder efter en mere præcis måde.

 
for PIC16F84A:

RA4 ...input sig.
counter indstillingen:

sæt T0CS: BSF OPTION_REG, T0CS; counter mode
klar T0SE: BCF OPTION_REG, T0CS; forøges med stigende kant
klar PSA: BCF OPTION_REG, TSA; timer / counter Prescaler: binary:000 ;...

re / sæt PS2: PS0:
binær: 000; ...sæt Prescaler værdi for exa: 1:2
'

movlw b'11100 000
«
movwf OPTION_REGmåling:
- Klar Timer0 & help_counter
- Optælling 1sek:
- Når Timer0 overflovs, => afbryde ringer ud, her help_counter 1
- Efter 1sek er i hlep_counter & Timer0 ...resultat
- Input freq.er 2 * (Timer0 256 * help_counter)

 

Welcome to EDABoard.com

Sponsor

Back
Top