Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1. Obsah registru reg se zobrazí na LED připojené na PORT D. Rotaci a detekci stisku tlačítka proveďte v přerušení. Postup řešení v MPLAB: 1. Založení nového projektu (Project -> Project Wizard) 2. Volba typu procesoru Y14SAP Struktura a architektura počítačů 1 / 12
3. Volba programovacích nástrojů (není potřeba nic měnit, pouze potvrdit stiskem Další) 4. Pojmenování nového projektu (stisknutím Browse otevřít okno v něm najít požadovanou složku nebo vytvořit novou, napsat jméno souboru a stisknout Save). Pak by okno mělo vypadat takto 5. Okno vložení souboru přeskočit kliknutím na Další 6. Kontrola zadaných údajů (potvrdit stisknutím Dokončit) Typ procesoru(viz. bod 2) Programovací nástroje (viz. bod 3) Cesta a jméno projektu (viz. bod 4) Y14SAP Struktura a architektura počítačů 2 / 12
7. Zobrazení jednotlivých oken v MPLAB (View -> Project, View -> Output) 8. Vložení souboru pro psaní programu (Project -> Add New File to Project) soubor pojmenovat a uložit s příponou *.asm Sem patří kód programu Y14SAP Struktura a architektura počítačů 3 / 12
9. Připojení skriptu pro Linker (Project -> Add File to Project -> Soubory typu *.lkr) najít soubor 18f87j11_g.lkr. (Bude na síťovém disku). 10. Tvorba kódu Hlavička souboru, pro přehlednost je dobré ji vytvořit Informace pro překladač, pro jaký procesor se program píše Konfigurační bity (nastavují základní chování procesoru) Tyto řádky jsou NEZBYTNĚ nutné. Jejich nedodržení povede k nefunkčnosti celého programu. Y14SAP Struktura a architektura počítačů 4 / 12
11. Deklarace proměnných Přiřazení místa paměti symbolickému jménu. V našem případě NEPOUŽÍVAT Deklarace pomocí bloku neinicializovaných dat Začíná na adrese 0x000 POUŽÍVAT Y14SAP Struktura a architektura počítačů 5 / 12
12. Struktura programu Na adrese 0x0000 startuje procesor po resetu Odskok na začátek programu (návěští main) Adresa vektoru přerušení Uložení kontextu NEZBYTNÉ Tělo programu Obnovení kontextu a návrat z přerušení NEZBYTNÉ Konec programu Y14SAP Struktura a architektura počítačů 6 / 12
13. Obsluha přerušení doplnění kódu Příkazy prováděné v přerušení Nulování příznaku přerušení NEZBYTNÉ 14. Hlavní tělo programu Inicializace procesoru Smyčka prováděná na pozadí programu Y14SAP Struktura a architektura počítačů 7 / 12
15. Překlad kódu (Project -> Build all) 16. Požadovaný výsledek překladu 17. Ladění programu pomocí MPLAB SIM (Debugger -> Select Tool -> MPLAB SIM) Ovládání debuggeru Nastavení debuggeru Y14SAP Struktura a architektura počítačů 8 / 12
18. Nastavení MPLAB SIM (Debugger -> Settings) Frekvence procesoru 10 MHz Velikost bufferu pro logický analyzátor 10 M lines (odpovídá cca 4s simulace) 19. Vložení Breakpointu a určení doby trvání úseku programu (Debugger -> StopWatch) Breakpoint se vloží dvojklikem na řádku kódu Pozice zastavení programu ve zdrojovém kódu Čas potřebný k dosažení aktuální pozice Y14SAP Struktura a architektura počítačů 9 / 12
20. Pohled na obsah registrů (View -> Watch) Výběr SFR registru, pak stisknout Add SFR Jméno registru Hodnota v registru REG Výběr proměnné, pak stisknout Add Symbol Výběr SFR registru Hodnotu některých registrů lze v okně Watch také měnit dvojklikem na sloupec Value a vložením požadované hodnoty.u některých SFR registrů změna není možná (např. PORTB), pak je pro simulaci nutné SFR registr nahradit jiným virtuálním registrem a před finálním překladem programu pro nahrání do desky změnu vrátit zpět. Y14SAP Struktura a architektura počítačů 10 / 12
21. Simulace pomocí logického analyzátoru (View -> Simulator Logic Analyzer), vložení proměnných stisknutím Channels Výběr registrů pro zobrazení Přidání registrů mezi zobrazované Zobrazované registry Po startu simulace začne signály zobrazovat i okno analyzátoru Další možností je volba debuggeru přímo ICD3 (Debugger -> Select Tool -> MPLAB ICD3). Program pak lze obdobným způsobem ladit přímo v procesoru. Nevýhodou je nižší rychlost a maximální počet 3 breakpointů. Y14SAP Struktura a architektura počítačů 11 / 12
22. Překlad a nahrání programu do procesoru (Programmer -> Select Programmer -> MPLAB ICD3) Ovládání programátoru Úspěšné připojení ICD3 Y14SAP Struktura a architektura počítačů 12 / 12