Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięBascom, mikorokontrolery i to wszystko
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Słuchajcie, były już na forum te tematy, ale nie zrozumiałe. Nic się nie znam na mikro kontrolerach, a chciał bym coś wiedzieć, chociaż na jakie rodzaje sie dzielą, i jak to jest z tym całym programowaniem bascom`em itp. Czy zna ktoś stronę na której moge o tym poczytać, na jakie się dzielą, jak wygląda praca z nimi i programowanie ich... Trudny temat, ale to by była tylko wsakzówka, dalej będe sam szukał
Na polskim rynku największą popularność mają mikrokontrolery następujących rodzin: C51, AVR, PIC (co nie oznacza, że nie ma innych). Rodzina C51 jest mikrokontrolerem wypromowanym przez INTEL, ale inne firmy stworzyły mnóstwo mutacji (najwięcej PHILIPS i ATMEL). Ze względu na to, że ATMEL umieścil w mikrokontrolerze famięć FLASH stał sie bardzo popularny. Rodzina C51 jest już trochę wiekowa, ale "dziadek C51" dobrze się trzyma. Rodzina AVR (i MEGA AVR) jest wynalazkiem ATMEL'a. AVR zawierają różnorodne konfiguracje (różnorodne zestawy portów i interfejsów, przetworniki ADC itp). Rodzina PIC jest produkowana przez MICROCHIP i podobnie jak poprzednie zawiera różnorodne peryferale. Najwięcej informacji na temat poszczególnych mikrokontrolerów znajdziesz na strona ww producentów. W języku polskim ukazało się wiele książek dotyczących tematu. Zajrzyj na stronę http://www.btc.pl.
W ogólności temat jest bardzo szeroki i nie sposób go objąć jednym pytaniem lub jedną odpowiedzią.
W ogólności temat jest bardzo szeroki i nie sposób go objąć jednym pytaniem lub jedną odpowiedzią.
No to widzę że tego sie nie da pojąć tak łatwo, ale dajmy na to że chciał bym się zająć tymi z pamięcią flash... czy warto sie uczyć języka do tego bascom? Bo chyba z tego co zrozumiałem można programować w C... jak to wogóle się robi żeby program znalazł sie na tym kontrolerze? musi być jakieś urządzenie do tego jak sie domyślam. Takie całkoicie podstawowe informacje mnie interesują, wole najpierw sie tego doczytać w necie czy w ogóle to jest na mój portfel, i moje możliwości w domu mozliwe!!! Czekam na adresy jakieś z ABC, a tak w ogóle to czy ta książka jest dobra do tego co chcę się nauczyć od podstaw??? http://www.btc.pl./index.php?id=avr
Widzisz kolego, Temat mikrokontrolerów jest bardzo ciekawy, rozległy i praktycznie zastosowania są nielimitowane. Procki można użyć wszędzie. Rozumiem, że skręcasz w stronę mikrokontrolerów z rodziny AVR. To są fajne procki i dużych różnorodnych możliwościach.
Pytasz o książkę autorstwa J.Dolińskiego. Muszę ci powiedzieć, że ja jej sobie nie kupiłem, ale to nie wynika z tego, że była droga, czy żal mi było kasy (ona mi nic nie wnosi).
Proces powstawania programu jest następujący:
- piszesz program w jakimś języku (jest to postać źródłowa),
- za pomocą kompilatora (to jest taki program) tłumaczysz program z zapisu źródłowego na postać binarną (zapisaną najczęściej w postaci hex),
- za pomocą programatora umieszcza się program w pamięci flash
I gotowe. Prawda że prostę? Ale bez żartów sztuka pisania programów jest sztuką samą w sobie. Pytasz o język programowania. Czy znasz C na PC'ty? Jeżeli tak, to polecam C na mikrokontrolery. Filozofia nie różni się. Jeżeli nie znasz C, to programujesz w assemblerze. Raczej nie polecam BASCOM, ponieważ wnosi złe nawyki do sztuki programowania (tak jak BASIC), ale oczywiście wybór należy do ciebie.
W kwestii programatorów to jest wiele różnych rozwiązań. Można kupić gotowy i uniwersalny (ja taki mam, ale to kupa kasy), można sobie taki zrobić (jest wiele propozycji na łamach EP). W przypadku procesorów AVR jest ciekawa możliwość (programowania procesorów w układzie, nie trzeba wyjmować procka z układu by włożyć do programatora). Program umieszczony w pamięci flash jest umieszczony w sposób trwały (nie ginie po wyłączeniu prądu).
Inną rodziną wartą zapoznania się jeszcze C51 (chodziaż już trochę wiekowa), ale z tej rodziny tylko wybrane mogą być programowane w układzie. Przewagą C51 jest znowu to, że jest bogato opisana w literaturze i jest wiele przykładów.
Wbrew obiegowej opinii, że programowanie w assemblerze jest trudne (a jest to nieprawda) zachęcam do zapoznania się z tym systemem tworzenia programów. Programowanie w asm ma tylko jedną wadę (nie przenosi się na inne architektury). [/list]
Pytasz o książkę autorstwa J.Dolińskiego. Muszę ci powiedzieć, że ja jej sobie nie kupiłem, ale to nie wynika z tego, że była droga, czy żal mi było kasy (ona mi nic nie wnosi).
Proces powstawania programu jest następujący:
- piszesz program w jakimś języku (jest to postać źródłowa),
- za pomocą kompilatora (to jest taki program) tłumaczysz program z zapisu źródłowego na postać binarną (zapisaną najczęściej w postaci hex),
- za pomocą programatora umieszcza się program w pamięci flash
I gotowe. Prawda że prostę? Ale bez żartów sztuka pisania programów jest sztuką samą w sobie. Pytasz o język programowania. Czy znasz C na PC'ty? Jeżeli tak, to polecam C na mikrokontrolery. Filozofia nie różni się. Jeżeli nie znasz C, to programujesz w assemblerze. Raczej nie polecam BASCOM, ponieważ wnosi złe nawyki do sztuki programowania (tak jak BASIC), ale oczywiście wybór należy do ciebie.
W kwestii programatorów to jest wiele różnych rozwiązań. Można kupić gotowy i uniwersalny (ja taki mam, ale to kupa kasy), można sobie taki zrobić (jest wiele propozycji na łamach EP). W przypadku procesorów AVR jest ciekawa możliwość (programowania procesorów w układzie, nie trzeba wyjmować procka z układu by włożyć do programatora). Program umieszczony w pamięci flash jest umieszczony w sposób trwały (nie ginie po wyłączeniu prądu).
Inną rodziną wartą zapoznania się jeszcze C51 (chodziaż już trochę wiekowa), ale z tej rodziny tylko wybrane mogą być programowane w układzie. Przewagą C51 jest znowu to, że jest bogato opisana w literaturze i jest wiele przykładów.
Wbrew obiegowej opinii, że programowanie w assemblerze jest trudne (a jest to nieprawda) zachęcam do zapoznania się z tym systemem tworzenia programów. Programowanie w asm ma tylko jedną wadę (nie przenosi się na inne architektury). [/list]
W kwesti finansowej, to raczej użycie procesorów obniża koszty urządzeń. Przeciętnie przykładowo AVR kosztują od kilku złotych (np 7..8 zł) do kilkudziesięciu. Najbardziej przeciętne ceny to kilkanaście zł (ale ja kupuję w wkszych ilościach). Najszybciej o skali cen możesz dowiedzieć się zaglądając na strone TME.
Adresów z podstawami nie podam ci, bo nie znam (nie potzrbuję), ale mogę ci powiedzieć, że WSZYSTKIE procesory działają w oparciu o te same zasady. Może w jakiejś bibliotece znajdziesz książkę dotyczącą procesorów.
Adresów z podstawami nie podam ci, bo nie znam (nie potzrbuję), ale mogę ci powiedzieć, że WSZYSTKIE procesory działają w oparciu o te same zasady. Może w jakiejś bibliotece znajdziesz książkę dotyczącą procesorów.
Ja nie zamierzam sie uczyc tego na jeden dzień tylko na całe życie, wiec nie robi mi problemu czy uczę się języka który ładnie wyglda czy coś, chce sie nauczyć tego, który będzie dla mnie najlepszy, słyszałem że ten assmebler jest bardzo trudny, ale jak kolega mi mówi odwrotnie, no to czemu miał bym odrazu z niego rezygnować, no więc teraz tak, podstawaowa rzecz jest nauczenie sie tego assemblera(albo czegos innego), liczę, że zejdzie mi sie na tym jakieś ładnych pare miesiecy, ale w trakcie nauki, chciał bym widzieć postepy, czy w necie są dostępne schematy takich programatorów domowego urzytku, tzn napewno, ale czy ktoś może zna jakiś adres? takie proste juz programiki mógl bym sprawdzac, a poza tym jakieś kursy assemblera też bym chętanie zajżał w takie coś . Koledzy pomóżcie bo chce coś robić w tym kierunku, wiec teraz pytanie jeszcze jedno, za jaki język brać się najlepiej? za C, assembler, bascom to nie, już wiem, ale czy c++ też się nadaje? No najlepiej by mi leżało jak bym zobaczył jakiś kurs, czy są jakieś różnice między pisaniem hexów na PC a do mikrokontrolerów, tzn o składnie mi chodzi, czy musze uważać czego się uczę, czy kwszytko co się nauczę będzie dobre, dużo tych pytań sorry, ale no gdzieś musze wystartować aha jeszcze jedno na poczatek jaka ksiazka by byla dobra, zeby byly takze tam projekty, nie czysta teoria, cos w stylu zrob aplikacje "hello" i zobacz jak dziala na procesorze???
Poznanie assemblera danego procesora daje jedną przewagę nad innymi językami, mianowicie wymaga rozumienia filozofii mikroprocesorów (mikrokontrolerów). Oczywiscie celem powinno być programowanie w C ( z tym C++ to trochę przegięcie, moim zdaniem). Jeżeli chodzi o programatory, to mogę jedynie wskazać na stronie www.wtmel.com jest nota aplikacyjna będąca (AVR910: In-System Programming) zawierająca schemat i program sterujący w postaci źródłowej. Trudno mi się wypowiadać o jakości tego sprzętu, bo go nie dotykałem, tak jak i wielu publikowanych w EP.
Z pewnością inni dyskutanci z formum będą mieli bardziej konkretne informacje.
Nie znam w literaturze polskiej żadnej pozycji traktującej o programowaniu w assemblerze mikrokontrolerów, ale mogę udzielić kilku wskazówek i odpowiedzieć na pytania.
Problem programowania znacznie się upraszcza jeżeli ktoś zna już jakiś język programowania choćby z PC i ma już praktykę w tym względzie.
Z pewnością inni dyskutanci z formum będą mieli bardziej konkretne informacje.
Nie znam w literaturze polskiej żadnej pozycji traktującej o programowaniu w assemblerze mikrokontrolerów, ale mogę udzielić kilku wskazówek i odpowiedzieć na pytania.
Problem programowania znacznie się upraszcza jeżeli ktoś zna już jakiś język programowania choćby z PC i ma już praktykę w tym względzie.
Re: Bascom, mikorokontrolery i to wszystko
Myślę że najodpowiedniejszym dla Ciebie na początek byłby kurs publikowany w "Elektronice dla Wszystkich" od numeru 9/2002 do dziś pod wspólnym tytułem "Mikroprocesorowa ośla łączka" . Jest to kurs BASCOM-AVR w oparciu o mikrokontroler AT90S2313 firmy ATMEL. Kurs jest napisany bardzo prosto i zaczyna się od omówienia AT90S2313. Wydaje mi się że to jest właśnie dla Ciebie.Słuchajcie, były już na forum te tematy, ale nie zrozumiałe. Nic się nie znam na mikro kontrolerach, a chciał bym coś wiedzieć, chociaż na jakie rodzaje sie dzielą, i jak to jest z tym całym programowaniem bascom`em itp. Czy zna ktoś stronę na której moge o tym poczytać, na jakie się dzielą, jak wygląda praca z nimi i programowanie ich... Trudny temat, ale to by była tylko wsakzówka, dalej będe sam szukał
Języki programowania dzielą się na języki strukturalne lub nie. BASIC nie jest językiem strukturalnym. Cechy te są opisywane w literaturze informatycznej, którą uważam należy przejżeć, bo programowanie małych mikrokontrolerów podlega takim samym prawom jak programowanie dużych komputerów tylko dotyczy mniejszych zasobów i zagadnienie są mniejsze.
Szukałem w necie o tym wszystkim, ale szczególnie o programatorach, znalazłem programatory, taki sklep z nimi, ale to strasznie drogie, 220pln!!! były takie też po 25pln ale to chyba nie dobre, a poza tym mi trzeba takie to procesorów AVR, no bo chyba na tych będe się uczył, a kupować to nie będe takigo programatora bo nie stać mnie, ale kolega wcześniej mówił że taki można łatwo zrobić, no i chyba to jest prawda, bo jak popatrzyłem na nie to tam jest pare części które na bank dostane w sklepach elektronicznych. Czy ktoś zna jakiś adres witryny, gdzie moge zobaczyć jak zrobić taki programator, albo juz jak trzeba to kupić taki do 50pln do procesorów AVR, no jak chce coś robić to musze wkoncu sie poswiecic Jeśli uwarzacie, ze na początek lepiej kupic taki do PIC czy innych to powiedzcie. Z góry dzięki.
drodzy koledzy znalazłem dwa programatory, tzn schematy http://www.elektroda.pl/download/dwpl.p ... gatavr.pdf i http://www.elektroda.pl/download/dwpl.p ... _atmel.zip , to sa to amteli, czy amtel to to samo co AVR (sorry ale ja naprawde nie wiem) i czy da si je programowa w assemblerze? z tego co wyczytalem to trzeba pliki hex przerabiac na bin, i wrzucac przez te programatory na np AT89C1051 albo AT89C52.
Popularnie mówiąc 'atmelek" ma się na myśli mikrokontroler wyprodukowany prez Atmela. Ponieważ Atmel znany jest z dwóch bardzo różnych rodzin mikrokontrolerów, więc powiedzenie 'atmelek' nie jest równoznacze z AVR.
Dla przypomnienie atmelki z rodziny C51 mają oznaczenie AT89.... natomiast z rodziny AVR mają oznaczenie AT90........
Wszystkie mikrokontrolery programuje się w assemblerze. Należy jednak pamiętać, że assembler związany jest z mikrokontrolerem bardzo ściśle i można powiedzieć, że ile jest różnych rodzin mikrokontrolerów, tyle jest różnych assemblerów. Dokładnie rzecz ujmując, assembler jest językiem, który ma określone pewne reguły składni wyglądające pręcz identycznie, natomiast to co je różni, to jest zestaw instrukcji jaki są do dyspozycji (w końcu te instrukcje muszą być zrozumiałe dla danego procesora).
Format hex a format binarny: różnica polega jedynie na sposobie kodowania danych ale zawartość informacyjna jest ta sama. W formacie binarnym dane są jako kolejne bajty w takiej postaci jaka jest wprogramowywana do procesora (zdarzają się różne dziwne znaczki-jeżeli taki plik podejżeć) - stąd nadwa: binarny. W formacie hex każdy bajt jest zapisany jako dwa znaki z kody szesnastkowego (stąd nazwa hexadecimal) plus pewne dodatkowe informacje. Ewentualna konwersja jest zabiegiem prostym: należy uruchomić program dokonujący takiej konwersji i koniec.
Jak będę miał chwilę czasu to popatrzę na te linki.
Dla przypomnienie atmelki z rodziny C51 mają oznaczenie AT89.... natomiast z rodziny AVR mają oznaczenie AT90........
Wszystkie mikrokontrolery programuje się w assemblerze. Należy jednak pamiętać, że assembler związany jest z mikrokontrolerem bardzo ściśle i można powiedzieć, że ile jest różnych rodzin mikrokontrolerów, tyle jest różnych assemblerów. Dokładnie rzecz ujmując, assembler jest językiem, który ma określone pewne reguły składni wyglądające pręcz identycznie, natomiast to co je różni, to jest zestaw instrukcji jaki są do dyspozycji (w końcu te instrukcje muszą być zrozumiałe dla danego procesora).
Format hex a format binarny: różnica polega jedynie na sposobie kodowania danych ale zawartość informacyjna jest ta sama. W formacie binarnym dane są jako kolejne bajty w takiej postaci jaka jest wprogramowywana do procesora (zdarzają się różne dziwne znaczki-jeżeli taki plik podejżeć) - stąd nadwa: binarny. W formacie hex każdy bajt jest zapisany jako dwa znaki z kody szesnastkowego (stąd nazwa hexadecimal) plus pewne dodatkowe informacje. Ewentualna konwersja jest zabiegiem prostym: należy uruchomić program dokonujący takiej konwersji i koniec.
Jak będę miał chwilę czasu to popatrzę na te linki.
Wskazana strona (http://www.elektroda.pl/download/dwpl.p ... gatavr.pdf i) jest równoległym programatorej do procesorów z rodziny C51 (to nie są AVR).
Re: Bascom, mikorokontrolery i to wszystko
Wszyscy koledzy, którzy tu się wypowiadają znają się zdecydowanie lepiej na temacie niż ja. Ja patrzę na problem z prawie takiego samego poziomu jak ty Sova bo też miałem podobne pytania, aby pomóc innym początkującym próbuję pisać coś co przybliży temat mikrokontrolerów i pisania programów dla nich. Zaglądnij więc tutaj, to dopiero zupełny początek, ale może naprowadzi Cię na jakiś kierunek.Słuchajcie, były już na forum te tematy, ale nie zrozumiałe. Nic się nie znam na mikro kontrolerach, a chciał bym coś wiedzieć, chociaż na jakie rodzaje sie dzielą, i jak to jest z tym całym programowaniem bascom`em itp. Czy zna ktoś stronę na której moge o tym poczytać, na jakie się dzielą, jak wygląda praca z nimi i programowanie ich... Trudny temat, ale to by była tylko wsakzówka, dalej będe sam szukał
Nie tylko ty (Wojtek, czy Sova) macie podobne problemy, z tego powodu postanowiłem podzielić się swoją wiedzą w temacie i zacząłem przeglądać to forum. Sztuka użycia mikrokontrolera (w sensie sprzętowym) właściwie nie jest czyś wielkim, natomiast 'czary z mleka' zawdzięcza się dopiero programom. Programowanie jest i nie jest rzeczą skomplikowaną a z pewnością wymaga pewnej praktyki i rutyny i wszystko przychodzi z czasem.
Ponieważ trudno jest na forum uprawiać obszerną beletrystykę o procesorach lepiej jest (chyba) zadać jakieś konkretne pytanie (nawet śmieszne, bzdurne i banalne). Postaram się na nie odpowiadać.
Ponieważ trudno jest na forum uprawiać obszerną beletrystykę o procesorach lepiej jest (chyba) zadać jakieś konkretne pytanie (nawet śmieszne, bzdurne i banalne). Postaram się na nie odpowiadać.
Bardzo mi się podoba, że dzielisz się wiedzią z resztą na tej stronie Wojtek. Posłuchajcie drodzy koledzy z tego co przeczytałem, najbardziej mi chodzi o to, ze dla każdego procesora inny assambler, zrobiłem programator następujący: http://www.elektroda.pl/download/dwpl.p ... _atmel.zip, dla procesorów AT89C1051;AT89C2051;AT89C4051;. podobno sa to jedyne Procesory które moga byc w nim programowane, tzn AT89Cxx51, chciał bym na początek zacząć od nich, no bo narazie poprostu miał bym do nich narzędzia, one kosztuja chyba parenaście złotych, tak mi sie obiło o uszy, ale można programować około 1000 cykli, wiec jak na poczatek to najlepsze, teraz tak jak Wojtek na swojej stronie napisał pytania, co ma robić dalej, jak mam programator do tych atmeli, nie znam ich budowy, działania, nie wiem co robi poszczególna nózka, tzn, że nic nie weim jeszcze, wiec pytanie jest takie, co mam zrobić teraz, kupić ksiązkę o programowaniu w assemblerze, czy lepiej budowa mikrokontrolera Atmel, czy poszukać w internecie, kursu z przykładami, i tak by było najlepiej!!! Ale i tak podstawy z ksiązki bym musiał pojąć, więc drodzy koledzy piszcie śmiało jaką książkę mam kupić teraz a jaką następnie. Chciał bym to robić tak stopniowo naucze się troszkę, pisze malutki programik, sprawdzam w urzadzeniu prostym jak to dziła, i kasuje i jeszcze raz i tak w kółko. Potrzebna mi strona przeznaczona tematycznie tylko temu, nie musi być "ośla łączka" ale żeby były przykłady.
Moze poczekaj z zakupem bo lada moment w kioskach powinien być drugi numer "Elektroniki Plus" całkowicie poświęcony mikrokontrolerom '51 i AVR wraz z mnóstwem przykładów. Jesli chodzi o książkę na temat '51 to zobacz opis książki "Mikrokontrolery 8051 w praktyce". Na tej samej stronie możesz przeczytać opisy do innych książek które mogą Cię również zainteresować.(...) co ma robić dalej, jak mam programator do tych atmeli, nie znam ich budowy, działania, nie wiem co robi poszczególna nózka, tzn, że nic nie weim jeszcze, wiec pytanie jest takie, co mam zrobić teraz, kupić ksiązkę o programowaniu w assemblerze, czy lepiej budowa mikrokontrolera Atmel, czy poszukać w internecie, kursu z przykładami, i tak by było najlepiej!!! Ale i tak podstawy z ksiązki bym musiał pojąć, więc drodzy koledzy piszcie śmiało jaką książkę mam kupić teraz a jaką następnie. Chciał bym to robić tak stopniowo naucze się troszkę, pisze malutki programik, sprawdzam w urzadzeniu prostym jak to dziła, i kasuje i jeszcze raz i tak w kółko. Potrzebna mi strona przeznaczona tematycznie tylko temu, nie musi być "ośla łączka" ale żeby były przykłady.
Co do "Mikroprocesorowej oślej łączki" to jet to materiał naprawdę potraktowany przez autora poważnie i opiera się na przykładach z wyjaśnieniami technicznych zagadnień dotyczących AVR. Nazwa kursu jest tylko taka z przymrużeniem oka.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 28 gości