Hallo Leute,
Ich habe unten stehenden Code zur Verfügung, der bisher mit einem LDR ausgelöst wurde , und möchte nun, das die Segmentanzeige startet, wenn innerhalb von 5min zwei Tasten nacheinander betätigt werden. Nach Ablauf dieser Zeit muss die erste Taste erneut betätigt werden. Sprich mit Taste 1 startet die ganze Sache und Taste 2 löst dann die Segmentanzeige aus.
Leider komme ich hier nicht ganz zurecht und hoffe unter euch jemanden zu finden, der mir da etwas helfen kann.
Bisher bekam ich immer nur als Antwort, lernen und suchen und lesen, dazu fehlt mir momentan leider etwas die Zeit ^^.
Code:$hwstack = 20 'hardwarestack herabsetzen damit genügend variablen zur verfügung stehen $regfile = "ATtiny24.DAT" $crystal = 128000 'Frequenz des internen Oszillators Config Adc = Single , Prescaler = Auto Config Portb = &B00000111 'Pinb.0-3 auf 'Ausgang', Rest auf 'Eingang' schalten Config Porta = &B10001011 'Pina.0+1+3+7 auf 'Ausgang', Rest auf 'Eingang' schalten Portb = 0 'Ausgänge auf Low setzen Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen Wdtcr = &B11010011 'Watchdog definieren: 0.125 Sekunden, Interrupt auslösen, kein Reset Enable Interrupts 'Interrupts freigeben Anzeige: Restore Daten 'Am Beginn der Daten anfangen Alt = 1023 'Doppelauslösung verhindern Do Read Zeichen Wdtcr = &B11010111 'Watchdog auf 2s stellen If Zeichen = "0" Then Gosub P0 'schreibt 0 ins Display If Zeichen = "1" Then Gosub P1 'schreibt 1 ins Display If Zeichen = "2" Then Gosub P2 'schreibt 2 ins Display If Zeichen = "3" Then Gosub P3 'schreibt 3 ins Display If Zeichen = "4" Then Gosub P4 'schreibt 4 ins Display If Zeichen = "5" Then Gosub P5 'schreibt 5 ins Display If Zeichen = "6" Then Gosub P6 'schreibt 6 ins Display If Zeichen = "7" Then Gosub P7 'schreibt 7 ins Display If Zeichen = "8" Then Gosub P8 'schreibt 8 ins Display If Zeichen = "9" Then Gosub P9 'schreibt 9 ins Display If Zeichen = "n" Then Gosub Pn 'schreibt n ins Display If Zeichen = "e" Then Gosub Pe 'schreibt E ins Display If Zeichen = "re" Then Gosub Rechts 'Lauflicht rechts herum If Zeichen = "li" Then Gosub Links 'Lauflicht links herum If Zeichen = " " Then Gosub Leer 'leerzeichen-keine Anzeige If Zeichen = "ost" Then Gosub East 'schreibt OSt ins Display If Zeichen = "nord" Then Gosub North 'schreibt nord ins Display If Zeichen = "p" Then Gosub Pp 'Pause zwischen Zeichen' Wdtcr = &B11010011 'Watchdog wieder auf 125ms stellen If Zeichen = "X" Then Return Loop Pp: Waitms 500 Return P0: Portb = &B00000111 Porta = &B10000011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P1: Portb = &B00000110 Reset Watchdog Powerdown Portb = 0 Return P2: Portb = &B00000011 Porta = &B10001010 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P3: Portb = &B00000111 Porta = &B00001010 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P4: Portb = &B00000110 Porta = &B00001001 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P5: Portb = &B00000101 Porta = &B00001011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P6: Portb = &B00000101 Porta = &B10001011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P7: Portb = &B00000111 Reset Watchdog Powerdown Portb = 0 Return P8: Portb = &B00000111 Porta = &B10001011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return P9: Portb = &B00000111 Porta = &B00001001 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return Pn: Portb = &B00000100 Porta = &B10001000 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return Pe: Portb = &B00000001 Porta = &B10001011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return Rechts: Wdtcr = &B11010100 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Portb = &B00000010 Reset Watchdog Powerdown Portb = 0 Portb = &B00000100 Reset Watchdog Powerdown Portb = 0 Porta = &B00000010 Reset Watchdog Powerdown Porta = 0 Porta = &B10000000 Reset Watchdog Powerdown Porta = 0 Porta = &B00000001 Reset Watchdog Powerdown Porta = 0 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Reset Watchdog Powerdown Portb = 0 Porta = 0 Portb = 0 Portb = &B00000010 Reset Watchdog Powerdown Portb = 0 Portb = &B00000100 Reset Watchdog Powerdown Portb = 0 Porta = &B00000010 Reset Watchdog Powerdown Porta = 0 Porta = &B10000000 Reset Watchdog Powerdown Porta = 0 Porta = &B00000001 Reset Watchdog Powerdown Porta = 0 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Reset Watchdog Powerdown Portb = 0 Porta = 0 Portb = 0 Portb = &B00000010 Reset Watchdog Powerdown Portb = 0 Portb = &B00000100 Reset Watchdog Powerdown Portb = 0 Porta = &B00000010 Reset Watchdog Powerdown Porta = 0 Porta = &B10000000 Reset Watchdog Powerdown Porta = 0 Porta = &B00000001 Reset Watchdog Powerdown Porta = 0 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return Links: Wdtcr = &B11010100 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Porta = &B00000001 Reset Watchdog Powerdown Porta = 0 Porta = &B10000000 Reset Watchdog Powerdown Porta = 0 Porta = &B00000010 Reset Watchdog Powerdown Porta = 0 Portb = &B00000100 Reset Watchdog Powerdown Portb = 0 Portb = &B00000010 Reset Watchdog Powerdown Portb = 0 Portb = &B00000001 Reset Watchdog Powerdown Portb = 0 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return East: Wdtcr = &B11010101 Portb = &B00000111 Porta = &B10000011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Portb = &B00000101 Porta = &B00001011 Reset Watchdog Powerdown Portb = 0 Porta = 0 Porta = &B10001011 Reset Watchdog Powerdown Porta = 0 Return North: Wdtcr = &B11010101 Portb = &B00000100 Porta = &B10001000 Reset Watchdog Powerdown Portb = 0 Porta = 0 Portb = &B00000100 Porta = &B10001010 Reset Watchdog Powerdown Portb = 0 Porta = 0 Porta = &B10001000 Reset Watchdog Powerdown Porta = 0 Portb = &B00000110 Porta = &B10001010 Reset Watchdog Powerdown Portb = 0 Porta = 0 Return Leer: Reset Watchdog Powerdown Return End Daten: ' Data "nord" Data "re" Data "n" , "5" , "1" , " " , "0" , "1" , " " , "1" , "2" , "5" Data " " ' Data "ost" Data "e" , "0" , "1" , "3" , " " , "3" , "9" , " " , "7" , "3" , "0" Data "re" Data "X"
Anbei habe ich den Schaltplan, wie es mir so vorschwebt.
Danke für eventuelle Tips.
Gruß aus Freital
Jörg







Zitieren

Lesezeichen