
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
iCH BIN DOOF UND MUSS NUN EUCH FRAGEN: WAS MACH ICH FALSCH ? ICH HABE 3 PROBLEME define LINE byte[1] define CHAR byte[1] define POS byte[1] define BARS byte[1] define BIN byte[1] define DEZ byte[1] define LCD_INIT &H101 define LCD_CLR &H11D define LCD_LINE1 &H125 define LCD_LINE2 &H12A define LCD_POSL1 &H12F define LCD_POSL2 &H133 define LCD_SCRL &H13B define LCD_SCRR &H140 define LCD_BAR &H145 define LCD_BIN &H154 define LCD_DEZ &H1C3 define LCD_WRT &H1A4 define LCD_PRINT &H179 define wiled1 port[1] define waled2 port[2] define schrled3 port[3] define schlled4 port[4] define ventled5 port[5] define pumpled6 port[6] define vschalter7 port[7] define wschalter8 port[8] define key_val ad[8] define ProgNr byte[2] define Wartezeit byte[3] ' define Schritt byte[4] define x byte[5] define Bytefrei6 byte[6] define wert1 byte[7] define wert2 byte[8] define wert12 word[4] define wert3 byte[9] define key byte[10] define Bit81_88 byte[11] define Zaehler1 byte[12] define Zaehler2 byte[13] define Zykluszeit byte[14] define TimerAlt word[8] define wert1Bit0 Bit [49] define wert1Bit1 Bit [50] define wert1Bit2 Bit [51] define wert1Bit3 Bit [52] define wert1Bit4 Bit [53] define wert1Bit5 Bit [54] define wert1Bit6 Bit [55] define wert1Bit7 Bit [56] define FlankeZeitpuls Bit[81] define TastaturFlanke Bit[82] define AufrufbitKey7 Bit[83]' define AufrufbitKey9 Bit[84]' define BitFrei5 Bit[85]' define BitFrei6 Bit[86] define SekPuls Bit[87]' define LoeschLCD Bit[88] sys lcd_init sys lcd_clr Zaehler1 = 127 Zaehler2 = 65 #Anfang if ProgNr < 1 then goto ende12 SekPuls = OFF wert1 = second if wert1Bit0 = FlankeZeitpuls then goto ende1 FlankeZeitpuls = wert1Bit0 SekPuls = ON AufrufbitKey7 = OFF AufrufbitKey9 = OFF #ende1 if (Wartezeit = 0) then goto Schritt if (sekpuls = OFF) then goto Ende12 Wartezeit = Wartezeit -1 ' goto Ende12 #Schritt if (Schritt = 1) then goto Schritt1 ' if (Schritt = 2) then goto Schritt2 ' if (Schritt = 3) then goto Schritt3 ' if (Schritt = 4) then goto Schritt4 ' if (Schritt = 5) then goto Schritt5 ' if (Schritt = 6) then goto Schritt6 ' if (Schritt = 7) then goto Schritt7 ' if (Schritt = 8) then goto Schritt8 ' 'WIE SAEGE ICH DEM PROGRAMM DAS vschalter7 und Key = 7 DAS SELBE AUSLÖSEN 'if vschalter7 then key = 7 'funzt nicht Schritt = 1 goto Ende12 #Schritt1 ventled5 = OFF ' Wartezeit = 10 ' Goto Schrittweiter #Schritt2 ' 'if AufrufbitKey7 then goto SCHRITTWEITER FUNKTIONIETRT HIER NICHT DESHALB DAS #VIBRATIONSABSCHALTUNG pumpled6 = OFF : wiled1 = ON : schrled3 = ON ' Wartezeit = 10' Goto Schrittweiter #Schritt3 ' schrled3 = OFF : wiled1 = OFF : waled2 = ON' Wartezeit = 10'x Goto Schrittweiter #Schritt4 ' waled2 = OFF :wiled1 = ON : schlled4 = ON :' Wartezeit = 10' Goto Schrittweiter #Schritt5 schlled4 = OFF : wiled1 = OFF :waled2 = ON Wartezeit = 10' Goto Schrittweiter #Schritt6 waled2 = OFF :ventled5 = ON Wartezeit = 5' Goto Schrittweiter #Schritt7 pumpled6 = ON Wartezeit = 5' goto Schrittweiter #Schritt8 Wartezeit = 5' if wschalter8 = OFF then goto Anfang #Schrittweiter Schritt = Schritt + 1 #Ende12 Zykluszeit = (Timer - TimerAlt)' TimerAlt = Timer gosub Tastatur Goto LCD' #Tastatur gosub key_decode if key < 199 then goto Taste TastaturFlanke = OFF x = 1 Return #Taste if key =3 then goto plusvar if key =6 then goto MinusZaehler2 if ProgNr >< 1 then goto TastaturFlanke' #TastaturFlanke' if TastaturFlanke = ON then Return ' TastaturFlanke = ON if key =1 then goto ProgNrPlus if ProgNr >< 1 then return ' if Key = 7 then AufrufbitKey7 = ON if AufrufbitKey7 then goto Vibrationabschaltung if Key = 9 then AufrufbitKey9 = ON if AufrufbitKey9 then goto Runterfahren return #key_decode key=255 #nochmal wert3 = key_val if wert3 > 240 then return Key = key -1 if wert3 = key_val then goto TasteAusgeben if Key > 240 then goto nochmal return #TasteAusgeben if wert3>=0 then key=10 if wert3>14 then key=7 if wert3>36 then key=4 if wert3>57 then key=1 if wert3>70 then key=0 if wert3>100 then key=8 if wert3>122 then key=5 if wert3>142 then key=2 if wert3>163 then key=11 if wert3>183 then key=9 if wert3>204 then key=6 if wert3>225 then key=3 return #LCD if LoeschLCD = OFF then goto Anzeige LoeschLCD = OFF :sys LCD_CLR #Anzeige if ProgNr =1 then goto LCDprg1 if ProgNr =2 then goto LCDprg2 SYS LCD_LINE1:sys LCD_PRINT:print" WEIL NICHT ALLES IN EINE ZEILE PASST": for wert1=1 to 22 SYS LCD_SCRL:pause 10 sys LCD_LINE1 ' wert1 = ProgNr :gosub Zahl1' sys LCD_PRINT:print" dr": gosub ue : sys LCD_PRINT:print"cke Taste 1" sys LCD_LINE2 ' sys LCD_PRINT:print"f":gosub ue:sys LCD_PRINT:print"r Prog 1 bis 7" goto Anfang ' #LCDprg1 sys LCD_LINE1 DEZ = ProgNr : SYS LCD_DEZ sys LCD_PRINT:print" warte " DEZ = Wartezeit : SYS LCD_DEZ : sys LCD_PRINT:print" sec" goto LCD67' #LCDprg2 sys LCD_LINE1 ' DEZ = ProgNr : SYS LCD_DEZ sys LCD_PRINT:print" warte " DEZ = Wartezeit : SYS LCD_DEZ : sys LCD_PRINT:print" sec" goto LCD67 #LCD67 sys LCD_LINE2 ' sys LCD_PRINT:print"Schritt " DEZ = Schritt : SYS LCD_DEZ goto Anfang #ProgNrPlus ProgNr = ProgNr + 1 LoeschLCD = ON ' if ProgNr > 8 then ProgNr = 1 return #Vibrationabschaltung schrled3 = OFF : schlled4 = OFF :wiled1 = OFF : waled2 = ON : return 'SCHRITTWETITER STATT SCHRLED3 U.S.W FUNKTIONIETRT HIER NUR EINMAL #Runterfahren 'WAS MUSS HIER STEHEN DAS ICH WIEDER IN DAS ERSTE PROGRAMM (DRÜCKE 1-7)KOMME? #PlusZaehler1 ' Zaehler1 = Zaehler1 +1 :return #MinusZaehler1 ' Zaehler1 = Zaehler1 -1 :return #PlusZaehler2 ' Zaehler2 = Zaehler2 +1 :return #MinusZaehler2 ' Zaehler2 = Zaehler2 -1 :return #PlusVar ' Zaehler2 = Zaehler2 + x x = x + 1 return #Zahl5 if wert12 <0 then gosub Minus else gosub space wert12 = abs (wert12) if wert12 >= 10000 then CHAR = wert12 /10000 +&H30 else CHAR = &H20 SYS LCD_WRT #Zahl4 ' if wert12 >= 1000 then CHAR = wert12 MOD 10000 /1000 +&H30 else CHAR = &H20 SYS LCD_WRT #Zahl3Word ' if wert12 >= 100 then CHAR = wert12 MOD 1000 /100 +&H30 else CHAR = &H20 SYS LCD_WRT if wert12 >= 10 then CHAR = wert12 MOD 100 /10 +&H30 else CHAR = &H20 SYS LCD_WRT CHAR = wert12 MOD 10 +&H30 SYS LCD_WRT Return #Zahl3 if wert1 >= 100 then CHAR = wert1/100 +&H30 else CHAR = &H20 SYS LCD_WRT #Zahl2 ' if wert1 >= 10 then CHAR = wert1 MOD 100 /10 +&H30 else CHAR = &H20 SYS LCD_WRT #Zahl1 CHAR = wert1 mod 10 +&H30 SYS LCD_WRT : Return #Space CHAR = &H20 :SYS LCD_WRT :Return #Plus CHAR = &H2B :SYS LCD_WRT :Return #Minus CHAR = &H2D :SYS LCD_WRT :Return #ae CHAR = &HE1 :SYS LCD_WRT :Return #oe CHAR = &HEF :SYS LCD_WRT :Return #ue CHAR = &HF5 :SYS LCD_WRT :Return goto Anfang |
| Antwort schreiben |