INFO - FAQ - CC2-Forum - CCPro-Forum |
nun habe ich zwei neue probleme: 1.mit dem lader der dos ide bekomme ich die ausgabe das die c-control nicht antwortet. 2. mit dem program von dierk klappt zwar die übertragung, aber meine c-control startet das program nichtmehr... der quelltext kommt unten, evtl macht sich jemand die mühe und guckt ob er nen fehler findet.... 'Schildi-Home-Steuereung 'Version 1.0 Basic 'start 'Definition Variabeln define userneondrin bit[1] define userneondraussen bit[2] define userhqldrin bit[3] define userhqldraussenvorn bit[4] define userhqldraussenhinten bit[5] define hilfezeitzehner byte[6] define hilfezeiteiner byte[7] define temp word[11] define hilfezeit word[12] 'Definition PORTS define neondrin port[1] define neondraussen port[2] define hqldrin port[5] define hqldraussenvorn port[3] define hqldraussenhinten port[4] 'Definition AD_PORTS define temperaturdrin ad[1] 'Definiton Keyboard define key_nr byte[2] define compare byte[3] define keyboard ad[8] 'die Reihenfolge der Tasten auf dem Keyboard define KEY_ASTERIX 0 define KEY_7 1 define KEY_4 2 define KEY_1 3 define KEY_0 4 define KEY_8 5 define KEY_5 6 define KEY_2 7 define KEY_CROSS 8 define KEY_9 9 define KEY_6 10 define KEY_3 11 'Vergleichstabelle table keycodes 0 23 46 68 90 111 132 152 173 193 214 235 tabend 'Defintion für Tastatur define lcd_buf byte[4] define lcd_param byte[5] define lcd_port byteport[2] define lcd_rs port[14] define lcd_rw port[13] define lcd_e port[15] #LCD_INIT ' alle ports 0 lcd_port = OFF ' 8-Bit-Modus aktivieren lcd_param=&H38 : gosub LCD_WRITECMD ' mit 8-Bit-Command in 4-Bit-Modus umschalten lcd_port=&B00000010 tog lcd_e tog lcd_e ' ab jetzt 4-Bit-Modus lcd_param = &H28 : gosub LCD_WRITECMD lcd_param = &H0C : gosub LCD_WRITECMD ' Display loeschen #LCD_CLS lcd_param = &H02 : gosub LCD_WRITECMD lcd_param = &H01 : gosub LCD_WRITECMD return ' Zeilenwechsel #LCD_GOTOLINE if lcd_param = 1 then lcd_param = &H80 if lcd_param = 2 then lcd_param = &HC0 goto LCD_WRITECMD ' LCD-Kommando #LCD_WRITECMD lcd_buf = OFF goto LCD_WRITE ' Zeichenausgabe #LCD_WRITECHAR lcd_buf = &B00100000 ' Kommando oder Zeichen an Display senden #LCD_WRITE lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble tog lcd_e tog lcd_e lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble tog lcd_e tog lcd_e return '*** ASCII-Codes *** define A_ &H41 define B_ &H42 define C_ &H43 define D_ &H44 define E_ &H45 define F_ &H46 define G_ &H47 define H_ &H48 define I_ &H49 define J_ &H4A define K_ &H4B define L_ &H4C define M_ &H4D define N_ &H4E define O_ &H4F define P_ &H50 define Q_ &H51 define R_ &H52 define S_ &H53 define T_ &H54 define U_ &H55 define V_ &H56 define W_ &H57 define X_ &H58 define Y_ &H59 define Z_ &H5A define zahl1_ &H31 define zahl2_ &H32 define zahl3_ &H33 define zahl4_ &H34 define zahl5_ &H35 define LEERZ &H20 define MINUS &H2D define NULL &H30 define GLEICH &H3D define DOPPELPUNKT &H3A define PUNKT &H2E ' --------------Zeit / Datum einlesen und Speichern------------------- #initialisieren userneondrin =1 userneondraussen =1 userhqldrin =1 userhqldraussenvorn=1 userhqldraussenhinten=1 hilfezeitzehner =1 hilfezeiteiner =1 temp =1 hilfezeit =1 neondrin =off neondraussen =off hqldrin =off hqldraussenvorn =off hqldraussenhinten =off 'Eingabe Stunde zehner #Stunde gosub LCD_INIT pause 10 #SCHLEIFE gosub lcd_cls lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = D_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR pause 150 #LOOP1 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY1 next pause 20 goto LOOP1 #HANDLE_KEY1 if key_nr = KEY_1 then hilfezeitzehner=1 if key_nr = KEY_0 then hilfezeitzehner=0 if key_nr = KEY_2 then hilfezeitzehner=2 else GOTO schleife gosub lcd_cls lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = D_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR Pause 50 'Eingabe Stunde einer #SCHLEIFE2 #LOOP2 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY2 next pause 20 goto LOOP2 #HANDLE_KEY2 if key_nr = KEY_7 then hilfezeiteiner=7 if key_nr = KEY_4 then hilfezeiteiner=4 if key_nr = KEY_1 then hilfezeiteiner=1 if key_nr = KEY_0 then hilfezeiteiner=0 if key_nr = KEY_8 then hilfezeiteiner=8 if key_nr = KEY_5 then hilfezeiteiner=5 if key_nr = KEY_2 then hilfezeiteiner=2 if key_nr = KEY_9 then hilfezeiteiner=9 if key_nr = KEY_6 then hilfezeiteiner=6 if key_nr = KEY_3 then hilfezeiteiner=3 else goto schleife2 gosub lcd_cls lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = D_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR lcd_param = hilfezeiteiner : gosub LCD_WRITECHAR Pause 50 'Berechnung Stunde hour=hilfezeitzehner*10+hilfezeiteiner 'Eingabe Minute zehner #Minute #Schleife3 gosub lcd_cls lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR pause 150 #LOOP3 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY3 next pause 20 goto LOOP3 #HANDLE_KEY3 if key_nr = KEY_1 then hilfezeitzehner=1 if key_nr = KEY_0 then hilfezeitzehner=0 if key_nr = KEY_2 then hilfezeitzehner=2 else goto schleife3 gosub lcd_cls lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR Pause 50 'Eingabe Minute einer #SCHLEIFE4 #LOOP4 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY4 next pause 20 goto LOOP4 #HANDLE_KEY4 if key_nr = KEY_7 then hilfezeiteiner=7 if key_nr = KEY_4 then hilfezeiteiner=4 if key_nr = KEY_1 then hilfezeiteiner=1 if key_nr = KEY_0 then hilfezeiteiner=0 if key_nr = KEY_8 then hilfezeiteiner=8 if key_nr = KEY_5 then hilfezeiteiner=5 if key_nr = KEY_2 then hilfezeiteiner=2 if key_nr = KEY_9 then hilfezeiteiner=9 if key_nr = KEY_6 then hilfezeiteiner=6 if key_nr = KEY_3 then hilfezeiteiner=3 else goto schleife4 gosub lcd_cls lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR lcd_param = hilfezeiteiner : gosub LCD_WRITECHAR Pause 50 'Berechnung Minute minute=hilfezeitzehner*10+hilfezeiteiner 'Eingabe Tag zehner #schleife5 #Tag gosub LCD_CLS lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR pause 150 #LOOP6 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY6 next pause 20 goto LOOP6 #HANDLE_KEY6 if key_nr = KEY_1 then hilfezeitzehner=1 if key_nr = KEY_0 then hilfezeitzehner=0 if key_nr = KEY_2 then hilfezeitzehner=2 if key_nr = KEY_3 then hilfezeitzehner=3 else goto schleife5 gosub lcd_cls lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR Pause 50 'Eingabe Tag einer #schleife6 #LOOP5 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY5 next pause 20 goto LOOP5 #HANDLE_KEY5 if key_nr = KEY_7 then hilfezeiteiner=7 if key_nr = KEY_4 then hilfezeiteiner=4 if key_nr = KEY_1 then hilfezeiteiner=1 if key_nr = KEY_0 then hilfezeiteiner=0 if key_nr = KEY_8 then hilfezeiteiner=8 if key_nr = KEY_5 then hilfezeiteiner=5 if key_nr = KEY_2 then hilfezeiteiner=2 if key_nr = KEY_9 then hilfezeiteiner=9 if key_nr = KEY_6 then hilfezeiteiner=6 if key_nr = KEY_3 then hilfezeiteiner=3 ELSE GOTO schleife6 gosub lcd_cls lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR lcd_param = hilfezeiteiner : gosub LCD_WRITECHAR Pause 50 'Berechnung tag day=hilfezeitzehner*10+hilfezeiteiner 'Eingabe Monat zehner #schleife7 #Monat gosub lcd_cls lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = O_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR pause 150 #LOOP7 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY7 next pause 20 goto LOOP7 #HANDLE_KEY7 if key_nr = KEY_1 then hilfezeitzehner=1 if key_nr = KEY_0 then hilfezeitzehner=0 if key_nr = KEY_2 then hilfezeitzehner=2 if key_nr = KEY_3 then hilfezeitzehner=3 else goto schleife7 gosub lcd_cls lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = O_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR Pause 50 'Eingabe Monat einer #schleife8 #LOOP8 for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEY8 next pause 20 goto LOOP8 #HANDLE_KEY8 if key_nr = KEY_7 then hilfezeiteiner=7 if key_nr = KEY_4 then hilfezeiteiner=4 if key_nr = KEY_1 then hilfezeiteiner=1 if key_nr = KEY_0 then hilfezeiteiner=0 if key_nr = KEY_8 then hilfezeiteiner=8 if key_nr = KEY_5 then hilfezeiteiner=5 if key_nr = KEY_2 then hilfezeiteiner=2 if key_nr = KEY_9 then hilfezeiteiner=9 if key_nr = KEY_6 then hilfezeiteiner=6 if key_nr = KEY_3 then hilfezeiteiner=3 else goto schleife8 lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = O_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = hilfezeitzehner : gosub LCD_WRITECHAR lcd_param = hilfezeiteiner : gosub LCD_WRITECHAR Pause 50 'Berechnung Monat month=hilfezeitzehner*10+hilfezeiteiner '----------------------------Beginn Hauptprogramm------------------------- 'Userinterface/ ZEIT / VERTIELER #USERINTERFACE #LOOPuserinterface for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEYuserinterface next pause 20 goto LOOPuserinterface #HANDLE_KEYuserinterface if key_nr = KEY_CROSS THEN GOTO menu gosub lcd_cls lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = Y_ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = L_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = F_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = HOUR : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = MINUTE : gosub LCD_WRITECHAR lcd_param = DOPPELPUNKT : gosub LCD_WRITECHAR lcd_param = SECOND : gosub LCD_WRITECHAR IF DAY=1 THEN GOTO fruehling IF DAY=2 THEN GOTO fruehling IF DAY=3 THEN GOTO fruehling IF DAY=4 THEN GOTO fruehling IF DAY=5 THEN GOTO sommer IF DAY=6 THEN GOTO sommer IF DAY=7 THEN GOTO sommer IF DAY=8 THEN GOTO sommer IF DAY=9 THEN GOTO herbst IF DAY=10 THEN GOTO herbst IF DAY=11 THEN GOTO winter IF DAY=12 THEN GOTO Winter #fruehling gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = F_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = H_ : gosub LCD_WRITECHAR lcd_param = L_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = G_ : gosub LCD_WRITECHAR pause 50 hilfezeit=hour*100+minute if hilfezeit>=730 and hilfezeit<=1830 and userneondrin=1 THEN neondrin=on ELSE neondrin=off if hilfezeit>=730 and hilfezeit<=1830 and userneondraussen=1 THEN neondraussen=on ELSE neondrin=off if hilfezeit>=830 and hilfezeit<=1500 and userhqldrin=1 THEN hqldrin=on ELSE hqldrin=off if hilfezeit>=1300 and hilfezeit<=1500 and userhqldraussenvorn=1 THEN hqldraussenvorn=on ELSE hqldraussenvorn=off if hilfezeit>=1500 and hilfezeit<=1630 and userhqldraussenhinten=1 THEN hqldraussenhinten=on ELSE neondrin=off goto temperatur #sommer gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = O_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR pause 50 hilfezeit=hour*100+minute if hilfezeit>=630 and hilfezeit<=2030 and userneondrin=1 THEN neondrin=on ELSE neondrin=off if hilfezeit>=630 and hilfezeit<=2030 and userneondraussen=1 THEN neondraussen=on ELSE neondrin=off if hilfezeit>=730 and hilfezeit<=1230 and userhqldrin=1 THEN hqldrin=on ELSE hqldrin=off if hilfezeit>=1100 and hilfezeit<=1600 and userhqldraussenvorn=1 THEN hqldraussenvorn=on ELSE hqldraussenvorn=off if hilfezeit>=1400 and hilfezeit<=1830 and userhqldraussenhinten=1 THEN hqldraussenhinten=on ELSE neondrin=off goto temperatur #herbst gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = H_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR lcd_param = B_ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR pause 50 hilfezeit=hour*100+minute if hilfezeit>=745 and hilfezeit<=1800 and userneondrin=1 THEN neondrin=on ELSE neondrin=off if hilfezeit>=745 and hilfezeit<=1800 and userneondraussen=1 THEN neondraussen=on ELSE neondrin=off if hilfezeit>=830 and hilfezeit<=1030 and userhqldrin=1 THEN hqldrin=on ELSE hqldrin=off if hilfezeit>=1000 and hilfezeit<=1200 and userhqldraussenvorn=1 THEN hqldraussenvorn=on ELSE hqldraussenvorn=off if hilfezeit>=1100 and hilfezeit<=1330 and userhqldraussenhinten=1 THEN hqldraussenhinten=on ELSE neondrin=off GOTO temperatur #winter gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = W_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR pause 50 hilfezeit=hour*100+minute if hilfezeit>=900 and hilfezeit<=1700 and userneondrin=1 THEN neondrin=on ELSE neondrin=off if hilfezeit>=900 and hilfezeit<=1700 and userneondraussen=1 THEN neondraussen=on ELSE neondrin=off if hilfezeit>=1000 and hilfezeit<=1100 and userhqldrin=1 THEN hqldrin=on ELSE hqldrin=off if hilfezeit>=1100 and hilfezeit<=1200 and userhqldraussenvorn=1 THEN hqldraussenvorn=on ELSE hqldraussenvorn=off if hilfezeit>=1200 and hilfezeit<=1330 and userhqldraussenhinten=1 THEN hqldraussenhinten=on ELSE neondrin=off GOTO temperatur 'Temperatur einleisen/anzeigen) #Temperatur temp=10*(temperaturdrin-50)/2 gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = P_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = temp/10 : gosub LCD_WRITECHAR lcd_param = PUNKT : gosub LCD_WRITECHAR lcd_param = temp MOD 10 : gosub LCD_WRITECHAR pause 50 USERINTERFACE '-------------------------------Ende Hauptprogramm---------------------------------- #Menu hilfezeiteiner=15 gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR #LOOPmenu for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEYmenu next pause 20 goto LOOPmenu #HANDLE_KEYmenu if key_nr = KEY_ASTERIX THEN GOTO lampenaus if key_nr = key_1 THEN GOTO neustart else GOTO menu #lampenaus gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = L_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = P_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = zahl1_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl2_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl3_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl4_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl5_ :gosub LCD_WRITECHAR #LOOPlampenaus for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEYlampenaus next pause 20 goto LOOPlampenaus #HANDLE_KEYlampenaus if key_nr = KEY_CROSS THEN GOTO lampenein if key_nr = key_1 THEN USERNEONDRIN =0 if key_nr = key_2 THEN USERNEONDRAUSSEN =0 if key_nr = key_3 THEN USERHQLDRIN =0 if key_nr = key_4 THEN USERHQLDRAUSSENVORN =0 if key_nr = key_5 THEN USERHQLDRAUSSENHINTEN=0 else goto lampenaus #lampenein gosub lcd_cls lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = leerz : gosub LCD_WRITECHAR lcd_param = L_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = P_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = zahl1_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl2_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl3_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl4_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = zahl5_ :gosub LCD_WRITECHAR #LOOPlampenein for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEYlampenein next pause 20 goto LOOPlampenein #HANDLE_KEYlampenein if key_nr = KEY_ASTERIX THEN GOTO USERINTERFACE if key_nr = key_1 THEN USERNEONDRIN =1 if key_nr = key_2 THEN USERNEONDRAUSSEN =1 if key_nr = key_3 THEN USERHQLDRIN =1 if key_nr = key_4 THEN USERHQLDRAUSSENVORN =1 if key_nr = key_5 THEN USERHQLDRAUSSENHINTEN=1 else goto lampenein #neustart gosub lcd_cls lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = Y_ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = M_ : gosub LCD_WRITECHAR lcd_param = Leerz : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = U_ : gosub LCD_WRITECHAR lcd_param = S_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = R_ : gosub LCD_WRITECHAR lcd_param = T_ : gosub LCD_WRITECHAR lcd_param = 2 : gosub LCD_GOTOLINE ' Wechsel in die zweite Zeile lcd_param = J_ : gosub LCD_WRITECHAR lcd_param = A_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = ZAHL2_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = LEERZ :gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = E_ : gosub LCD_WRITECHAR lcd_param = I_ : gosub LCD_WRITECHAR lcd_param = N_ : gosub LCD_WRITECHAR lcd_param = LEERZ : gosub LCD_WRITECHAR lcd_param = ZAHL3_ : gosub LCD_WRITECHAR #LOOPneustart for key_nr = 0 to 11 looktab keycodes, key_nr, compare if abs(keyboard-compare) < 3 then goto HANDLE_KEYneustart next pause 20 goto LOOPneustart #HANDLE_KEYneustart if key_nr = key_2 THEN GOTO initialisieren if key_nr = key_3 THEN GOTO USERINTERFACE else GOTO neustart END Danke im voraus! |
Antwort schreiben |