Programování mikrokontrolérů ATMEL

22. května 2010 v 19:55 | Petr Hawliczek "Hawelson" |  DALŠÍ MOJE PRÁCE
Jazyky programování:
Programovat mikrokontroléry můžeme buď v základním jazyku, což je assembler. Nebo ve vyšších jazycích jako je například C. Samotné jazyky zde nebudu popisovat, na internetu můžete najít spoustu stránek, kde se učí programování v těchto jazycích, a věřím, že časem se pod tímto článkem v diskuzi objeví spousty odkazů.
Já jsem nejprve programoval v assembleru a mikrokontroléry PIC, ale nakonec jsem přešel k programování v jazyce C a programuji Atmely díky jejich lepší softwarové podpoře pro programování. Jazyk C se mi zdá mnohem přehlednější a jednodušší proto doporučuji začít hned u něj a nezabývat se plno zbytečnými starostmi u programování assemblerem.


Vývojové prostředí a překládač:
Jak už jsem popisoval Atmely mají lepší softwarovou podporu. Tedy vývojové prostředí, simulátor i překládač je v jednom programu a dokonce zdarma. Tento program se jmenuje AVR Studio a stáhnete ho na stránkách www.atmel.com. Opět nebudu popisovat postupy ovládání AVR studia, ty naleznete buď v pdf souboru při stahování, anebo spousta rychlých návodu je na youtube.
AVR studio může i přímo programovat mikrokontroléry a dokonce je krokovat a podobně, ovšem k tomu je třeba nelevného fyzického programátoru. Proto používám jiný program pro nahrání programu, který podporuje levnější a jednodušší fyzický programátor.


Software pro nahrání programu:
Jako zcela nejlepší software pro nahrání programu na internetu můžu doporučit PonyProg který naleznete na odkazu http://www.lancos.com/prog.html. Tento program je univerzální pro obrovskou spoustu mikrokontrolérů různých typů, pamětí apod. Pokud tedy chcete nahrát pouze už vytvořený .hex soubor, můžete ho tímto programátorem nahrát i do PICu. Co je na tomto programu ovšem nejlepší, je jednoduchost fyzického programátoru.


Fyzický programátor:
Díky promyšlenému softwaru se může fyzický programátor pyšnit neskutečné jednoduchosti. V podstatě jsou piny LPT portu připojeny pouze přes ochranné rezistory přímo na mikrokontrolér podle tohoto schématu.
Schéma připojení:
Schéma připojení
Na schématu je ještě modře vidět připojení krystalu s dvěma kondenzátory. Tato část není nutná, avšak pokud při programování nastavíte špatně fuse bity, nebo chcete přeprogramovat mikrokontrolér, který měl zadefinován oscilátor, jako vnější - krystal, tak ho bez této časti nepřeprogramujete. Je tedy lepší postavit celé toto zapojení. Konce vodičů připojíte na stejně pojmenované piny mikrokontroléru (názvy pinu najdete v datasheetu) a můžete programovat.
Já osobně jsem nedělal na toto zapojení ani DPS, postavil jsem ho samonosně.
Foto samonosného zapojení:
Samonosné zapojení
Na koncích vodičů jsou piny z precizních patic pro IO, pro co nejrychlejší manipulaci. Jednotlivé patice jsem vytavil z klasických precizních patic. Piny můžete přímo nasadit na mikrokontrolér, avšak pokud budete ladit nějaký program a budete stejný mikrokontrolér nasazovat mnohokrát za sebou, je lepší nasadit piny na precizní patici o velikosti mikrokontroléru a nasadit piny jednou na ni a pak stačí pouze vsazovat daný mikrokontrolér.
Nasazená precizní patice:
Nasazená precizní patice


Nahrání programu:
Připojíme fyzický programátor na LPT port, spustíme nainstalovaný PonyProg, vybereme volbu Setup - Interface setup a zde zvolíme AVR ISP I/O a správný paralelní port. Poté na hlavním panelu vybereme správný mikrokontrolér, otevřeme požadovaný .hex soubor a zmáčkneme tlačítko Write Device.
Nyní stačí už jen otestovat, jestli mikrokontrolér s nahraným programem funguje tak jak má.
Přeji hodně štěstí s programováním.
 

5 lidí ohodnotilo tento článek.

Komentáře

1 fwpok fwpok | 23. května 2010 v 19:14 | Reagovat

Podporuje to aj atmega8??
A nemal by niekto presnejsie zapojenie pre tento procesor???
Inač dobry članok!!!! :D  :D  :D

2 fwpok fwpok | 23. května 2010 v 19:40 | Reagovat

Uz netreba vygooglil som to!!
A prepac za spam.

3 Hawelson Hawelson | E-mail | Web | 24. května 2010 v 17:09 | Reagovat

[1]: Přesnější popis programátoru a připojení pinu zde: http://pandatron.cz/?166&avr_programator

4 fwpok fwpok | 24. května 2010 v 19:10 | Reagovat

Ale aj tak dik!!

5 mach mach | 26. května 2010 v 20:55 | Reagovat

a neexistuje neco na menší koncovku myslím že se jmenuje COM nebo nějak tak protože tuto už na pc nemám pls

6 Hawelson Hawelson | E-mail | Web | 29. května 2010 v 12:48 | Reagovat

[5]: Ano, pro RS232 je něco takového http://www.opendcc.net/elektronik/opendcc/avr_ponyprog_adapter_sch.jpg . Jediná "nevýhoda" toho je, že potřebuješ navíc Zenerové diody. Zapojení je tím pádem drobínek složitější.

7 mach mach | 1. června 2010 v 15:37 | Reagovat

jo jo dík...

8 Radek Radek | 31. října 2010 v 10:27 | Reagovat

Zdravím co znamenají ty piny MISO,MOSI a SCK podle datasheetu AT89C51 to nemůžu najít. Děkuji za odpovědi

9 Robert Robert | E-mail | 6. listopadu 2010 v 19:40 | Reagovat

Zdravím,v tom zapojení pre RS232 sa kryštál pripája tiež na GND?

10 Hawelson Hawelson | E-mail | Web | 14. listopadu 2010 v 19:25 | Reagovat

Obal krystalu není nutné uzemnit, ale můžeš.

11 Honza Honza | 17. února 2011 v 12:26 | Reagovat

zdravím,kde je napájení na mikrokontrolér na tom RS 232? http://www.opendcc.net/elektronik/opendcc/avr_ponyprog_adapter_sch.jpg
Děkuji za odpověď.

12 rv rv | E-mail | 4. října 2011 v 15:18 | Reagovat

Zdarec.
Tvůj web se mi moc líbí. Můj syn je ve 4. ročníku sš a má problémy s programováním mikrokontroléru PIC 16P84A. Byl bych Ti vděčný za pomoc - poraď mi jak se co nejlépe a nejjednodušším způsobem naučit pracovat s tímto - (zapojení, programování v Assembleru, jednoduché aplikace,)syn používá ve škole SW MPLAB. Jsem elektrotechnik, ale s tímto nemám žádné zkušenosti. Spíš jsem se zabýval konstrukcí analogových a částečně jednoduchých číslicových zařízení. Dík za radu - literatura, odkaz .. a pod. Rosťa

13 Hawelson Hawelson | E-mail | Web | 20. října 2011 v 10:18 | Reagovat

[12]: Ahoj,

no nejjednosušší se mi zdá, to co popisuji v textu - jen v AVR studiu programování v ASM ne v C.

Hodně štěstí přeji synovi :).

14 Petr Petr | 31. července 2012 v 20:51 | Reagovat

Ahoj, super stránka a myslím že i celkem unikátní na českém netu. chtěl bych se zeptat, zda by šel využít nějaký jednočip od Atmalu na zapojení, které by mělo tahat signál z webkamery (USB) a dál ho posílat na další (nejlépe USB) prostředku, který ho bude bezdrátově odesílat.
Takové zapojení by ani nemuselo umět tohle video kompromivat, což si myslím by stejně bylo asi dost složité, jestli vůbec možné.
Dík za Tvůj názor.
s pzdravem Petr K.

15 Venca Venca | E-mail | Web | 9. června 2013 v 19:45 | Reagovat

[8]:jo, taky na to koukám....

16 venca venca | E-mail | 16. června 2013 v 22:33 | Reagovat

v programu AVR studio ani v programu poniprog se v nabídce nenachází typ AT89C2051-24PU, tak by mě zajímalo jak ho naprogramovat.

17 LarryAmoto LarryAmoto | E-mail | Web | 27. dubna 2017 v 19:36 | Reagovat

join the new social <a href=http://onlinecasinos-x.com>casino</a> guide

18 Mossi N lRug Mossi N lRug | E-mail | Web | 18. června 2017 v 10:18 | Reagovat

I got off the bus at the bank.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.