Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeitschaltuhr Proggen???
Lordcyber
09.03.2008, 20:59
Halllo, bin da ja nich totaler anfänger.
Die Softclock hab ich per Uhrenquarz ans laufen bekommen.
Aber wie veranlasse ich die das sie mir um eine bestimmte Uhrzeit bis zu einer anderen Schalltet.
Soll eine Lichtsteuerung mit LCD ausgabe werden.
Danke
If aktuelleStunde = LampeAnStunde AND aktuelleMinute = LampeAnMinute Then LAMPE AN
If aktuelleStunde = LampeAusStunde AND aktuelleMinute = LampeAusMinute Then LAMPE AUS
Mußt halt nur noch deine Variablen anpassen...
Lordcyber
09.03.2008, 22:08
Code ist:
'************************************************* ***********
'
'Atmega Softclock
'
'Benutzt wird ein Mega8/8,
'Lcd An Portb , Taster Zum Stellen An Pd.0
'zum Hochzählen An Pd.3.
'zwischen XTAL ist ein 32.xxx Uhrenquarz
'************************************************* ***********
$regfile = "m8def.dat"
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcd = 16 * 2
Initlcd
Cursor Off
Cls
Enable Interrupts
Config Date = Mdy , Separator = /
Config Clock = Soft
Config Portd = Input
Portd.0 = 1 'Taster1, Zeit/Datum stellen, PullUp ein, schaltet gegen Minus
Portd.3 = 1 'Taster2, Zahl hochzählen, PullUp ein, schaltet gegen Minus
Time$ = "00:00:00" 'Setzen auf Startwert
Date$ = "00/00/00" 'Setzen auf Startwert
Do
Locate 1 , 1
Lcd Time$ 'Zeige Zeit in Zeile1
Locate 2 , 1
Lcd _day ; "/" ; _month ; "/0" ; _year 'Zeige Datum in Form DD/MM/YYin Zeile2
'lcd Date$ 'zeige Datum in Form MM/DD/YY
If Pind.0 = 0 Then Gosub Time 'wiederhole Anzeige bis Taster 1 zum Stellen gedrückt, springe nach Sub "Time"
Loop
End
'Stunde
Time:
Waitms 200
Cls 'lösche Zeilen
Do
Locate 1 , 1
Lcd "Set Hour:" 'Stunden setzen
Locate 2 , 1
Lcd _hour
If Pind.3 = 0 Then 'Mit Taster 2
Incr _hour 'hochzählen
Locate 2 , 1
Lcd _hour
End If
If _hour > 23 Then 'Zählt bis Max, danach wieder ab 0
Cls
_hour = 00
End If 'solange, bis Taster 1 gedrückt
Loop Until Pind.0 = 0
Waitms 200
'Minute
Cls
Do
Locate 1 , 1
Lcd "Set Minute:"
Locate 2 , 1
Lcd _min
If Pind.3 = 0 Then
Incr _min
Locate 2 , 1
Lcd _min
End If
If _min > 59 Then
Cls
_min = 00
End If
Loop Until Pind.0 = 0
Waitms 200
Cls
'Tag
Cls
Do
Locate 1 , 1
Lcd "Set Day :"
Locate 2 , 1
Lcd _day
If Pind.3 = 0 Then
Incr _day
Locate 2 , 1
Lcd _day
End If
If _day > 31 Then
Cls
_day = 01
End If
Loop Until Pind.0 = 0
Waitms 200
Cls
'Monat
Cls
Do
Locate 1 , 1
Lcd "Set Month :"
Locate 2 , 1
Lcd _month
If Pind.3 = 0 Then
Incr _month
Locate 2 , 1
Lcd _month
End If
If _month > 12 Then
Cls
_month = 01
End If
Loop Until Pind.0 = 0
Waitms 200
Cls
'Jahr
Cls
Do
Locate 1 , 1
Lcd "Set Year :"
Locate 2 , 1
Lcd _year
If Pind.3 = 0 Then
Incr _year
Locate 2 , 1
Lcd _year
End If
If _year > 10 Then
Cls
_year = 00
End If
Loop Until Pind.0 = 0
Waitms 200
Cls
_sec = 00 'Springe Nach Setzen Von Zeit / Datum Wieder Zurueck
Return
RobbyFan
12.07.2010, 14:44
Hallo,
Ich wollte mich auch mal an einer uhr versuchen
bei mir kommt immer der Fehler:
Error . 85 Line: 27 Unknown interrupt source [COUNT <>3], ....
Brauche ich noch ne lib oder so ???
Wenn du den Code zeigen würdest, würde das erheblich helfen den Fehler zu finden.
Welcher Code? Welcher Controller?
RobbyFan
12.07.2010, 15:44
Der Oben Steht von LoardCyber
Atm32 mit Uhrenquarz
Also ich hab den Code gerade in mein Bascom reinkopiert und der meckert nicht...
RobbyFan
12.07.2010, 16:25
der meckert immer bei
Config Clock = Soft
RobbyFan
12.07.2010, 16:28
ok jetzt mekert er auch nicht mehr aber wenn ich aus compile clicke dann kommt keine hex raus.......
Du musst erst einen Ort auswählen wo du die Datei speicherst. Also einfach speichert und dann kompilieren dann kommt auch ne hex raus.
RobbyFan
12.07.2010, 16:50
hab ich gemacht geht aber trotzdem nicht....
gibts ne alternative zu bascom???
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.