- Akku Tests und Balkonkraftwerk Speicher         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Komme mit meinem Programm nicht weiter (PWM LED Leiste)

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178
    Anzeige

    LiFePo4 Akku selber bauen - Video
    du hast mich falsch verstanden mit dem Editieren
    Du sollst nur Editieren wenn du den letzen Beitrag selber geschrieben hast und nicht wenn ich z.B den letzen Beitrag geschrieben habe.

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    59
    Beiträge
    117
    habe einen code im netz gefunden und an den mega8 angepasst
    sowie an die ports 3- 5 in deinem fall.

    Code:
    'code gefunden bei http://www.amhamberg.de
    'an mega8 portb.3 bis .5 angepasst mit 8mhz
    'internen takt,geändert am 28.01.2007
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Ddrb = &B11111111
    Portb = &B00000000
    
    
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim X As Integer
    Dim Y As Integer
    
    Dim Onoff1 As Bit
    Dim Onoff2 As Bit
    
    
    Declare Sub Dimmen(byval Led1 As Integer , Byval Led2 As Integer)
    
    Do
    
    Do
     A = Rnd(3) + 3
      B = Rnd(3) + 3
    
       If A <> B Then Exit Do
    Loop
    
    If Portb.a = 1 And Portb.b = 1 Then
     C = 3
      While C = A Or C = B
       Incr C
        Wend
         If Portb.c = 1 Then
          Call Dimmen(a , B)
           Else
            Call Dimmen(a , C)
         End If
    Else
     Call Dimmen(a , B)
    End If
    
    Loop
    
    End
    
    Sub Dimmen(byval Led1 As Integer , Byval Led2 As Integer)
    
    If Portb.led1 = 0 Then
     Onoff1 = 1
      Else
       Onoff1 = 0
    End If
    
    If Portb.led2 = 0 Then
     Onoff2 = 1
      Else
       Onoff2 = 0
    End If
    
    For X = 0 To 500
     For Y = 1 To 500
      If X > Y Then
       Portb.led1 = Onoff1
        Portb.led2 = Onoff2
         Else
          Portb.led1 = Not Onoff1
           Portb.led2 = Not Onoff2
      End If
     Next
    Next
     Portb.led1 = Onoff1
      Portb.led2 = Onoff2
       Waitms 500
    
    End Sub

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178
    also bei mir funktioniert der code nicht. wie siehts bei dir aus?


    EDIT: es funktioniert doch, hab es nochmal von der hp runtergeladen.
    Das kommt dem Ergebnis doch schon relativ nahe, blos leider verstehe ich in dem Programm rein gar nichts
    Irgentwie sehe ich da nich einen Timer oder ähnliches.

    Jetzt sind blos immer 2 LEDs an und eine Dimmt sich aus (Abwechselnd), was ja irgentwie blöde ist, da dann ja viel zu oft alle 3 aufeinmal an sind (RGB = weiss) und man nie die einzelfarben Rot, Grün und Blau hat.

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    59
    Beiträge
    117
    als bei mir läuft der code so wie ich ihn einstellte.habe es mit 16 mhz sowie mit interne 8 und 4 mhz laufen lassen.
    hast schon recht aber war ja ein vorschlag,mit dem weiss ist das halt so in dem fall.timer hat er nicht benutzt läuft alles software-mässig ab.
    bin auch noch am probieren eine art regenbogenverlauf zuerstellen.
    also in der art vor und zurück.aber in Bascom das zu prgrammieren wird
    aufwendig.in assembler würde das besser und einfacher laufen,kann aber
    kein assembler und programmiere mit Bascom erst seit ein paar wochen.
    wie du meinem autor-namen entnehmen kannst mache ich bei schönem wetter andere sachen.naja man kann nicht alles können.aber ich bleibe am ball.wenn du etwas gefunden hast kannst du es mir ja per e-mail schicken oder hier einstellen.

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178
    ja mache ich, ich bin schon die ganze zeit am probieren.

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178
    ich habs geschafft!!!! =D>

    Ist zwar mehr als kompliziert gecodet, aber immerhin erfüllt es voll und ganz seinen zweck.

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000                                          'Interner 8mhz Quarz
    
    
    '#####Ausgänge#####
    
    Config Portb = Output
    
    Gruen Alias Portb.2                                         'Grüne LED an Portb.5
    Rot Alias Portb.1                                           'Rote LED an Portb.4
    Blau Alias Portb.0                                          'Blaue LED an Portb.3
    
    
    
    
    '#####Deklarationen#####
    
    Dim Helligkeit As Byte                                      'Helligkkeitswert
    
    
    '###Hilfsbits und -bytes###
    
    Dim Ro1 As Bit
    Dim Bl1 As Bit
    Dim Gr1 As Bit
    
    Dim Reverse As Bit
    
    Dim Zler1 As Byte
    Dim Zler2 As Byte
    Dim Halb As Byte
    Dim Ganz As Byte
    
    '#####Timer#####
    
    Enable Interrupts
    
    Enable Timer0
    On Timer0 Int_timer0
    Config Timer0 = Timer , Prescale = 256
    
    
    Enable Timer1
    On Timer1 Int_timer1
    Config Timer1 = Timer , Prescale = 8
    
    Const Timervorgabe = 32203
    
    Helligkeit = 5
    
    '#####Hauptschleife#####
    
    
    Do
    
    
    
    Loop
    
    '#####Hauptschleife Ende#####
    
    
    
    
    
    '#####Timer0 isr#####
    
    Int_timer0:
    
    If Ro1 = 1 Then
      Toggle Rot
     If Rot = 1 Then
      Timer0 = 256 - Helligkeit
     Else
      Timer0 = Helligkeit
     End If
    End If
    
    If Bl1 = 1 Then
      Toggle Blau
     If Blau = 1 Then
      Timer0 = 256 - Helligkeit
     Else
      Timer0 = Helligkeit
     End If
    End If
    
    If Gr1 = 1 Then
      Toggle Gruen
     If Gruen = 1 Then
      Timer0 = 256 - Helligkeit
     Else
      Timer0 = Helligkeit
     End If
    End If
    
    Return
    
    
    '#####Timer1 isr#####
    
    Int_timer1:
    
    Timer1 = Timervorgabe                                       'Timervorgabewert von RNAVR berechnet
    
    If Helligkeit = 250 Then
    Set Reverse
    Incr Zler1
    End If
    
    If Helligkeit = 1 Then
    Reset Reverse
    Incr Zler2
    End If
    
    
    
    '####Moodlight####
    
    '###rot###
    
    If Zler2 = 0 Then Set Ro1
    If Zler1 = 1 Then Reset Ro1
    If Zler1 = 2 Then Set Ro1
    If Zler2 = 3 Then Set Ro1
    If Zler1 = 4 Then Reset Ro1
    If Zler2 = 2 Then Reset Ro1
    
    '###Gruen###
    
    If Zler2 = 0 Then Set Gr1
    If Zler1 = 2 Then Reset Gr1
    If Zler1 = 3 Then Set Gr1
    If Zler2 = 3 Then Reset Gr1
    If Zler2 = 4 Then Set Gr1
    
    '###Blau###
    
    If Zler2 = 1 Then Reset Bl1
    If Zler2 = 0 Then Set Bl1
    If Zler2 = 2 Then Set Bl1
    If Zler1 = 3 Then Reset Bl1
    If Zler1 = 4 Then Set Bl1
    
    '//////////////////////////////////////////////
    
    
    If Zler1 > 4 Then Zler1 = 0
    If Zler2 > 4 Then Zler2 = 0
    
    
    
    
    If Reverse = 1 Then Decr Helligkeit
    If Reverse = 0 Then Incr Helligkeit
    
    
    Return
    
    
    
    
    
    
    End

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

12V Akku bauen