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

Pierwsze starcie z mikrokontrolerami (dozwolone linki Allegro, eBay, itp)

Ślepiec 31 Gru 2004 18:09 515148 2015
  • #1 31 Gru 2004 18:09
    Ślepiec
    Poziom 2  

    Moderowany przez dondu:

    Wyznaczamy ten temat jako jedyny, w którym można zamieszczać linki do źródeł wygasających np. serwisy giełdowe itp., co oznacza, że niniejsza dyskusja nie podlega punktowi regulaminu:

    "Zabronione jest:
    ...
    3.1.18. Publikowania informacji do źródeł, które po pewnym czasie wygasają (publikowanie odnośników do stron o charakterze krótkotrwałym)."



    Po pierwsze mówię wszystkim WITAM........
    Programuje od kilku lat (logo,pascal,c,delphi,php) teraz jednak chciałem trochę zwiększyć swoje umiejętności i dlatego zaciekawiła mnie elektronika.

    Nie posiadam jeszcze żadnej wiedzy o tym więc się chciałem dowiedzić : jak to tak dokładnie się robi, na czym to polega.

    Z przeszło 4 godzinej lektury dowiedziałem się że programy skompilowane Asm,C lub Bascom'em można 'przenosić' do Mikrokontrolera, ale nie potrafię sobie wyobrazić jak ?, w jaki sposób ?

    Co mi będzie potrzebne ? Jak wiedza ? Przyrządy, Elementy itd. ?

    może mi ktoś udzielić wyczerpującej odpowiedzi ?

    0 29
  • Technik Elektryk - Faber CK
  • #2 31 Gru 2004 18:44
    Dexter77
    Poziom 28  

    Jak to ladnie ktos kiedys powiedzial: "Czytaj dokumentacje"
    Wszystko zalezy od rodzaju mikrokontrolera. Jedne programuje sie w specjalnych programatorach a do zaprogramowania innych wystarczy prosty kabelek podlaczany do portu LPT komputera. Oczywiscie sprawa dotyczy uC ktore maja wbudowana pamiec FLASH. Jako poczatkujacemu polecam uC firmy Atmel z rodziny AVR. Sa tanie i latwo programowalne przy pomocy w/w kabelka. Tematow tego rodzaju bylo juz mnostwo wiec wysarczy przycisnac szukaj.
    Pozdro
    Dexter

    0
  • Pomocny post
    #3 31 Gru 2004 18:56
    Telex
    Poziom 26  

    Programy skompilowane w Bascomie lub w asm albo w C przenosisz do mokrokontrolerów za pomocą programatorów. Możesz umieścić program w pamięcie programu wewnątrz procesora lub na zewnątrz w pamię ci przyłączonej do szyny danych i magistrali adresowej. Jeśli chcesz "uderzyć" w mikrokontrolery jednoukładowe - tzn. takie które zawierają w sobie zarówno pamięć programu jak i pamięć danych EEPROM i pamięć RAM to są dwie dosyć fajne rodziny mikrokontrolerów np. seria PIC firmy MicroChip http://www.microchip.com/ " target="_blank" rel="nofollow" class="postlink "> http://www.microchip.com/ zarówno te 14 bitowe jak i 16 bitowe oraz seria 8-bit AVR Atmela http://www.atmel.com/ " target="_blank" rel="nofollow" class="postlink "> http://www.atmel.com/ obie rodziny są procesorami RISC. Mają pamięć programu typu Flash - wielokrotnie programowalną i to w układzie bez wylutowyania. W Atmelu ISP i w PICach też. Programatory są bardzo proste w budowie i samemu można je w kilka chwil złożyć. Narzędzia do programowania są na stronach producentów obydwu rodzin za darmo, więc nic problem finansowy raczej nie stoi na przeszkodzie. Oprogramowanie do programowania w/w układów też jest w większej części darmowe jak np. PonyProg lub Lupi albo Willem. Na internecie znajdziesz wiele informacji na ten temat.

    0
  • #4 31 Gru 2004 19:20
    muminek
    Poziom 16  

    Niedawno sam stanąłem przed podobnym problemem. Proponuję zrobić tak zakupić zestaw uruchomieniowy na procesory 8051, AVR (pełno ich w necie) unikniesz błędów konstrukcyjnych, następnie zacząć programować w asemblerze (pozwoli ci to na poznanie sposobu działania mikrokontrolera), nasrępny etap to Bascom i C. Co do środowiska to polecam Keila obsługuje on asemblera i C.

    0
  • #5 31 Gru 2004 19:27
    Samuraj
    Poziom 35  

    muminek napisał:
    nasrępny etap to Bascom i C. Co do środowiska to polecam Keila obsługuje on asemblera i C.


    Jeśli bedzie umiał asembler to na grzyba cofaci sie krok w stecz.
    Autor tematu zaznaczył ze zna C wiec nie powinno byc problemu kozystac z tych samych nawyków i programowac dalej w C z tym ze dla mikrokontrolerów, w praktyce prawie żadna róznica.

    0
  • #6 31 Gru 2004 23:34
    mikmas
    Poziom 18  

    Tylko pozazdrościć, że umiesz C!
    2 pierwsze tematy od góry na tym forum powinny Ci pomóc!
    Powodzenia!

    0
  • Pomocny post
    #7 01 Sty 2005 12:53
    BoskiDialer
    Poziom 34  

    Ślepiec napisał:
    Z przeszło 4 godzinej lektury dowiedziałem się że programy skompilowane Asm,C lub Bascom'em można 'przenosić' do Mikrokontrolera, ale nie potrafię sobie wyobrazić jak ?, w jaki sposób ?

    spróbuj sobie wyobrazić mikrokontroler jako stacje dysków..układ taki posiada wszystko co jest potrzebne do wykonywania programu:
    - oczywiście najważniejsze: niedziałają one na 220V AC tylko na 5V DC
    - układ taki posiada swoją pamięć ram jak zwykły komputer.. niema jej zadużo (nieprzekracza 4KB dla największych kości.. 2313 ma 128B) ale to wystarcza dla ściśle sprecyzowanych zadań..
    - posiada również swój twardy dysk (tylko że nie wirujący i niezapisujący magnetycznie.. w tym przykładnie 2313 nieda sie tam nic zapisywać z poziomu programu.. pamięc ta to flash -> niekasuje sie przy zaniku prądu) w którym znajduje sie program który sie wykonuje.. (2313 ma 2KB pamięci proramu co pozwala na zapisanie 1024 instrukcji asemblerowych.. wbrew pozorom to bardzo dużo..)
    - posiada on również wejścia/wyjścia.. tak jak komputer np lpt aby sie komunikować ze światem zewnętrznym.. (2313 ma 15 wejść/wyjść)
    - ma różnież że powiem BIOS który pozwala zmienić program za pomocą odpowieniego kabla.. podłącza sie specjalny kabelej do 4 wejść atmela i wystawiając specjalne sekwnecje można zmienić jego zawartość pamięci programu.. do wystawiania tych sekwencji służą programatory..
    - ma również swoje peryferia.. układy przerwać.. liczniki, eeprom (pamięć stała zapisywalna której zawartość niezanika przy zaniku prądu) w zależności od rodzaju - uart, spi, i inne wyposażenia które mogą wspomagać program.

    całość jest okrojona do minimum i mieści sie w jednej kostce...
    procesory AVR są bardzo dobre do nauki (ale i nie tylko)
    architektura AVR posiada 32 rejestry numerowane od r0 do r31 (w pc rejestrami są Eax,Ebx itd.. atmele mają tak mało pamięci że niewymagają rejestrów segmentowyh :) ).. posiadają swój zestaw instrukcji asemblerowych i własną metode adresowania.. (rejestry są odseparowane od pamięci ale jednak znajdują sie pod adresami 0x00 do 0x1F, a pamięć zaczyna się dopiero od 0x60 dla mniejszych kości a od 0x100 dla większych.. między 0x1f a 0x60 znajduje się również przestrzeń IO.. polecenia in oraz out można zastąpić dostępem do tego obszaru)..

    2
  • #8 03 Sty 2005 21:51
    Ślepiec
    Poziom 2  

    Dobra.......dzięki wszystkim......

    Wyobraziłem sobie to na przykładnie diody LED podłączonej do wyjścia Com1 ( stara, lamerska zabaweczka)....Czyli że przez port Com przesyłam do programatora informacje( kod ) do wykonania....jak sądzę muszę znać architekturę tego układu jaki będę programował ( rejestry, pamięć itp.).....wszystko to mogę spokojnie z tej strony pobrać.

    Teraz tylko co potrzebuje to kompilator języka C lub Asm dla odpowiedniego kontrolera, ten kontroler (zobaczę co mam w domu, popatrzę w sklepach) i programator, tak ?? czy coś jeszcze mi trzeba ?

    załóżmy chcę zaprogramować kontroler by dioda LED zapalała się co sekundę i po sekundzie gasła, czy radzicie zacząć od czegoś innego ?
    .....polecacie kontroler AVR firmy Atmel....zobaczę

    Jak sądzicie czy ktoś zupełnie bez wykształcenia elektronicznego może się czymś takim zająć ??
    i....dodam że mam 17 lat.....choć w tym jak i w programowaniu wiek nie ma dużego znaczenia....za to doświadczenie ma

    1
  • Technik Elektryk - Faber CK
  • #9 03 Sty 2005 22:47
    Sanjuro
    Poziom 18  

    Ślepiec napisał:

    Jak sądzicie czy ktoś zupełnie bez wykszałcenia elektronicznego może się czymś takim zająć ??
    i....dodam że mam 17 lat.....choć w tym jak i w programowaniu wiek nie ma dużego znaczenia....za to doświadczenie ma


    Hehehe... Piszesz tak jakby wykształcenie elektroniczne było podstawa przy zabawach z elektronika i mikrokontrolerami. Człowieku jakbym miał opierać swoja wiedze na wykształceniu elektronicznym to do dziś nie wiedziałbym co to są "te dziwne walcowate przedmioty z kolorowymi paskami". No dobra może trochę przesadziłem, ale tok kształcenia w szkołach polskich oraz wiedza nauczycieli przedmiotów zawodowych jest naprawdę żałosny.
    Doświadczenie przyjdzie z czasem. Wiec jak masz trochę cierpliwości i umiesz trzymać lutownice w ręce to nie widzę przeszkód byś nie miał zacząć zabawy z uC.

    0
  • #10 04 Sty 2005 20:24
    Anonymous
    Użytkownik usunął konto  
  • #11 05 Sty 2005 12:11
    ROOS
    Poziom 10  

    Witam
    Używa ktoś symulatora WinAVR-20040720?
    Chciałbym sprawdzić napisane programy na laboratorium przy uzyciu uP 8080 i 8051 w asemblerze.Z asemblera jestem troche zielony i nie wiem jak się dobrać do tego symulatora żeby można było się pobawić w np zrobienie licznika i wyswietlaniu tego itp itd
    Akurat zaczynam pisać w asemblerze,czeka mnie również z tego egzamin i chciałbym się troche podszkolić ci i jak się realizuje do konkretnego układu w asemblerze.Wiem że trzeba też znać dokumentację i co dany procek zawiera.o troche znam ale nie wszystko zapamiętałem i czasem miewam problemy.
    Proszę o ewentualne porady.Wiem, że asembler nie jest trudny ale trzeba zrobić te pierwsze kroki tj. sprzedać lenia i wziąść się do roboty.
    Z góry dziękuję
    Pozdrawiam roos :)

    0
  • #12 05 Sty 2005 15:38
    fantom
    Poziom 31  

    WinAVR jest do procesorow AVR a nie 8080 lub 8051.Po drugie akurat on nie zawiera w sobie symulatora ale tylko kompilator,linker i debugger.Do 51 dobry symulator ma RIDE albo Keil ale sa platne jesli program ma powyzej 2(4?) kB.

    -> Ślepiec: programowanie mikrokontrolerow jednak troche sie rozni od programowania na PC-ie (szczegolnie jesli myslisz o logo i PHP ;-)).Przede wszystkim nie dzialasz pod opieka systemu operacyjnego (lub maszyny wirtualnej )tylko de facto sam ten system tworzysz a to oznacza za najpierw musisz bardzo dobrze poznac architekture mikrokontrolera i tutaj klania sie dobra znajomosc asemblera ( i nie jest to jak ktos twierdzi cofanie sie w rozwoju).Roznica jest rowniez taka ze programujesz bardzo nisko poziomowo (nawet w C) i sposob myslenia jest jednak w tym momencie inny.

    0
  • #13 08 Sty 2005 16:26
    drhej
    Poziom 11  

    Hej! Do programowanie polecam CodeVision AVR :) Jest to jezyk C, w ktorym autor fajnie zaimplementowal funkcje obslugi np. wysw. LCD, przetwornikow A/C itp. Wszystko pod reka. POLECAM! Tylko jeden minusik... cza za niego slono placic...

    0
  • #14 09 Sty 2005 17:26
    ROOS
    Poziom 10  

    Witam
    Tylko ja nie znam jeszcze C a musze sie najpierw nauczyc asemblera :) :P

    0
  • #15 18 Sty 2005 11:12
    kamikazesuperstar
    Poziom 10  

    Ja osobiście ciągle uczę się programowania i obaługi poprzez ciągle jeszcze trwający kurs Mikroprocesorowej Oślej łączki na łamach "Elektroniki dla wszystkich". Do takiego kursu jest potrzebna płytka uniwersalna dostępna w sklepie AVT. Do prgramowania niezbędny jest także program BASCOM AVR. Ja posiadam wersje demo z ograniczeniem kodu do 2kB, co zupełnie wystarcza na potrzeby kursu. Więcej informacji na temat kursu można znależć na stronie: www.edw.com.pl..

    0
  • #16 21 Sty 2005 03:19
    Anonymous
    Użytkownik usunął konto  
  • #17 25 Sty 2005 14:57
    azuri
    Poziom 11  

    witam na poczatek polecam ci gazete "elektronika plus" o bascomie tam jest opisane wszystko co potrzeba na start opis programatora ,itp,itp, kurs bascoma ,itp

    0
  • #18 26 Sty 2005 18:41
    gwolf
    Poziom 14  

    cześć
    Na początek możesz zająć się mikrokontrolerami avr atmela , gdyż można je tanio i szybko zaprogramować(bez drogich programatorów)
    Najlepiej wybrać język BASCOM gdyż jest dobry dla początkujących
    Co do literatury to w Elektronice dla wszystkich był poświęcony kurs tym prockom i bascomowi
    Program i więcej szczegółów możesz znaleźć na stronie np. www.edw.com.pl
    Pozdrawiam!

    0
  • #19 31 Sty 2005 17:06
    Jacek85
    Poziom 10  

    witam
    robie z kolega prace dyplomowa: regulator obrotow wiatraczkow komputerowych z wyswietlaczem lcd.
    chcemy sterowac nasz uklad uP AT89S8252. niestety nie mamy pojecia o programowaniu w c (c++?) a chcielibysmy zaprogramowac ten uklad w tym wlasnie jezyku. gdyby mogl nam ktos pomoc lub chociaz doradzic to bylibysmy bardzo wdzieczni.
    bjr(malpa)poczta.fm

    0
  • #20 14 Mar 2005 21:32
    szel
    Poziom 20  

    Jaka jest nadzieja zaprogramowania mikrokontrolerów Atmela serii ATMEGA za pomocą programatora Willem?

    0
  • #21 14 Mar 2005 21:37
    eros81
    Poziom 14  

    voyager2 napisał:
    mikmas napisał:
    Tylko pozazdrościć, że umiesz C!

    A przepraszam, co jest trudnego w C? Jest tak samo łatwy, jak badziewny Bascom ("badziweny" to delikatne określenie) a w dodatku potrafi o niebo wiecej :D Baskomomaniacy... :sm15: :cunning:


    Samo nauczenie się składni danego języka jeszcze nie znaczy że umie się programować. natomiast każy język ma swoje wady i zalety

    0
  • #22 18 Mar 2005 08:13
    arturt134
    Poziom 26  

    A nie lepiej zrobić prosty programator do AVR-ów?
    Koszt takiego programatora to ok. 10zł....
    Jak chcesz to wrzucę schemat.

    0
  • #23 18 Mar 2005 09:39
    szel
    Poziom 20  

    Pytam, bo Willema już mam i jakiś czas go używam. Jednak obsługa przez niego mikrokontrolerów AVR jest do tej pory dosyć uboga, a AtMeg chyba na razie nie obasługuje wcale. Chyba, że coś się w międzyczasie zmieniło. Odnośnie schematu programatora - wrzuć schemat - zawsze może się komuś przydać. Coprawda do prostych programatorów jakoś nie mam do nich zaufania - ponieważ obciążają one z reguły bezpośrednio port (LPT lub COM)komputera PC i wprzypadku awarii lub uszkodzenia mikrokontrolera mogą załatwić płytę główną komputera.

    0
  • #25 21 Mar 2005 00:37
    zami
    Poziom 16  

    Cytat:
    Jaka jest nadzieja zaprogramowania mikrokontrolerów Atmela serii ATMEGA za pomocą programatora Willem?



    Dołączam się do pytania. Dodatkowo sprecyzuję, że zależy mi na programowaniu równoległym, konkretnie procesora ATmega8. Chodzi o ustawienie lockbitów, by uzywał zewnętrznego rezonatora kwarcowego. A do tego, jak wynika z dokumentacji, niezbędne jest uzycie programatora równoległego (nie ISP jak sugeruje arturt134).

    Zastanawiałem się nad tym, czy mozliwe byłoby ustawienie Lockbitów CKSEL przy pomocy willem'a i adaptera MCS-51 v2.0. W adapterze tym jest podstawka pod AT90S4433, a jest on poprzednikiem ATmega8 i ma identyczny układ wyprowadzeń. Pytanie tylko czy proces ustawiania Lochbitów jest identyczny??

    Może ktoś już próbował??

    0
  • #26 21 Mar 2005 02:01
    LordBlick
    VIP Zasłużony dla elektroda

    1. "Lockbity"(bity zabezpieczające kod programu przed możliwością nadpisania/odczytu itp.) to nie to samo co "Fusebity"(bity konfiguracyjne)... ;) Jak zaprogramujesz "Lockbits", to nie skasujesz go, chyba, że poprzez skasowanie zawarości pamięci całej kostki(Chip Erase).
    2. Wszystkie AT90S.... mają po 2 "Lockbity" i 2 "Fusebity" (FSTRST i SPIEN), natomiast nowsze AVR mają 6 "Lockbitów" i więcej niż 8 "Fusebitów"(niektóre nawet więcej niż 16).
    Nieprawdą jest, że przez ISP nie można ich programować (oprócz oczywiście bitu SPIEN, który odpowiada za możliwość ładowania programu przez ISP).
    Więcej szczegółów np. w pdf-kach na stronie Atmela... ;)
    Pozdr. LightI

    0
  • #27 21 Mar 2005 07:30
    arturt134
    Poziom 26  

    Przez ISP da się zaprogramować WSZYSTKIE bity: i te zabezpieczające i te konfiguracyjne. Da się nawet zaprogramować SPIEN (jak zrobiłem to któregoś razu przez pomyłkę, to rzecz skończyła się wymianą procesora:))) - przez ISP nie dało się już z nim skomunikować).

    0
  • #28 21 Mar 2005 16:22
    LordBlick
    VIP Zasłużony dla elektroda

    No w sumie nie testowałem takiej możliwości, po prostu w aplikacji którą używam (ISPprog Adama Dybkowskiego) jest to zablokowane. Co do koniecznosci wymiany procesorka przy omyłkowym zaprogramowaniu SPIEN, to chętnie przytulę taki "niepotrzebny" procek, bo mam własnoręcznie zbudowany i oprogramowany "równoleżnik" ;)
    Pozdr. LightI

    0
  • #29 21 Mar 2005 19:11
    szel
    Poziom 20  

    Zaczynamy odbiegać od tematu. Co z Willemem i Atmegami?

    0
  • #30 21 Mar 2005 21:47
    LordBlick
    VIP Zasłużony dla elektroda

    Kwestia oprogramowania (willemprog), nic więcej.
    Pozdr. LightI

    0