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







Zitieren
Lesezeichen