Vývojové prostředí MPLAB X IDE - Vytvoření projektu, práce se simulátorem
1. Založení nového projektu
- V MPLAB vyberte položku File > New Project… nebo ikonu New Project…
- V prvním okně ponechte volby Microchip Embedded a Standalone Project

- Ve druhém okně vyberte:
- Ve třetím okně vyberte kompilátor avrasm2 a jeho (jedinou) variantu avrasm2 (<verze>) [<umisteni>]

Pokud kompilátor v okně nevidíte, pak jste jej nejspíše nenainstalovali (viz Instalace a nastavení - Kompilátor). - Ve čtvrtém okně:
2. Přidání souboru se zdrojovým kódem a jeho simulace
Varování:
MPLAB může hlásit chyby při překladu ve chvíli, kdy z projektu odeberete soubor. V takovém případě vymažte soubor Makefile-default.mk, který je v adresáři <adresar_projektu>\nbproject. MPLAB si vymazaný soubor při dalším pokusu o překlad vygeneruje znovu.
2.1. Ukázkový kód pro otestování simulátoru
V pravé části okna MPLAB lze nyní editovat zdrojový kód. Následující ukázka přiřadí dvě konstanty do dvou různých registrů
; Zacatek programu - po resetu
.org 0 ; 1
jmp start
; Zacatek programu - hlavni program
.org 0x100 ; 2
start:
ldi r16, 42
ldi r17, 100
end: jmp end ; Zastavime program - nekonecna smycka 3- Zpracování kódu po resetu zařízení začíná vždy na adrese 0, za kterou ale následuje oblast paměti, kde mohou být návratové adresy přerušení (v této ukázce přerušení nepoužíváme, ale jedná o jednu ze základních programovacích technik a proto je dobré na něj pamatovat již od začátku). Z tohoto důvodu se prvních 256 bajtů paměti přeskakuje.
- Na adrese 256 (0x100 šestnáctkově) začíná program.
- Konec programu (důležité – jinak program běží dál skrze celou paměť, kde může být uložený kód podprogramů - v této ukázce nepoužíváme ani podprogramy, ale i ty se v reálných programech používají velmi často).
3. Simulace
3.1. Spuštění a řízení
Zdrojový kód se překládá/sestavuje pomocí tlačítka Build Project, resp. Build Main Project 
Toto tlačítko přeloží aktuální projekt. Pokud už máte vytvořených/otevřených projektů více, pak přeloží projekt, který je označen jako hlavní. Pokud potřebujete změnit hlavní projekt, klikněte pravým tlačítkem na název projektu v levé části Projects a vyberte Set as Main Project.

V případě, že by překlad skončil chybou, tak se ve spodní části (karta Output > karta s názvem projektu) objeví chybové hlášení a ve výpisu lze dohledat jednotlivé chybové zprávy.

Varování:
Známé chyby prostředí MPLAB při překladu:
- MPLAB může hlásit chyby při překladu ve chvíli, kdy z projektu odeberete soubor. V takovém případě vymažte soubor Makefile-default.mk, který je v adresáři <adresar_projektu>\nbproject. MPLAB si vymazaný soubor při dalším pokusu o překlad vygeneruje znovu.
- MPLAB může hlásit chyby při překladu v souvislosti s chybějícím souborem v adresáři <adresar_projektu>\dist\default\production. V takovém případě zkontrolujte, jestli se překlad podařil (ve spodní části - karta Output > karta s názvem projektu) a pokud ano, tak chybu ignorujte. Pokud chyba přetrvává, zkontrolujte, zda nemáte v cestě k projektu nějaké speciální znaky.
Pokud byl překlad úspěšný, tak lze spustit simulaci pomocí tlačítka Debug Project, resp. Debug Main Project. 
Simulátor obsahuje běžné volby:
- Finish Debugger Session: ukončení simulace,
- Pause: Pozastavení simulace na aktuální instrukci,
- Reset: Návrat na adresu 0,
- Continue: Pokračování pozastavené simulace,
- Step Over: Vykonání jedné instrukce (neskáče dovnitř podprogramů),
- Step Into: Vykonání jedné instrukce (skáče dovnitř podprogramů),
- …
Breakpointy lze nastavit/zrušit kliknutím na číslo řádku.
3.2. Prohlížení aktuálních dat
Simulátor umožňuje prohlížet následující položky (při první simulaci je nejprve nutno tyto položky zobrazit):
- Obsah programové paměti včetně aktuálně zpracovávané instrukce (Window > Target Memory Views > Program Memory). Doporučený Format: Code (volba ve spodní části karty Program Memory),
- Obsah datové paměti (Window > Target Memory Views > SRAM Data Memory). Doporučený Format: Symbol,
- Obsah obecných i speciálních registrů (Window > Target Memory Views > I/O Memory (SFRs)). Doporučený Format: Individual,
- Simulátor displeje a tlačítek (Tools > Arduino > Arduino Display Kit).
Pozice jednotlivých karet lze měnit a zobrazit si jich tak více najednou.

Pokud jste ukázkový kód odsimulovali úspěšně, pak na kartě Program Memory bude šipka u řádku end: JMP 0x102 a na kartě I/O Memory (SFRs) budou v registrech r16 a r17 hodnoty 42 a 100 (viz předchozí screen). Datová paměť, displej ani tlačítka nebyly v ukázce použity - na jejich kartách tedy nebude nic k vidění.
Varování:
Okna zobrazující obsah paměti občas ukazují nesmyslná data (zejména po spuštění IDE a změně hlavního projektu). Pokud máte podezření, že data nedávají smysl (nejčastěji rozpoznatelné podle toho, že adresy v tabulce nejdou postupně za sebou), tak ve spodní části panelu znovu vyberte stejné hodnoty v položkách Memory a Format - to by mělo obsah tabulky aktualizovat.
4. Programování vývojového kitu Arduino Uno + LCD Keypad Shield
Nejprve přeložte zdrojový kód pomocí tlačítka Build Project, resp. Build Main Project. 
Varování:
Známé chyby prostředí MPLAB při překladu:
- Pokud MPLAB při překladu nevygeneruje soubor .hex, tak klikněte pravým tlačítkem na název projektu v levé části na kartě Projects a vyberte volbu Properties. V levé části pak vyberte řádek AVR Asm (Global Options) a v pravé části pak odškrtněte a znovu zaškrtněte volbu Generate HEX file. Poté okno potvrďte a znovu projekt přeložte.
- MPLAB může hlásit chyby při překladu ve chvíli, kdy z projektu odeberete soubor. V takovém případě vymažte soubor Makefile-default.mk, který je v adresáři <adresar_projektu>\nbproject. MPLAB si vymazaný soubor při dalším pokusu o překlad vygeneruje znovu.
- MPLAB může hlásit chyby při překladu v souvislosti s chybějícím souborem v adresáři <adresar_projektu>\dist\default\production. V takovém případě zkontrolujte, jestli se překlad podařil (ve spodní části - karta Output > karta s názvem projektu) a pokud ano, tak chybu ignorujte. Pokud chyba přetrvává, zkontrolujte, zda nemáte v cestě k projektu nějaké speciální znaky.
Nahrávací SW lze spouštět pomocí příkazové řádky
avrdude -P <nazev_portu> -p m328p -b 115200 -c arduino -U f:w:<hex_soubor_vcetne_cesty>:i
ale je i možnost využít GUI v panelu Tools > Arduino > ArduinoProgrammer.
Vyberte .hex soubor, zvolte COM port, na kterém je vývojový kit připojen (na školních PC typicky COM port s nejvyšším číslem) a stiskněte Program device. Výsledek programování lze vyčíst v části Log.
Varování:
V adresáři projektu jsou typicky dva .hex soubory.
- V kořenovém adresáři s názvem <jmeno_projektu>.hex. Ten vzniká během spouštění simulace.
- V adresáři <adresar_projektu>\dist\default\production s názvem <jmeno_projektu>.X.production.hex. Ten vzniká během překladu tlačítkem Build Project, resp. Build Main Project.
Důrazně doporučujeme, abyste si v okně výběru .hex souboru zobrazili detaily souborů a při výběru souboru důsledně kontrolovali, zda nevybíráte nějakou starší verzi.
Program ve vývojovém kitu běží bez jakékoli vazby na PC, tzn. nedá se v něm krokovat, a běží plnou rychlostí (tj. 16 MHz). To znamená, že když chcete, aby program čekal, musíte na příslušné místo v programu umístit čekací smyčku (např. jmp PC – nekonečnou smyčku).





