logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[bascom] zmiana kolorów rgb

marcinosko 29 Mar 2010 01:54 1139 0
REKLAMA
  • #1 7893341
    marcinosko
    Poziom 14  
    Witam od pewnego czasu męczę się z diodą rgb i atmegą8 :D udało mi się spłodzić taki o to program, ale mam problem z wychodzeniem z pętli a nawet to nie jest pętla (ogólnie to nie mam pojęcia czego tak właśnie tek kawałem zaznaczony działa) ale działa ;) w jaki sposób mogę z niego wyjść bo skończyły mi się wszelkie pomysły jak by to można zrobić. Tak na wszelki wypadek napisze jak to powinno działać bo z moimi kodami programów to jest ciężko się połapać :) . Po naciśnięciu guzika ( PD0 ) ma się wybierać kolor zielony, czerwony, niebieski albo ma się wyłączać albo płynna zmiana kolorów. Wszystko działa ale jak wejdzie do zmiany kolorów to nie chce wyjść.
    Z góry dzięki :D

    
    $regfile = "M8def.dat"
    $crystal = 8000000
    Ddrb = &HFF
    Config Portd.0 = Input
    sei
    Enable Ovf1
    Set Tccr1a.com1a1
    Set Tccr1a.com1a0
    Set Tccr1a.com1b1
    Set Tccr1a.com1b0
    Set Tccr1a.wgm10
    Set Tccr1b.cs10
    Set Tccr2.wgm20
    Set Tccr2.wgm21
    Set Tccr2.com20
    Set Tccr2.com21
    Set Tccr2.cs20
    
    
    Dim I As Byte
    Dim A As Byte
    Dim B As Byte
    Dim Meni As Byte
    On Ovf1 Zmiana0
    
    Meni = 2
    A = 0
    B = 0
    I = 0
    
    Set Portd.0
    Down Alias Pind.0
    
                                                         'off
    Do
    '----------------------------------------------------------------------------
    If Meni = 1 Then
       For I = 0 To 255 Step 1
          Waitms 1
       Next I
       I = 255
       For A = 0 To 255 Step 1
          Waitms 1
       Next A
       A = 255
       For B = 0 To 255 Step 1
    
          Waitms 1
       Next B
       B = 255
        For I = 255 To 0 Step -1
          Waitms 1
       Next I
       I = 0
       For A = 255 To 0 Step -1
          Waitms 1
       Next A
       A = 0
       For B = 255 To 0 Step -1
          Waitms 1
       Next B
       B = 0
    End If
    '-----------------------------------------------------------
    If Meni = 2 Then                                            'czerwony
       A = 255
       B = 0
       I = 0
    End If
    
    If Meni = 3 Then                                            'niebieski
       B = 255
       I = 0
       A = 0
    End If
    
    If Meni = 4 Then
       A = 0
       B = 0
       I = 255
    End If                                                      ' zielony
    
    If Meni = 5 Then
       I = 0
       A = 0
       B = 0
    End If
    If Meni = 6 Then Meni = 0
    
    Loop
    End
    
    Zmiana0:
       Ocr1a = I
       Ocr2 = A
       Ocr1b = B
    
    Return
    
    
  • REKLAMA
REKLAMA