Hey,
ich habe mir ein AVR Buch gekauft und bin auch schon ein ganzes stück weiter, blos diese Aufgabe bekomme ich einfach nicht hin. Sitze hier nun schon 6 Stunden am Stück und Probiere. Wäre vielleicht jemand so nett mir zu helfen?
Der Code in meinem Beispiel soll kurz-kurz-lang sein und es soll bei richtiger Eingabe eine Led togglen. Sobald eine Taste falsch eingegeben wurde soll sich alles zurück setzen.
Code:$regfile = M8def.dat $crystal = 3686400 Config Portd = Output Config Portb = Input Portb = &B000000001 Ledtest Alias Portd.4 Led Alias Portd.3 Taster Alias Pinb.0 'Timer Config (jede 10ms Interrupt) Enable Timer0 Enable Interrupts Config Timer0 = Timer , Prescale = 256 Const Timervorgabe = 112 On Timer0 Ueberlauf Dim Lang As Bit Dim Kurz As Bit Dim Zler As Byte Dim Ged As Bit Dim Code_lang As Bit Dim Code_kurz As Bit Dim Erste_stelle As Bit Dim Zweite_stelle As Bit Do If Kurz = 1 Then 'wenn kurz = 1, dann Code_kurz setzen und kurz = 0 Set Code_kurz Kurz = 0 End If If Lang = 1 Then 'wenn lang = 1, dann Code_lang setzen und lang = 0 Set Code_lang Lang = 0 End If If Code_lang = 0 Then 'Erste Stelle vom Code (Kurz) If Code_kurz = 1 Then Set Erste_stelle Else Reset Erste_stelle End If End If If Code_lang = 0 Then 'Zweite Stelle vom Code (Kurz) If Code_kurz = 1 Then If Erste_stelle = 1 Then Set Zweite_stelle Else Reset Erste_stelle Reset Zweite_stelle End If End If End If If Code_lang = 1 Then 'Dritte Stelle vom Code (Lang) If Code_kurz = 0 Then If Erste_stelle = 1 Then If Zweite_stelle = 1 Then Toggle Led Else Reset Erste_stelle Reset Zweite_stelle End If End If End If End If Loop Ueberlauf: Timer0 = Timervorgabe If Taster = 0 Then 'Wenn Taster gedrückt Zler um einen erhöhen Incr Zler End If If Zler > 100 Then 'Wenn Zler größer als 100 "lang" setzen Lang = 1 End If If Zler <= 100 Then 'Wenn zler kleiner oder gleich 100... If Taster = 1 Then '...und der Taser nicht mehr gedrückt ist... Kurz = 1 '..."kurz" setzen End If End If If Kurz = 1 Then Led = 1 End If If Lang = 1 Then Led = 0 End If Return






Zitieren

Lesezeichen