Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[bascom] dwukolorowa LED pierwszy program

01 Sie 2009 22:59 2610 3
  • Poziom 21  
    Witam
    Zacząłem się uczyć programowania. Chcę wysterować dwukolorową led tak by zapalała się raz na czerwono raz na zielono. Diodę podłączam standardowo (Portd.1 i portb.1 do baz tranzystorów). Po włączeniu układu dioda nie chce mi migać-palą się chyba 2 kolory na raz. Gdzie w programie popełniłem błąd?

    Code:

    'jakiś tam program
    $regfile = "m8def.dat"                                      'definicja procesora
    $crystal = 1000                                             'czestotliwosc pracy


    'deklarowanie portów
    Config Portb = Output
            Portb.1 = 0
    Config Portd = Output
            Portd.1 = 0

     Do
        Portb.1 = 1                                              'zapal led1
        Waitms 2000                                             'poczekaj 2s
        Portb.1 = 0                                             'zgaś led1
        Waitms 1000                                             'poczekaj 1s
        Portd.1 = 1                                             'zapal led2
        Waitms 2000                                             'poczekaj 2s
        Portd.1 = 0                                             'zgaś led2
        Waitms 1000                                             'poczekaj 1s
     Loop                                                     'koniec petli
    End             

    Pytania dotyczące programowania w Bascomie proszę zadawać w dziale Mikrokontrolery AVR. Przeniosłem.
    [Dr.Vee]
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 1  
  • Poziom 21  
    Rzeczywiście, powinno być 1000000.
    Dioda jest 3 końcówkowa (wspólna katoda).

    edit.
    Trochę przerobiłem program. Anody podłączyłem bezpośrednio do portów i działa ale między kolorem czerwonym a zielonym pali się jeszcze pomarańczowy. Czy to dla tego, że nie ma tranzystorów?

    Code:

    Config Portb = Output
            Portb = 255
    Config Portd = Output
            Portd = 255
     Do
        Reset Portb.1                                            'zapal led1
        Wait 2                                                      'poczekaj 2s
        Set Portb.1                                               'zgaś led1
        Wait 1                                                      'poczekaj 1s
        Reset Portd.1                                            'zapal led2
        Wait 2                                                      'poczekaj 2s
        Set Portd.1                                               'zgaś led2
        Wait 1                                                      'poczekaj 1s
      Loop                                                          'koniec petli
    End     
     
  • Poziom 20  
    Nie, to dlatego ze skoro podłaczyles anody do portow to Set zapala leda a nie gasi ;] zamien sety na resety i odwrotnie i bedzie.