Programování,testování a oživování mikroprocesoru je možné několika způsoby. Každému
konstruktérovi může vyhovovat odlišný postup vývoje budoucího zažízení řízeného mikroprocesorem.
V současné době jsou nejobvyklejšími postupy asi tyto:
programování mikroprocesoru ve speciální "programovací krabičce"
Jedná se o různé tzv. vývojové kity, které mají vyvedenu patici pro zasunutí mikroprocesoru nebo
je v nich mikroprocesor přímo zapájen.Krabička obsahuje podpůrné obvody mikroprocesoru jako je reset obvod,
obvod oscilátoru atd.Na krabičce tak potom bývá vyvedeno RESET tlačítko atd.Součástí kitu je i speciální
programovací software.
Nevýhodou těchto kitů je to,že je lze použít jen s konkrétními typy mikroprocesorů, pro které byly
navrženy.Dále je konstruktér ochuzen obvykle o sériový kanál nebo jeden celý port, přes který
se kit připojuje k sériovému portu PC, na kterém se provádí programování.Navíc nemusí být všechny
vývody mikroprocesoru externě vyvedeny a nejsou tak konstruktérovi k dispozici. Výhodou je jednoduchost
a rychlost programování.
Příkladem tohoto prostředku je např. systém EASY51 firmy EASYsoft.
programování mikroprocesoru za pomocí různých emulátorů
Emulátor mikroprocesoru 8051 slouží k tvorbě a odlaďování programů pro něj, "ale bez něj".
Vlastní emulátor je navržen tak, aby v plné šíři emuloval (t.j. napodobil) vlastnosti mikroprocesoru ve vyvíjeném zařízení. Řada pracovních režimů umožňuje jeho použití nejrůznějšími způsoby a to i tehdy, kdy vyvíjené (zákaznické) zařízení není zcela zkompletováno.Připojení emulátoru k vyvíjenému zařízení se provádí emulačním kabelem, který vychází z emulátoru a bývá zakončen několikapinovou zástrčkou (vidlicí) ve formě pouzdra obvodu, která může být zastrčena přímo do patice místo původního (nebo dosud vůbec nezapojeného) mikroprocesoru ve vyvíjeném zařízení. Místo kabelu může být celý obvod emulátoru navržen jako jednotka, zakončená několikapinovou vidlicí (dle typu mikroprocesoru) k přímému zasunutí do patice, pokud tomu dovolí prostorové podmínky. Emulátor může být pomocí propojovacích míst (nebo softwarově) nakonfigurován tak, že představuje logický ekvivalent původního mikroprocesoru ve všech jeho možných stavech.
Obslužný software emulátoru obvykle umožňuje provést kontrolu vyvíjeného programu s ohledem na vzájemnou spolupráci s periferiemi, což by bylo normálně možné provést pouze pomocí osciloskopu (toto platí i pro 1.metodu programování s program."krabičkou"). Dále umožňuje zobrazit a měnit obsahy registrů, obsahy pamětí, simulovat paměti ROM nebo RAM, spouštět a zastavit program na zvolených místech, zobrazit a změnit stavové slovo systému atd.
Z výše uvedených faktů vyplývá, že k samotnému přenesení(nahrání) programu do mikroprocesoru je ještě potřeba klasický programátor (ať už univerzální nebo pro konkrétní typ mikroprocesoru). Nevýhodou tohoto způsobu programování jsou určitá omezení (byť minimální), např. pevně daný krystal, výhodou je jednoduchost ladění programů.
Příkladem tohoto prostředku je emulátor T-EMU52 firmy ELNEC.
programování mikroprocesoru pomocí univerzálního programátoru
Tento způsob využívá k programování "univerzální" programátor, který se připojuje k sériovému nebo méně často k paralelnímu portu PC. Programátor je vybaven pouze samotnou paticí pro zasunutí mikroprocesoru, obvykle je patice univerzální pro několik typů mikroprocesorů (s různým počtem vývodů). Neposkytuje mikroprocesoru žádné podpůrné obvody. V programátoru se tak provádí jen samotné programování. Podpůrné obvody je nutné mikroprocesoru zajistit na jiném místě, nejlépe tedy na desce s nepájivým kontaktním polem, kde lze celé zařízení při vývoji pohodlně odladit. Nevýhodou je náročnější programování - nikde nevídíte, co se v procesoru právě děje (stavy registrů, portů atd.) a jestli už proběhla určitá část programu apod. Obvyklou metodou, jak indikovat dosažení určité části programu nebo požadované funkce, je připojit k portu mikroprocesoru LEDku (LEDky), a v programu je na požadovaném místě ovládat (rozsvěcovat). Při tomto způsobu programování je nepříjemná nutnost přendávat mikroprocesor mezi programátorem a nepájivým kontaktním polem při sebemenší změně v programu. Dále je nutné se při programování přepínat mezi obslužným programem programátoru a textovým editorem, ve kterém píšeme program. Nevýhodou je rovněž obvykle vyšší cena univerzálního programátoru. Výhoda spočívá v tom, že konstruktér není ochuzen o žádnou část mikroprocesoru, může se zvolit takový krystal, jaký potřebuje, díky univerzálnímu
programátoru může využít široké spektrum typů mikroprocesorů.
Příkladem takového programátoru budiž programátor ATMega firmy MITE nebo 51&AVRprog firmy ELNEC.
K tomuto způsobu programování náleží i další alternativa a to v podobě toho, že místo univerzálního programátoru se používá programátor vyvinutý jen pro určitý typ nebo skupinu mikroprocesorů. V případě skupiny je to obvykle pro mikroprocesory od jednoho výrobce. Využití takovéhoto programátoru je v současnosti stále častější, protože jak bylo zmíněno výše, univerzální programátory jsou poměrně drahé. Naopak programátory pro určitý typ mikroprosorů jsou levné a amatersky poměrně snadno vyvinutelné a vyrobitelné. Množství konstrukcí takovýchto programátorů se neustále zvyšuje, jak je možné vysledovat z odborných časopisů nebo internetu. Jistě potěší, že mnoho konstrukcí je českého původu, jak se můžete přesvědčit i na této stránce, kde je několik takových konstrukcí uvedeno (nepřekvapí, že všechny jsou vyvinuty pro velmi oblíbené mikroprocesory firmy ATMEL).
Postup při programování 3.metodou:
Napíšete tedy program v nějakém textovém editoru, který do výsledného souboru nepřidává své vlastní formátovací informace,
lze tedy použít např.Poznámkový blok, WordPad (bez formátování), textové editory Windows Commandera, Norton Commandera atd.
Potom musíte využít služeb některého z tzv.překladačů. Tento překladač zajistí kontrolu a převod programu napsaného v jazyce symbolických adres do souboru ve formátu hex. V tomto kroku dochází k náhradě symbolických označení, návěští atd. jejich skutečnými
adresami, program se jednoduše řečeno převede do formy strojového kódu srozumitelného mikroprocesoru.
Tento hex soubor se potom načte do obslužného programu programátoru a programátor nahraje program do samotného mikroprocesoru.
Podrobný popis vývoje programů pro 8051, způsob programování v jazyce symbolických adres a postup při překladu programů najdete zde.
Pro jednoduché programy a zkoušení kratších bloků programu bývá dobré využít schopností a služeb
tzv. simulátoru mikroprocesoru. Jedná se o program, který běží na PC a simuluje funkci mikroprocesoru,aniž
byste ho měli fyzicky k dispozici.Jako vstup simulátoru se určí hex soubor, v simulátoru se dále mohou nastavit
další parametry simulovaného mikroprocesoru (hod.kmitočet, ext/int paměť, počáteční obsah (stav) registrů, stavového slova, portů atd.).Program v simulátoru lze obvykle spustit tak,
že proběhne celý tak jak jdou instrukce za sebou nebo v tzv.krokovém režimu, kdy se provede vždy jen jedna instrukce a čeká
na další pokyn uživatele ke spuštění další instrukce. Lze tak přehledně sledovat, co která instrukce provádí a jak se mikroprocesor
po provedení dané instrukce chová.Aby bylo možné sledovat stavy jednotlivých funkčních částí mikroprocesoru (a k tomu je simulátor určen
především),je obrazovka simulátoru obvykle členěna do několika oken zaměřených na danou část mikroprocesoru. Lze tady sledovat
zejména dobu vykonávání programu nebo i jednotlivých intrukcí,stavy registrů,portů, obsah paměti dat atd. a samozřejmě také sledovat, která
instrukce se právě provedla.Kromě toho lze i stavy portů, obsahy registrů atd. nastavovat.
Jeden takovýto simulátor vyvinula královehradecká společnost MITE, zabývající se mikroprocesorovou technikou, jejíž produkt
lze stáhnout dle odkazu na hlavní stránce nebo i zde.
Chcete si vyrobit vlastní programátor mikroprocesorů 8051?