PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frequenzzähler



Mr-400-Volt
27.05.2007, 21:21
Hallo, ich bin gerade dabei mir einen Frequenzzähler zu bauen. Bei der Testhardware lege ich das zu messende Signal an den PinD4 eines Mega8 an, der mit 16Mhz getacktet ist. Ohne einen Teiler erreiche ich eine max. Frequenz von 5Mhz. Ich habe einen Oszillator mit 4.915200Mhz angeschloßen, und erhalte 4.917504Mhz als ergebniss. Ich würde euch bitten, mal über meinen Code zu fliegen, ob mann das ganze noch etwas besser machen kann.

Danke !!!



$regfile "m8def.dat"
$crystal = 16000000

Cls
Cursor Off

Dim Var As Word
Dim Frequ As Long

Config Portb = Output
Config Portd = Input

Config Timer0 = Counter , Edge = Rising 'Eingangssignal
Config Timer1 = Timer , Prescale = 256 ' Messzeit 1 sec.

On Timer0 Timer0_irq
On Timer1 Timer1_irq

Const Timervorgabe = 3036

Enable Timer0
Enable Timer1
Enable Interrupts

Start Timer1
Start Timer0

Dim Var1 As Byte
Dim Freq As Long
Dim W As Long

Portd.4 = 0

Do

Locate 1 , 1
Lcd Frequ
Waitms 60

Loop


Timer0_irq:
Incr Var
Return

Timer1_irq:
Timer1 = Timervorgabe
Stop Timer0
Stop Timer1
Frequ = Var * 256
Var = 0
Timer0 = 0
Start Timer1
Start Timer0
Return

Mr-400-Volt
28.05.2007, 13:42
Irgend etwas stimmt noch nicht. Ich kann keine Frequenzen kleiner 10Khz messen, und die empfindlichkeit nimmt ab.......Bitte um Hilfe !!!