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

Nauka programowania mikrokontrolerów dla analogowego elektronika

kortyleski 28 Lip 2008 11:34 6620 32
  • #1 5384992
    kortyleski
    Poziom 43  
    Posty: 12263
    Pomógł: 957
    Ocena: 3841
    Witam - Jak w temacie - poszukuję kogoś kto poprzez kontakt typu gg sprubuje mnie - analogowego elektronika wdrożyć w podstawy mikrokontrolerów.
    Wiem ze jest sporo do poczytania - tylko trzeba by było coś rozumieć... :)
    Potrzeba jest - raz że czasem trzeba proste sterowanie zbudować - na razie zamykam kilka kombinacyjnych w skrzynkę i działa ale na procku łatwiej.
    Jeśli sie znajdzie chętny - dysponuję sporym kapitałem punktów i chętnie się podzielę.
    Pozdrawiam
  • #2 5385217
    darkonel
    Poziom 19  
    Posty: 431
    Pomógł: 16
    Ocena: 38
    Witam. Na początek proponuję wykonać płytkę uruchomieniową (gniazdo na mikroprocesor, zasilanie, porty itp.). Następnie konieczną inwestycją jest programator. Bez tego nie da rady. Musisz określić się jaki język programowania Ci odpowiada.

    Cytat:
    Wiem ze jest sporo do poczytania - tylko trzeba by było coś rozumieć...

    Tutaj nie ma zmiłuj - to jest konieczność choćby po to, by poznać mapę pamięci mikrokontrolera, jego rozkazy i ich składnię itp. To są tylko podstawy. Później już tylko ćwiczenia praktyczne polegające na napisaniu kodu (np w programie Keil µVision), skompilowaniu go, wygenerowaniu pliku .hex, podłączeniu programatora, wskazania ścieżki do tegoż pliku i zaprogramowaniu mikrokontrolera. Następnie mikrokontroler wędruje z programatora do płytki uruchomieniowej i tutaj zaczyna się zabawa. Procesor nam "tak tańczy jak mu zagramy".
    To jest oczywiście tylko przykład. Ja tak postępuję i narazie ograniczam się tylko do procesorów z rodziny '51 (np. AT89C2051)programując w assemblerze. W ten sposób wykonałem szereg praktycznych układów, np. miernik częstotliwości, programowany generator sekwencji stanów logicznych, konwerter kodów itp.
    Reasumując, nie ma możliwości poznania tajników programowania mikrokontrolerów bez zagłębienia się w stosowną literaturę (np Piotr Gałka - "Podstawy programowania mikrokontrolerów 8051"). Od takiej literatury zaczynałem. Posiadam w domu i mogę odstąpić.
  • #3 5395022
    Procek_2
    Poziom 11  
    Posty: 46
    Ocena: 17
    Witam!

    Jeżeli chodzi o język to na pewno nie Asembler na początek bo jest trudny, ja preferuje BASCOM i kontrolery AVR mój ulubieniec ATTINY2313, książka Piotra Góreckiego pt. "Mikrokontrolery dla początkujących", tam jest wszystko pięknie krok po kroku wyjaśniane prostym językiem i wszystko jest oparte na konkretnych przykładach, zanim w ogóle dotkniemy się do procesora uczymy się programować na Q-Basicu, gdzie poznajemy podstawowe komendy, naprawdę polecam świetna książka i niesamowita zabawa przy programowaniu, a jeśli chodzi o płytkę testową to polecałbym sobie złożyć Kit AVT3500, jest to płytka której używam osobiście i jestem z niej bardzo zadowolony. Oczywiście chętnie pomogę przez GG, ale tą książkę warto mieć w domu
  • #4 5395267
    DeDua
    Poziom 20  
    Posty: 319
    Pomógł: 30
    Ocena: 26
    Na początku najlepiej zdecydować konkretnie pod jaki uC chcesz się nastawić. Do podstawowych zastosować masz rodzine uC: 8051, AVRy - najlepiej zaczynać od tych, szybko się nauczysz i możesz potem na jakieś ciekawsze uC - PIC, ARM. Dobrze też zaczynać od języka C czy BASCOM, asembler też jest dobry ale z nim czeka cię więcej zabawy. Jeśli miałeś styczność z językiem C to możesz pisać w środowisku Keil µVision lubRaisonance RIDE-51. Z książek bym polecił jakie kolwiek z wydawnictwa BTC z serii Programowanie mikrokontrolerów.
    Płytka i programator zdadzą się bardzo bo pisanie programów na kartce papieru moze zbyt wiele nie dać, aczkolwiek możesz uzywać symulatora jakiegoś uC i w ten sposob sprawdzać efekty swojej pracy i postępów.
  • #5 5395317
    djbpm
    Poziom 24  
    Posty: 585
    Pomógł: 76
    Ocena: 160
    Ja bym się nie pchał w 8051 bo to zacofane układy. Powstał w 1980 roku. To że dużo osób na nim pisze, nie znaczy że jest dobrym wyjściem. Polecam AVRy, i nie tiny, bo on nic nie ma, tylko od razu ATMega8. Pisanie, że assembler jest trudny, świadczy o jego nieznajomości. Jest to język którego rozumie sam układ, więc musi być najprostszy. Składnia prosta, rozkazy proste, za to jego wadą jest to, że trzeba sobie samemu napisać wszystko, jest żmudny, a nie jak w bascomie piszesz LCD i już LCD świeci. Za to wiesz co się dzieje w każdym takcie, a nie tak jak w bascomie napiszesz coś, i działa albo nie, bo gdzieś tam się coś zamazuje, trwa dziwnie długo, albo inne jaja. Zaczynałem od bascoma, i się wkurzyłem na niego, bo napisałem program który nie działał w nowszej wersji kompilatora a w starszej działał :) trafiłem na błąd w obsłudze stringów, oraz nawet kiedyś programowanie timera mi nie działało (napisałem wstawkę assemblerową, i zadziałało). Bardzo odradzam bascoma. Jak znasz C, to próbuj w C, jak go nie znasz, to najszybciej nauczysz się assemblera. Mi przejście z bascoma na ASM zajęło 2 dni. Tzn po 2 dniach działał już całkiem spory program w ASM. Jest dużo dokumentacji, ale niestety większość po angielsku. Jeszcze jedną wadą ASM jest nieprzenoszalność kodu na inne układy. Jak napiszesz w C, to szybko przerobisz kod na uC z innej rodziny, a w ASM czasem szybciej napisać program od nowa niż go przerabiać. Pozdrawiam powodzenia!
  • #7 5397269
    MStaniszczak
    Poziom 11  
    Posty: 63
    Ocena: 5
    "Nieco" drogi system;-) Ja się uczę asseblera ATmegi. Mam płytkę ZL3AVR - sporo tańszą a do najtańszych też nie należała. Ogólnie moje zadnie jest też takie, że albo assembler albo C. Bascom to pochodna basic-a którego unikam jak ognia;-) Ale ja może ma łatwiej bo z programowanie (nie mikrokontrolerów) żyje;-)
  • #8 5399769
    kortyleski
    Poziom 43  
    Posty: 12263
    Pomógł: 957
    Ocena: 3841
    Ano włąśnie... Po kilku waszych postach jestem tak samo durny jakk na początku, albo jeszcze bardziej...
    Napisałem wyraźnie:
    Witam - Jak w temacie - poszukuję kogoś kto poprzez kontakt typu gg sprubuje mnie - analogowego elektronika wdrożyć w podstawy mikrokontrolerów.
    Wiem ze jest sporo do poczytania - tylko trzeba by było coś rozumieć... Smile
    I tego sie proszę trzymać.
  • #9 5399943
    MStaniszczak
    Poziom 11  
    Posty: 63
    Ocena: 5
    To może tak:-) Ja sam się uczę assebmblera na ATmega i jednocześnie elektronikiem jestem bardzo początkującym. Jednak programista "zawodowym";-) Więc jak chcesz mogę pomóc Ci w assemblerze albo C (ale tutaj ogólnym, nie na mikrokontrolery) a Ty pomógł byś mi w mojej przygodzie z elektroniką;-) Jeśli jesteś zainteresowany pisz na PW.
  • #10 5400514
    kloszi
    Poziom 21  
    Posty: 545
    Pomógł: 34
    Ocena: 88
    Kup sobie jakiś zestaw edukacyjny na µC i zacznij od czegoś prostego:
    -zapal i zgaś diodkę
    -....

    później jak nie będziesz czegoś konkretnego rozumiał to google, elektroda.
    Nikt Ci przecież nie będzie robił wykładów przez gg :) . To tak samo brzmi jak np. "Chce się nauczyć angielskiego przez gg, kto mi pomoże ?"
  • #11 5400597
    kortyleski
    Poziom 43  
    Posty: 12263
    Pomógł: 957
    Ocena: 3841
    oczywiście że kupię - ale w trakcie prac pojawiają się setki pytań (ja nie przyjmuje świata ot tak, pytam dlaczego) i tu chcę sobie zapewnić "technical support"
  • #12 5400820
    d2-BRONX
    Poziom 11  
    Posty: 21
    jeśli można wtrącić, jaki jest według was najlepszy programator na AVR-y? ( jak na razie chciałbym zaprogramować ATMEGA8)
  • #13 5408242
    JOLLY
    Poziom 15  
    Posty: 198
    Pomógł: 5
    Ocena: 8
    Zależy czego oczekujesz od programatora, czy ma być tylko SPI, czy równoległe też, czy USB czy LPT. Na początek polecam zrobienie lub zakup najprostszego programatora SPI na LPT, jak jego będziesz miał, to będziesz mógł zabrać się za zrobienie czegoś lepszego. Chyba, że wolisz zakup.
  • #14 5409080
    chudybyk
    Poziom 32  
    Posty: 1525
    Pomógł: 196
    Ocena: 294
    Jeśłi mogę cos doradzić: Spróbuj zacząć od ATMEGA16 i zaopatrzyć się w programator typu JTAG (do kupienia za ok 100 zł) To najmniejszy z procków AVR, który obsługuje JTAG, a ten się przydaje nie tylko dla początkujących. Za pomocą JTAG-a możesz programować procesor i uruchamiać go w trybie krokowym, wstawiać breakpointy, podglądać rejestry i pamięć itp. w żywym układzie! Jeśli nie czujesz jeszcze języka C, to taki zestaw znakomicie pokazuje jak działa procesor, co dokładnie robią asemblerowe komendy, moim zdaniem to najprostszy sposób na poznanie zasad programowania mikrokontrolerów.
  • #15 5409374
    seba_x
    Poziom 31  
    Posty: 2071
    Pomógł: 29
    Ocena: 112
    >kortyleski ściągnij sobie demo bascoma i jakiegoś innego "C" , porównaj , popatrz jak wyglądają przykładowe programy i zdecydujesz który język wybrać .

    uP kup sobie ATMega8 (najlepiej 2-3 sztuki) , lcd 2x16 do tego prosty programator stk200/300 i jeszcze jakąś płytkę stykową uniwersalną i ćwicz ;-)

    poczytaj koniecznie o ustawianiu fuse bitów na początek .
  • #16 5422361
    napioo
    Poziom 14  
    Posty: 84
    Pomógł: 3
    Ocena: 7
    kortyleski napisał:
    Ano włąśnie... Po kilku waszych postach jestem tak samo durny jakk na początku, albo jeszcze bardziej...
    Napisałem wyraźnie:
    Witam - Jak w temacie - poszukuję kogoś kto poprzez kontakt typu gg sprubuje mnie - analogowego elektronika wdrożyć w podstawy mikrokontrolerów.
    Wiem ze jest sporo do poczytania - tylko trzeba by było coś rozumieć... Smile
    I tego sie proszę trzymać.
    od poczytania kilku postów wiedzy nie przybędzie skoro koledzy dają rady to już jest jakaś wiedza. Po prostu przeanalizować odpowiedzi, wybrać procek, program programator, poczytać i wtedy zadać pytanie :D i z elektronika analogowego może uda się zrobić ...
  • #17 5423882
    elektromax2
    Poziom 14  
    Posty: 110
    Pomógł: 3
    Ocena: 2
    Jeśli chodzi o płytki testowe/uruchomieniowe do ATMega8, czy możecie polecić jakieś zestawy do złożenia bądź gotowe? Od razu zaczynać od ATMega16 czy najpierw ATmega8? Jakie jest "za" i "przeciw"?
  • #18 5424788
    MStaniszczak
    Poziom 11  
    Posty: 63
    Ocena: 5
    Ja mam ZL3AVR. Nie jest tania, ale dopasowane do książki "Mikrokontrolery AVR ATmega w praktyce" Oparta jest o ATmega32.
    Myślę że nie ma znaczenia czy uczysz się na Atmedze8 16, 32 czy innej. I tak do projektu wybierzesz to co najbardziej pasuje (nie za duże nie za małe, jak nie będą potrzebne jakieś specjalne peryferia to często ATtiny wystarczy).
  • #20 5440877
    szun
    Poziom 19  
    Posty: 392
    Pomógł: 9
    Ocena: 27
    kortyleski napisał:
    Witam - Jak w temacie - poszukuję kogoś kto poprzez kontakt typu gg sprubuje mnie - analogowego elektronika wdrożyć w podstawy mikrokontrolerów.
    Wiem ze jest sporo do poczytania - tylko trzeba by było coś rozumieć... :)
    sporym kapitałem punktów i chętnie się podzielę.

    Wszystko ładnie ale czy kolega może określić sam jaką wiedze posiada
    na temat podstaw informatyki . mam na myśli pamięci ,rejestry,liczniki,porty,itd.
    Jeśli dowiemy się więcej na temat wiedzy jaką kolega posiada to z pewnością znajdą sie koledzy i pokierują od czego zacząć
    Osobiście od roku zabawiam się w programowanie BASCOM .
    Kilka miesięcy przeleciało zanim udało się uruchomić programator
    nawiązać kontakt z procesorem oczywiście zawsze schody i więcej pytań w myśl
    powiedzenia im dalej w las tym więcej drzew
  • #21 5442595
    kortyleski
    Poziom 43  
    Posty: 12263
    Pomógł: 957
    Ocena: 3841
    Oczywiście wiem co to port, rejestr czy licznik. Niestety nie znam ich zastosowania w procku, a przynajmniej nie do końca.
    Generalnie znam i umiem budować układy spełniające określone funkcje ale na klasycznych układach kombinacyjnych. Tylko chce uniknąć stosowania dwudziestu scalaków w momencie gdy można jeden procesor
  • #23 5472762
    PiotrZabek
    Poziom 14  
    Posty: 126
    Pomógł: 4
    Ocena: 13
    Programator masz już w komplecie. Strasznie drogo to wychodzi prawie 200 złotych z przesyłką. Ja bym na twoim miejscu wziął na początek coś z ATMEGĄ, można o niej znaleźć dużo w necie informacji, programów napisanych i pdfów.
  • #24 5473007
    MStaniszczak
    Poziom 11  
    Posty: 63
    Ocena: 5
    I z tego co pamiętam "Mikroprocesorowa Ośla Łączka" opiera się o bascoma, więc książka ok tylko jeśli bascoma właśnie chcesz się uczyć.
  • #25 5473055
    PiotrZabek
    Poziom 14  
    Posty: 126
    Pomógł: 4
    Ocena: 13
    Chodzi o programowanie w języku C, bascom jest prosty w pliku pomocy jest mnóstwo komend do niego.
  • #26 5481148
    Szeregowy Maliniak
    Poziom 11  
    Posty: 36
    Ocena: 6
    Chciałbym się zapytać czy językiem c++ mogę kontrolować roboty klasy minisumo i sumo? Jeśli tak polećcie jakąś książke.
  • #27 5524406
    jackpop
    Poziom 15  
    Posty: 189
    Ocena: 4
    Od wielu tygodni szukałem podobnej rozmowy i w końcu znalazłem. Proszę o pokierowanie mną:

    w technikum nauczyłem się ASM dla 8051 przy użyciu wspomnianego już systemu DSM 8051. Podstawy tejże informatyki są mi już więc znane. Poza tym uczę się C, ale tu początki (składnie, tablice, dane...) z książek helionowskich.

    Chciałbym poszerzyć swoją wiedzę o inny procek (wszyscy tak chwalą te AVRy...) i do tego zdaje się potrzebny mi jest programator oraz coś, na czym będę testował programy (czyli płytka z uP, ze dwie diodki, buzer i LCD - mam nawet jeden 2x16). Do tego przydałby się mały tutorial jak to poskładać do kupy.

    Ah i zapomniałem dodać: programator jak niedrogi to przeboleję i mogę kupić, ale jak to wszystko da się zrobić i nie mieć z tym wielkich problemów (dużo dziwnych, drogich, trudnych do zdobycia elementów) to mogę się pokusić o własnoręczne wykonanie.
  • #28 5524813
    moshica
    Poziom 12  
    Posty: 156
    Ocena: 8
    Hm. ...czytam ten post i chyba mam gorszy dylemat. Elektroniką analogową się zajmowałem dawno, chciałbym się też nauczyć programowania mikrokontroloerów, ale mam wstręt do programowania, bo w tym nigdy dobry nie byłem, znałem pascala kiedyś, C nierozumiałem a basica się nie uczyłem. Czy jest dla mnie szansa wejść w ten temat ? poprostu jako informatyk administrowałem systemami i siecią nie pisałem programów ;-(
  • #29 5529794
    szun
    Poziom 19  
    Posty: 392
    Pomógł: 9
    Ocena: 27
    moshica napisał:
    Hm. ...czytam ten post i chyba mam gorszy dylemat. Elektroniką analogową się zajmowałem dawno, chciałbym się też nauczyć programowania mikrokontroloerów, ale mam wstręt do programowania, bo w tym nigdy dobry nie byłem, znałem pascala kiedyś, C nierozumiałem a basica się nie uczyłem. Czy jest dla mnie szansa wejść w ten temat ? poprostu jako informatyk administrowałem systemami i siecią nie pisałem programów ;-(


    tak masz szansę
    1. musisz mieć programator
    2. musisz mieć procesor
    3. musisz chcieć zdobywać wiedzę

    I moja rada to dążyć do tego aby uzyskać komunikację PC a AVR
    1.dostępne darmowe oprogramowanie BASCOM
    2.pomoc w naszym Polskim języku

    czyli nawet zapal diodę na dowolnym porcie
    jeśli zapalisz i sprawi to ci radość to będzie coś z ciebie
    i do roboty powodzenia
  • #30 5530397
    jackpop
    Poziom 15  
    Posty: 189
    Ocena: 4
    szun, widze, że znasz się na temacie. Mógłbyś rzuć na mojego posta wcześniej i pomóc mnie jakoś nakierować? A jak nie to powiedz czego konkretnie mam szukać

Podsumowanie tematu

✨ Dyskusja dotyczy nauki programowania mikrokontrolerów dla osób z doświadczeniem w elektronice analogowej, które chcą przejść do sterowania układami za pomocą procesorów. Zalecane jest rozpoczęcie od wyboru rodziny mikrokontrolerów, najczęściej polecane są AVR (np. ATmega8, ATmega16, ATTINY2313) oraz rodzina 8051 (np. AT89C2051), choć niektórzy odradzają 8051 jako przestarzałą. Języki programowania rekomendowane na start to BASCOM (język BASIC dla AVR) oraz C, z uwzględnieniem, że asembler jest trudniejszy, ale daje pełną kontrolę nad procesorem. Wskazano na konieczność posiadania programatora (np. STK200/300, programator SPI na LPT, JTAG dla AVR) oraz płytki uruchomieniowej lub zestawu edukacyjnego (np. AVT3500, ZL3AVR, EVBavr04 firmy Propox). Podkreślono znaczenie praktycznych ćwiczeń, takich jak zapalanie diody, oraz naukę ustawiania fuse bitów. Wskazano na dostępność polskojęzycznych materiałów i książek, m.in. "Mikrokontrolery dla początkujących" Piotra Góreckiego oraz serii wydawnictwa BTC. Poruszono też temat darmowego oprogramowania BASCOM i mikroBasic dla PIC, które ułatwiają naukę. Autorzy dyskusji zwracają uwagę na potrzebę cierpliwości, samodzielnego zdobywania wiedzy i korzystania z symulatorów oraz wsparcia technicznego, np. przez komunikatory internetowe. Wskazano, że nauka mikrokontrolerów wymaga zrozumienia podstaw informatyki, takich jak pamięci, rejestry, porty i timery, oraz praktycznego zastosowania tych pojęć w programowaniu.
Wygenerowane przez model językowy.
REKLAMA