Hi, ich weiß diese Thema wurde schon sehr oft durchgekaut, aber je mehr Beiträge und Tutorials ich lese desto mehr blick ich nicht mehr durch...
Daher hoffe ich das ihr mir weiter Helfen könnt, ohne gleich ein würg-Reflex zu bekommen, wenn ihr den Titel lest. ;)
So nun zu meinen Anliegen.
Ich möchte gerne eine Frequenz (Rechteck) zwischen 1Hz und ca 1khz messen. Als Controller hab ich den Atmega16 mir ausgesucht.
Im Grunde soll das Programm so Funktionieren, das ab Frequenz X LED1 leuchtet, ab Frequenz Y LED2 usw. bis LED8 erreicht ist.
Als erstes habe ich versucht eine LED zu Toggeln wenn der Counter überläuft (siehe Code) jedoch funktioniert das schon nicht...
Und keine Angst ich möchte von keinem alles Vorgekaut haben, nur ein paar Tipps und Ideen auf die ich alleine nicht komme.Code:'Frequenzmessen
'---------------------------------
'Deklaration
'---------------------------------
$regfile = "m16DEF.DAT"
$crystal = 16000000
'---------------------------------
'Initialiserung:
'---------------------------------
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Input
Portd.6 = 1
Dim Frequenz As Word 'Frequenz als Word festelegen
Config Timer1 = Counter , Edge = Falling , Capture Edge = Falling , Noise Cancel = 1 , Prescale = 1 'Timer als Counter Festlegen
Enable Int0 'Interrupt Aktivieren
Enable Timer1 'Timer einschalten
Enable Interrupts ' Interrupts aktiv
On Timer1 On_timer1
'---------------------------------
'Hauptprogramm:
'---------------------------------
Portb.7 = 1 'Kontroll LED
Do
Loop
'---------------------------------
'Interrupt
'---------------------------------
On_timer1:
Toggle Portb.0
Return
End
Vielen Dank für eure Hilfe
Mfg Tryan