Reklama

Základy ovládání mikrokontroléru ATmega(16/32) 3.díl – Nahrání vytvořeného zdrojového kódu do mikrokontroléru

Úvod

V minulém díle jsme si ukázali, jak zkompilovat první projekt. Nyní si ukážeme, jak nahrát zdrojový kód do mikrokontroléru. Program budeme nahrávat pomocí ISP, ke kterému využijeme čtyři piny mikrokontroléru a napájení. Přesněji řečeno využijeme pin 6 (PB5 – MOSI), pin 7 (PB6 – MISO), pin 8 (PB7 – SCK) a pin 9 (RESET). Elektronické schéma zapojení lze vidět na Obr. 1.

AVR3a

Obr. 1: Elektronické schéma obvodu
Programátor

Pro programování pomocí ISP lze využít velké množství programátorů. Já osobně používám USB programátor, viz Obr. 2., který lze koupit např. na: http://aukro.cz/show_item.php?item=4575454917 a aplikaci PROGISP (Ver 1.72), která lze stáhnout např zde: https://code.google.com/p/epm240-dev/downloads/detail?name=progisp172.rar&can=2&q=

ISP programator

Obr. 2: Programátor

Pokud nepoužíváte přímo konektor připravený pro programování pomocí ISP, ale budete pomocí vodičů připojovat programátor např. na kontaktní pole, raději si proměřte polaritu napájecího napětí.

PPROGISP – postup nahrávání programu

Po rozbalení vyberte složku PROGISP172 a poté progisp.exe. Po spuštění aplikace se zobrazí hlavní okno aplikace, viz Obr. 3.

AVR3b

Obr. 3: Hlavní okno aplikace PROGISP

V panelu číslo 1. vybereme požadovaný mikrokontrolér. Dále v panelu číslo 2. vybereme akce, které se mají provést. V našem případě se jedná o původní nastavení programu, které můžeme klidně nechat. Dále pomocí panelu číslo 3. nalezneme zdrojový kód projektu, který obsahuje příponu „.hex“. Stisknutím tlačítka 4. se zobrazí okno s možností nastavení vnitřních propojek mikrokontroléru a paměťových zámků, viz Obr. 4.

AVR3c

Obr. 4: Nastavení propojek mikrokontroléru

Bližší popis programovacích propojek lze nalézt na: www.tajned.cz/2014/03/atmega_propojky/
Po vlastním nastavení programovacích propojek (osobně nastavuji při použití 16 MHz krystalu hodnoty LowValue na “EF” a HighValue na “C0″) potvrdíme tlačítkem „Write“ a tím zapíšeme nastavení propojek do mikrokontroléru.

Nyní stačí stisknout tlačítko AUTO a ve výpisu se lze dočíst o úspěšném zapsání programu, viz Obr. 5. Pokud jste spustili program PROGISP znovu a už jste v minulosti programovací propojky nahráli a chcete pouze přehrát nový software, tak zrušte zaškrtnutí políčka “Program Fuse”, protože jinak se do mikrokontroléru nahraje původní nastavení “0x99E1″ a ne požadované nastavení..

AVR3d

Obr. 5: Nahrání programu pomocí aplikace PROGISP
AVRdude

Tato aplikace není ani zdaleka jediná, a proto pokud vlastníte jiný programátor, lze využít i velmi rozšířený program avrdude-GUI, který podporuje velkou řadu programátorů, ale bohužel se mi ho zatím nepodařilo zprovoznit s tímto USB programátorem. Návodů na práci s tímto programem je velké množství, a proto ho zde nebudu dále popisovat. Avrdude-GUI lze vidět na Obr. 6.

AVR3d

Obr. 6: Aplikace avrdude-GUI

Další možností je využít některý z programátorů, které podporuje přímo vývojové prostředí ATmel Studio.

 
Aktualizace: 18.10.2015
 

Jiné příspěvky v kategorii:

 

Základy ovládání mikrokontroléru ATmega(16/32) 1.díl – První kroky

Základy ovládání mikrokontroléru ATmega(16/32) 2. díl – Kompilace a krokování programu

Základy ovládání mikrokontroléru ATmega(16/32) 4.díl – Ovládání vstupně/výstupních portů

Základy ovládání mikrokontroléru ATmega(16/32) 5.díl – Ošetření zákmitů na vstupním pinu mikrokontroléru

Základy ovládání mikrokontroléru ATmega(16/32) 6.díl – Externí přerušení

Základy ovládání mikrokontroléru ATmega(16/32) 7. díl – Jednoduchá elektronická hrací kostka
Základy ovládání mikrokontroléru ATmega(16/32) 8.díl – A/D převodník (1.část)

Základy ovládání mikrokontroléru ATmega(16/32) 9.díl – A/D převodník (2.část)

Základy ovládání mikrokontroléru ATmega(16/32) 10.díl – A/D převodník (3.část)

Základy ovládání mikrokontroléru ATmega(16/32) 11.díl – Čítač / Časovač (1.část – Základní popis)

Základy ovládání mikrokontroléru ATmega(16/32) 12.díl – Čítač / Časovač (2.část – Popis registrů)

Základy ovládání mikrokontroléru ATmega(16/32) 13.díl – Čítač / Časovač (3.část – Praktická ukázka)

Základy ovládání mikrokontroléru ATmega(16/32) 14.díl – Dvouřádkový LCD displej

Základy ovládání mikrokontroléru ATmega(16/32)15.díl – Popis implementace komunikace I2C a EEPROM paměti 24LC512

Základy ovládání mikrokontroléru ATmega(16/32) 16.díl – Watchdog

Základy ovládání mikrokontroléru ATmega(16/32) 17.díl – Obsluha maticové klávesnice

Základy ovládání mikrokontroléru ATmega(16/32) 18.díl – Jednotka USART (1. část – Popis)

Základy ovládání mikrokontroléru ATmega(16/32) 19.díl – Jednotka USART (2. část – Praktická ukázka)

Základy ovládání mikrokontroléru ATmega(16/32) 20. díl – Generování audio signálu pomocí PWM

Základy ovládání mikrokontroléru ATmega(16/32) 21. díl – Analogový komparátor

Základy ovládání mikrokontroléru ATmega(16/32) 22. díl – Krokování programu v jazyce symbolických adres (JSA)
 
Tajned facebook
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.