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] Sprawdzenie kodu sterownika dyskotekowego 6 lamp 230V na atmega8 w Bascom

zuba1 22 Lut 2012 21:09 2168 20
REKLAMA
  • REKLAMA
  • #2 10584969
    ZbeeGin
    Poziom 39  
    zuba1 napisał:
    Proszę o sprawdzenie kodu do sterownika dyskotekowego 6-ciu lamp 230V program wygląda tak:

    Same generowanie efektu przez Waitms przy interakcji użytkownika za pomocą klawiszy dyskwalifikuje ten program już na starcie. Jak do tego dodamy te grupy poleceń bitowych z aliasami LampaX to najlepszym miejscem dla tego programu jest systemowy Kosz a nie mikrokontroler.

    Poczytaj o licznikach, przerwaniach, operacjach bitowych na bajtach, szybkim dostępie do ciągów danych i dopiero potem napisz ten program ponownie.
  • REKLAMA
  • #3 10587007
    Konto nie istnieje
    Konto nie istnieje  
  • #4 10589866
    zuba1
    Poziom 13  
    więc jak to miało by wyglądać???
  • REKLAMA
  • #5 10590053
    Konto nie istnieje
    Konto nie istnieje  
  • #6 10596102
    zuba1
    Poziom 13  
    Coś zamiast działać to szaleje i nie działają 2 wyjścia ,nie wiem co zrobić :(
  • #7 10596201
    Konto nie istnieje
    Konto nie istnieje  
  • #8 10596212
    sp3ots
    Poziom 38  
    Witam !
    Tak na szybko to w "efekcie 1" wymień linie:
    
    Data &B00100000 , &B00010000 , &B00000100 , &B00000010 , &B00000001 , 255
    

    Zamień na tą linię:
    
    Data &B00100000 , &B00010000 , &B00001000 , &B00000100 , &B00000010 , &B00000001 , 255
    

    Co do prędkości nie wypowiem się ( mam ustawione fuse bity do pracy z rezonatorem kwarcowym )
  • #9 10600257
    zuba1
    Poziom 13  
    no nie działa dałem nowy procesor ale dalej 2 środkowe wyjścia w porcie c nie działają a i w dodatku nie rozumiem po co w data są 2 zera na początku tak wygląda kod lecz nie działa

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #10 10600568
    Konto nie istnieje
    Konto nie istnieje  
  • #11 10601279
    ZbeeGin
    Poziom 39  
    Saabotaz napisał:
    2) NIE MA CZEGOŚ TAKIEGO JAK Config Pind.1 = Input !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NIE MA NIE MA NIE MA NIE MA NIE MA NIE MA NIE MA. Ciągle po kimś poprawiam Pinx na Portx. I ciągle jest Pinx.

    Niech się kolega nie wydziera jak nie ma racji. Tu nie Sejm Rzeczypospolitej Polskiej.
    Proszę sobie dokładnie przeczytać: http://avrhelp.mcselec.com/index.html

    Saabotaz napisał:
    4) Kiedy już poprawisz Config Pinx na Portx tak jak ci napisałem wczesniej w programie to popraw także wewnętrzne podciągnięcie portów Portd.

    Nic nie wiemy czy kolega zuba1 nie ma przypadkiem podciągnięcia z zewnątrz, bo nie przedstawił pełnego schematu.
  • #12 10601997
    zuba1
    Poziom 13  
    Ledy podpoiłem pod porty od pc0-pc5.Pc2 i pc3 nie działają tak samo jak i oryginał z żarówkami. 4 switche podprowadziłem do masy za pomocą 4 rezystorów po 22k każdy. Są one podpięte pod porty d 1,2,3,4.nie wiem czemu nie działa może jest coś źle w tym momencie:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #13 10602292
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #14 10603352
    ZbeeGin
    Poziom 39  
    Skorzystaj najpierw z symulacji programu. Wiele prostych błędów da się w ten sposób wyeliminować - zwłaszcza logicznych.
  • #15 10610424
    zuba1
    Poziom 13  
    Nic w niej nie widzę zrobiłem symulację ale nic złego sie nie działo niemam już pojęcia co się stało.
  • #16 10610554
    Konto nie istnieje
    Konto nie istnieje  
  • #17 10611688
    zuba1
    Poziom 13  
    Od początku próbuje ci przekazać ,że zrobiłem te wszystkie punkty.
    1.Jeszcze nie powstał układ spytałem się czy kod będzie działał .
    2.Sprawdziłem na trzech procach i nie działa.
    3.Na razie jest wszystko na płytce stykowej.
    4.Schemat jeszcze nie powstał.
  • #18 10612389
    Konto nie istnieje
    Konto nie istnieje  
  • #19 10612877
    zuba1
    Poziom 13  
    Działa błąd był w fusebitach pozdrawiam i dziękuję za owocną współpracę i cierpliwość podaje sprawny kod (prawie bo namieszałem w data)
    $regfile = "m8def.dat"
    $crystal = 1000000

    Config Pind.1 = Input
    Config Pind.2 = Input
    Config Pind.3 = Input
    Config Pind.4 = Input
    Config Portc = Output

    Config Timer0 = Timer , Prescale = 1024
    On Timer0 Przerwanie

    Dim Licznik As Byte
    Dim Tryb As Byte
    Dim Dana As Byte
    Dim Szybkosc As Byte
    Dim Guzikczekaj As Word

    Licznik = 0
    Dana = 0
    Guzikczekaj = 0
    Szybkosc = 20
    Tryb = 1
    Restore Podstawowy

    'klawisze
    Up Alias Pind.1
    Down Alias Pind.3
    L Alias Pind.2
    R Alias Pind.4

    Portd = &B00001111
    Portc = &B11111111


    Enable Timer0
    Enable Interrupts
    Start Timer0

    Do
    If Guzikczekaj = 1000 Then 'opoznienie dla przyciskow
    Guzikczekaj = 0
    If Up = 0 And Szybkosc < 100 Then Incr Szybkosc 'max szybkosc 100
    If Down = 0 And Szybkosc > 1 Then Decr Szybkosc
    If R = 0 And Tryb < 4 Then Incr Tryb 'max tryb 4
    If L = 0 And Tryb > 0 Then Decr Tryb
    End If

    If Licznik > Szybkosc Then
    Licznik = 0
    Read Dana
    If Dana = 255 Then
    Select Case Tryb
    Case 1 : Restore Podstawowy
    Case 2 : Restore Ufo
    Case 3 : Restore Migumig
    Case 4 : Restore Strobo1
    Case 5 : Restore Strobo2
    End Select
    Read Dana
    End If
    Toggle Dana
    Portc = Dana
    End If

    Incr Guzikczekaj
    Loop

    End
    Przerwanie:
    Incr Licznik
    Return

    'ostatni bajt efektu zawsze musi byc 255
    'bit = 1 to lampka zapalona
    Podstawowy:
    Data &B10000000 , &B01000000 , &B00100000 , &B00010000 , &B00001000 , &B00000100 , 255


    Ufo:
    Data &B00100001 , &B00010010 , &B00001100 , &B00010010 , 255

    Migumig:
    Data &B00100000 , &B00000001 , &B00010000 , &B00000010 , &B00001000 , &B00000100 , 255

    Strobo1:
    Data &B11111111 , &B00000000 , 255

    Strobo2:
    Data &B00000111 , &B00111000 , 255
  • #20 10612952
    sp3ots
    Poziom 38  
    zuba1 napisał:
    Działa błąd był w fusebitach pozdrawiam i dziękuję za owocną współpracę i cierpliwość podaje sprawny kod (prawie bo namieszałem w data)


    Podstawowy:
    Data &B10000000 , &B01000000 , &B00100000 , &B00010000 , &B00001000 , &B00000100 , 255



    Powyżej jedna z linii Twojego kodu, z której wynika że "efekt podstawowy" nie działa prawidłowo.
  • #21 10613187
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA