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.

[ATMEGA8] Problem z programowaniem i uruchomieniem

05 Lip 2009 18:10 3107 22
  • Poziom 11  
    Z góry zaznaczam , że to mój pierwszy temat i jeśli się powtarza to proszę o usunięcie.

    Niedawno kupiłem AtMegę 8. Odrazu wzięłem się za budowę programatora (był to taki prosty programator 4 oporniki, podpięte pod uK i LPT).Gdy włączyłem ICProg lub PonyProg programy te nie wykrywały mi procka. I z tąd moje pytanie : Czy to może być wina programatora ,
    czy komputera? Przez przypadek także trochę mi się przegrzała . Czy to w tym tkwi problem ?
    Z góry dzięki
    bartek123321
  • Poziom 15  
    Jeżeli mówisz, ze Ci się przegrzała to pewnie źle podłączyłeś zasilanie albo pomyliłeś lnie z kompa. Zapewne procesor do wyrzucenia.
  • Pomocny post
    Poziom 35  
    Witam.
    Maiłem ten sam problem i z góry ci powiem, że nie wiem, od czego zależał, zrobiłem prostego siproga i chodziło bez problemu pod PonyProgiem.
    Co ci się troche przegrzało? Jeżeli uc to zależy od czego, od zwarcia jakiegoś czy raczej od programatora?
    Raczej spróbuj zrobić SiProga, którego naprawde zachwalam, a nie jest wiele bardziej skomplikowany.
  • Poziom 11  
    AtMega przegrzała mi się od lutownicy , poprostu za długo lutowałem do niej.
    Ture11 -> zarzucisz schemacikiem ? :)
    Dzięki :)
    PS. przypomniałem sobie jeszcze jedno . Czy sygnał nie zanika na kablu ,
    bo mam kabel pod LPT ok 1m dł. ?
  • Poziom 35  
    Witam ponownie.
    Zamieszczam skan z gazety EDW 1/2008, przepraszam, że takie pogniecione, ale mam nadzieję, że czytelne. U mnie kabel od kompa do Uc ma ok.80 cm i są czasami małe problemy, ale wątpie, zeby chodziło tu o długość... Chociaż mój programator to stk 200/300, a on ma scalaka 74hc244...

    Przegrzanie nie powinno źle wpłynąć... zależy na ile... Ja często lutuję atmege 8 podczas pracy i nic się nie dzieje, ale radze tego nie robić...


    Przepraszam za punkty, spróbuje zdjąc prowizje
  • Poziom 11  
    Dzięki za schemat. Przegrzanie było na 1 sec. Było ot spowodowane tym , że w sklepie zabrakło do atmeg podstawek ;/. a czy przyczyną tego mogły być żle podłączone linie programowania (bez podłączonego zasilania) ?
    Masz moze jakieś materiały a'la Ośla łączka ?
    Mój programator to hybryda ;p
    trochę z tego + do każdej linii rezystor 470 om
  • Poziom 35  
    Zdaje mi się, że raczej nawet z podłączonym zasilaniem nie powinno się nic stać, bo czasem zdarzało mi się odwrotnie podłączać piny, i nic się nie stało.
    Co prawda raz przylutowałem atmege8 bez podstawki do płytki i padła, ale chyba raczej z błędu na płytce...
    Atmega jak i inne AVR są bardzo dobrze zabezpieczone przed uszkodzeniem.
    Mam artykuł w gazecie z której pochodzi schemat, ale raczej potrzebuje trochę czasu i emaila, bo na elce to za punkty...
  • Pomocny post
    Poziom 35  
    tak mi się wydaje.
    Jeżeli masz mozliwość to kup sobie stk200/300 i nowego avrka, ale że dzisiaj jest niedziela to możesz popróbować z tymi, zawsze to jakieś doświadczenie.
  • Poziom 11  
    Dzięki, jutro zrobie ten ze schematu i Ci powiem czy miałeś racje. :)
    PS. Jakie procki poleciłbyś mi do nauki ?
    Jestem uczniem I gim. a moje środki są na minusie ;/
    buduje wszystko z tego co posiadam na zapleczu. większość z wylutu.
    U mnie w mieście atmega 9 zł.
  • Poziom 35  
    do nauki stanowczo ATMEGA8 :-), chociaż wszyscy używają at90s2313.
    W jakim języku uczysz się programowania?
  • Poziom 11  
    c++ na zaawansowanym poziomie i trochę bascom
    Jaki układ z ATMEGĄ na czele poleciłbyś mi na początek ? mrugająca LED ?
    Chciałbym złożyć coś z wyświetlaczem tekstowym LCD, lecz nie chce rzucać sie na głęboką wodę
  • Poziom 35  
    Hehe co do początków to nie mam doświadczenia bo od razu ruszyłem na głęboką wodę co było błędem...
    Co do migającej led to dobry pomysł, potem led sterowana przyciskiem.
    Jeśli chodzi o mnie to tylko w bascomie się bawię, jeśli o to chodzi to warto kupic książkę Marcina Wiązania pt :" Programowanie mikrokontrolerów w jeżyku bascom".
    Jeśli chodzi o bascoma to mogę ci trochę pomagać, ale sam nie do końca go znam.



    Szczerze mówiąc to pierwszy mój program to była właśnie zabawa alfanumerycznym lcd, ale wtedy to był bascom 8051 na at89c2051 (cienkie były...)
  • Poziom 11  
    wg. moich kolegów to jestem świrusem i rzuciłem się na głęboką wodę , bo przecież kto o zdrowych zmysłach lutuje elementy i to coś działa ? ;p
    z góry dzięki za bascom.
    kiedyś razem z kolegą zrobiliśmy ponga na picu (pic + przyciski + gniazdo chinch)
    Wyświetlacz mam , bo budowałem taki do kompa pod lpt.
    fajnie sie sterowało przezs lcd smartie :)
  • Pomocny post
    Poziom 35  
    Co do lcd to w sumie możesz traktowac jako podstawę - wystarczy komenda Lcd " i tu tekst" - tylko dla wyświetlaczy hd44780.



    Dodano:
    Hehe też taki sterowałem. Nawet chciałem wcisnąc w obudowę kompa, ale....


    ...znaczy o lcd mówie.
  • Poziom 11  
    właśnie taki posiadam :p
    myślałem coś o zmienianie tekstu przyciskami
    Jeszcze jedno : jak podłączyć lcd pod atmegę?
    mnie udało się wcisnąć;p
    w komorę po napędzie dyskietek
  • Poziom 35  
    :-)

    do
    cls
    lcd " Tekst fajny"
    waitms 10
    if pind.0 = 0 then
    cls
    lcd "No może nie taki fajny"
    end if

    loop

    tak na marginesie - dziękuje za punkty :-), no ale bez przesady :-)
    Chociaz jak każdemu staram się wstawić chociaż "pomógł" za dobre chęci.
  • Poziom 11  
    "if pind.0 = 0 then " - przycisk ?
    jeśli tak to pod który pin portu D podłączony ?
    bascom podobny do delphi i c++ trochę
    dlaczego bez przesady ?
    sam dostałem 200 pkt.
  • Poziom 35  
    To taki przykład, ale przycisk podłączony zostaje do portu d.0, w przypadku atmega8 to 2 pin, natomiast druga "strona " przycisku do masy.
    Jeżeli na pind.0 pojawi się 0 czyli masa - WTEDY wykonywany jest ciąg instrukcji pomiędzy THEN i END IF.
    Oczywiście na początku programu trzeba dodać:
    CONFIG PIND.0 = INPUT

    i włączyć rezystor podciągający -
    SET portd.0.

    Program jest przykładowy więc i ma błędy, na internecie jest pełno fajnych programów na początek.


    Faktycznie, mój tata raz uczył się któregoś z tych języków i pamiętam, że instrukcja if then jest identyczna.
  • Poziom 11  
    dzięki. a gdyby zrobić zamiast if pind0.0 = 0 zrobić tak :pind0.0 = 0 and pind0.1 = 0 then ... to gdy będą 2 przyciski to po dwóch będzie działać ? czy to dać w odobnych if'ach?
  • Poziom 35  
    Można i tak zrobić wtedy będzie reagował chyba tylko na 2 naraz. Tylko ważna rzecz - nie pind0.0 = 0 tylko pind.0 (bez tego zera przed kropką.)


    No i trzeba oczywiście dodać config pind.1 = input
    i set portd.1.
  • Poziom 11  
    Ture11 napisał:



    Faktycznie, mój tata raz uczył się któregoś z tych języków i pamiętam, że instrukcja if then jest identyczna.

    prawie identyczna : na końcu nie ma end if tylko w c++ tak :
    if (a == 1)
    {
    cout<<"elo"<<endl;
    }
    i na początku using namespace std::

    odnośnie programatora :

    czy lepiej zrobić ten układ , czy twój ?
    [ATMEGA8] Problem z programowaniem i uruchomieniem
  • Pomocny post
    Poziom 35  
    Zastanawiam się jeszcze nad tym gdzie jest pind.0 a gdzie portd.0 bo zawsze miałem z tym problemy.
    napewno :
    Config pind.0 - input
    set portd.0
    natomiast w warunku to nie pamiętam, czy portd.0 czy pind.0 ale raczej portd.0.

    Jak coś to zapraszam na gadu-gadu, no chyba, że chcesz sobie punktów "ponabijać" - nie mam nic ptrzeciwko :-)