Also Softwaretechnisch kann man es so machen, dass du einen Timer so
einstellst, dass der Timerinterrupt jede Sekunde kommt. Du startest den
Timer, Zählst mit jedem Impuls einen Zähler hoch. Wenn der Interrupt
kommt, schaust du nach, wieviel Impulse du hast, machst mit der Info was
du willst (z.B. umrechnen/skalieren und anzeigen), löschst den Counter
wieder und startest den Timer neu.
Eine andere Möglichkeit wäre (sofern du noch evtl einen anderen Chip
nehmen kannst, z.b. aus der Reihe 18FxxK22) mit dem Timer 1 Gate Modul:
http://ww1.microchip.com/downloads/en/DeviceDoc/41565c.pdf - Seite 7.
Mit diesem kannst du den Takteingang messen und alles Mögliche damit
anstellen. z.B. kannst du die Dauer von Rising-Edge zu Rising-Edge
messen. Wenn du 500 Takte pro Sekunde hast, ist das eine Frequenz von
500Hz -> Periodendauer von 2ms. Der Vorteil hierbei wäre, dass du nicht
eine ganze Sekunde die Takte zählst und daraus den Mittelwert bildest,
sondern gleich die Frequenz hast und mit jedem Takt den aktuellen Wert
hast.
Dies geht natürlich auch ohne das Modul, also dass du mit einer
steigenden Flanke den Timer startest und bei der Nächsten stoppst und
guckst, wieviel Zeit verstrichen ist. Nur wird das mit dem Modul
angenehmer gehen.