- 12V Akku mit 280 Ah bauen         
Ergebnis 71 bis 80 von 94

Thema: Scopeuhr mit BASCOM??

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #26
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo Sebastian,
    Deine Zahlen sehen einwandfrei aus,
    nur die 4, die 6 und die 7 könnten noch
    etwas "Politur" vertragen.
    Sonst Klasse !

    Ich hab das Programm noch etwas verändert,
    da waren noch einige Bugs drin.

    Ich hab es jetzt so gemacht, das die Subs zwar
    X und Y nutzen, aber nie verändern, so das man
    die nicht immer neu setzen muss.

    Mit dem Z-Eingang muss ich jetzt doch was machen,
    sonst sieht man immer die Anfangs-und Endpunkte
    der Linien und Objekte.

    Ich bleib dran...

    Gruß Jan

    Code:
    
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    
    '######### Variablen Hauptprogramm
    Dim H As Integer
    Dim Hs As Integer
    Dim Ss As Byte
    
    
    '########### Variablen Vektorgrafik
    Dim X As Integer
    Dim Y As Integer
    Dim Z As Integer
    Dim Xa As Integer
    Dim Ya As Integer
    Dim Xe As Integer
    Dim Ye As Integer
    Dim Xs As Integer
    Dim Ys As Integer
    Dim Xl As Integer
    Dim Yl As Integer
    Dim Xo As Integer
    Dim Yo As Integer
    Dim Zo As Integer
    Dim T As Integer
    
    
    
    '########### Deklarationsteil für Subroutinen
    Declare Sub Moverel
    Declare Sub Moveabs
    Declare Sub Drawrel                                         'Zeichnet vom aktuellen Punkt zur relativen position eine linie
    Declare Sub Drawabs                                         'Zeichnet vom aktuellen Punkt zu den angegebenen kordinaten eine linie
    Declare Sub Showdot
    Declare Sub Drawobj
    
    '########### Deklarationsteil für Ports
    Xp Alias Porta
    Yp Alias Portc
    Zp Alias Portf.1                                            'wenn f=0 dann ist der punkt sichtbar, wenn f=1 then ist der punkt aus
    
    Config Xp = Output
    Config Yp = Output
    
    
    
    '################# Start Hauptprogramm
    
    'Zp = 1                                                      ' dunkel
    
    H = 0
    Hs = 1
    Ss = 0
    
    Do
    
      X = 50 : Y = 50 : Moveabs
    
    
      X = 100 : Y = 0 : Drawrel
      X = 0 : Y = 100 : Drawrel
      X = -100 : Y = 0 : Drawrel
      X = 0 : Y = -100 : Drawrel
    
      Xa = 50 : Ya = 150 : Xe = 100 : Ye = 200 : Drawabs
      Xa = 150 : Ya = 150 : Xe = 100 : Ye = 200 : Drawabs
      Xa = 50 : Ya = 150 : Xe = 150 : Ye = 50 : Drawabs
      Xa = 50 : Ya = 50 : Xe = 150 : Ye = 150 : Drawabs
    
      X = 0 : Y = 0 : Moveabs
    
    
      Restore Obj5 : X = 58 : Y = 80 : Drawobj
      Restore Obj5 : X = 128 : Y = 80 : Drawobj
    
      Ss = Ss + 1
      Restore Spaceship : X = Ss : Y = 170 : Drawobj
    
      Y = 0
      X = 0 : Restore Obj0 : Drawobj
      X = 22 : Restore Obj1 : Drawobj
      X = 44 : Restore Obj2 : Drawobj
      X = 66 : Restore Obj3 : Drawobj
      X = 88 : Restore Obj4 : Drawobj
      X = 110 : Restore Obj5 : Drawobj
      X = 132 : Restore Obj6 : Drawobj
      X = 154 : Restore Obj7 : Drawobj
      X = 176 : Restore Obj8 : Drawobj
      X = 198 : Restore Obj9 : Drawobj
      X = 220 : Restore Objdp : Drawobj
    
    
    
    
    Loop
    
    End
    
    
    
    
    '################# Ende Haputprogramm; beginn subroutinen
    
    
    
    Sub Drawabs
    X = Xe - Xa : Y = Ye - Ya
    Xp = Low(xa) : Yp = Low(ya)
    Call Drawrel
    End Sub
    
    '#################################
    Sub Drawrel
    Xe = Xa + X : Ye = Ya + Y
    Xl = X : Yl = Y
    Xs = 1 : Ys = 1
    
    If Xl < 0 Then
     Xs = -1 : Xl = 0 - Xl
    End If
    If Yl < 0 Then
     Ys = -1 : Yl = 0 - Yl
    End If
    If Xl < Yl Then Goto Walky
    
    Walkx:
      T = Xl
      Shift T , Right , 1
      Do
        'Zp = 0
        Xp = Xa : Yp = Ya
        Xa = Xa + Xs                                            ':immer einen Schritt in x-Richtung weiter
        T = T - Yl                                              ';Schritt in Y-Richtung nötig ?
        If T <= 0 Then                                          ';wenn <=0 dann ja
          T = T + Xl                                            ';
          Ya = Ya + Ys                                          ';Schritt in Y-Richtung
        End If
        Loop Until Low(xa) = Low(xe)                            ';Wiederholen bis Ende der Linie
        'Zp = 1
      Goto Ex1
    
    Walky:
      T = Yl
      Shift T , Right , 1
      Do
      'Zp = 0
        Xp = Xa : Yp = Ya
        Ya = Ya + Ys                                            ':immer einen Schritt in x-Richtung weiter
        T = T - Xl                                              ';Schritt in Y-Richtung nötig ?
        If T <= 0 Then                                          ';wenn <=0 dann ja
          T = T + Yl                                            ';
          Xa = Xa + Xs                                          ';Schritt in Y-Richtung
        End If
        Loop Until Low(ya) = Low(ye)                            ';Wiederholen bis Ende der Linie
        'Zp = 1
    Ex1:
        End Sub
    '##############################
    
    Sub Moveabs                                                 'Bewegt den punkt gedimmt zu der angegebenen position (x,y)
    Xa = Low(x)                                                 'Xaktuell setzen
    Ya = Low(y)                                                 'Xaktuell setzen
    Xp = Low(x)                                                 'Xport setzen
    Yp = Low(y)                                                 'yPort setzen
    End Sub
    
    '##############################
    
    Sub Moverel
    Xa = Xa + X : Ya = Ya + Y
    End Sub
    
    '##############################
    
    Sub Showdot                                                 'zeigt den punkt an seiner aktuellen position an
    'Zp = 0                                                      'licht ein
    Waitus 2                                                    'kurz warten
    'Zp = 1                                                      'lichtwieder aus
    End Sub
    
    '##############################
    
    Sub Drawobj
    Xo = X : Yo = Y
    Call Moveabs
    Do
      Read X : Read Y : Read Z
      If Z > 0 Then Call Drawrel Else Call Moverel
    Loop Until Z > 1
    X = Xo : Y = Yo
    End Sub
    
    
    '######## Objektdefinitionen
    'X, Y, Z
    'X, Y, Z
    'X und Y sind relative Positionen
    'z=0 bedeutet moverel
    'z=1 bedeutet sichtbare Linie
    'Ende Objekt ist wenn z=3
    
    Spaceship:
    Data 15% , 8% , 1%
    Data -15% , 8% , 1%
    Data 6% , -8% , 1%
    Data -6% , -8% , 1%
    Data 4% , 8% , 0%
    Data -5% , 3% , 1%
    Data 5% , -3% , 1%
    Data -5% , 0% , 1%
    Data 5% , 0% , 1%
    Data -5% , -3% , 1%
    Data 5% , 3% , 3%
    
    
    Obj1:
    Data 0% , 16% , 0%
    Data 16% , 14% , 1%
    Data 0% , -30% , 3%
    
    Obj2:
    Data 0% , 26% , 0%
    Data 0% , 2% , 1%
    Data 4% , 2% , 1%
    Data 9% , 0% , 1%
    Data 5% , -4% , 1%
    Data 0% , -3% , 1%
    Data -18% , -23% , 1%
    Data 6% , 3% , 1%
    Data 8% , 0% , 1%
    Data 6% , -3% , 3%
    
    Obj3:
    Data 0% , 3% , 0%
    Data 4% , -3% , 1%
    Data 10% , 0% , 1%
    Data 4% , 3% , 1%
    Data 0% , 10% , 1%
    Data -3% , 3% , 1%
    Data -2% , 0% , 1%
    Data 2% , 0% , 0%
    Data 3% , 3% , 1%
    Data 0% , 8% , 1%
    Data -4% , 3% , 1%
    Data -10% , 0% , 1%
    Data -4% , -3% , 3%
    
    Obj4:
    Data 11% , 0% , 0%
    Data 0% , 17% , 1%
    Data 6% , -5% , 0%
    Data -17% , 0% , 1%
    Data 17% , 18% , 3%
    
    Obj5:
    Data 0% , 4% , 0%
    Data 4% , -4% , 1%
    Data 10% , 0% , 1%
    Data 5% , 5% , 1%
    Data 0% , 8% , 1%
    Data -5% , 5% , 1%
    Data -9% , 0% , 1%
    Data -5% , -6% , 1%
    Data 0% , 18% , 1%
    Data 17% , 0% , 3%
    
    Obj6:
    Data 0% , 10% , 0%
    Data 0% , -5% , 1%
    Data 4% , -4% , 1%
    Data 10% , 0% , 1%
    Data 5% , 5% , 1%
    Data 0% , 8% , 1%
    Data -5% , 5% , 1%
    Data -9% , 0% , 1%
    Data -5% , -6% , 1%
    Data 0% , 15% , 1%
    Data 4% , 4% , 1%
    Data 8% , 0% , 1%
    Data 5% , -4% , 3%
    
    Obj7:
    Data 0% , 30% , 0%
    Data 12% , 0% , 1%
    Data 0% , -30% , 1%
    Data -6% , 15% , 0%
    Data 12% , 0% , 3%
    
    Obj8:
    Data 4% , 0% , 0%
    Data 10% , 0% , 1%
    Data 4% , 5% , 1%
    Data 0% , 6% , 1%
    Data -18% , 8% , 1%
    Data 0% , 6% , 1%
    Data 4% , 4% , 1%
    Data 10% , 0% , 1%
    Data 4% , -5% , 1%
    Data 0% , -6% , 1%
    Data -18% , -8% , 1%
    Data 0% , -6% , 1%
    Data 4% , -5% , 3%
    
    Obj9:
    Data 0% , 5% , 0%
    Data 4% , -5% , 1%
    Data 10% , 0% , 1%
    Data 4% , 5% , 1%
    Data 0% , 20% , 1%
    Data -4% , 5% , 1%
    Data -10% , 0% , 1%
    Data -4% , -5% , 1%
    Data 0% , -7% , 1%
    Data 4% , -5% , 1%
    Data 10% , 0% , 1%
    Data 4% , 4% , 3%
    
    Obj0:
    Data 0% , 5% , 0%
    Data 4% , -5% , 1%
    Data 10% , 0% , 1%
    Data 4% , 5% , 1%
    Data 0% , 20% , 1%
    Data -4% , 5% , 1%
    Data -10% , 0% , 1%
    Data -4% , -5% , 1%
    Data 0% , -20% , 3%
    
    Objdp:
    Data 7% , 7% , 0%
    Data 4% , 0% , 1%
    Data 0% , 4% , 1%
    Data -4% , 0% , 1%
    Data 0% , -4% , 1%
    Data 0% , 12% , 0%
    Data 4% , 0% , 1%
    Data 0% , 4% , 1%
    Data -4% , 0% , 1%
    Data 0% , -4% , 3%
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken p1010018_196.jpg  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests