Mikroprocesorové jádro jednapadesátky jako na talíři.

     Spuštěním simulátoru ADsim812 získáme velmi komfortní vývojový simulátor intelovské řady 8051 a jeho dalších nadstaveb. Mimo základní menu se v horní části okna zobrazí dvě lišty, které umožňují vyvolat celou řadu funkcí a událostí v běhu laděného programu.

     Na ostatní volné ploše obrazovky lze zobrazit pomocná okna následujících funkcí a významu:


  disasemblerovaný laděný program, v němmž jsou uvedeny také odkazy a návěští jako ve zdrojovém textu programu
  obsah interní případně externí paměti RAM pro data
  paměťovou lokaci SFR registru, tedy jen těch, co používá základní 8x51
  všechny čtyři I/O porty včetně zobrazení po bitech
  všechny tři časovače, tedy včetně Timer2 u 8x52
  a specialitky pro ADuC812:

  paměťovou lokaci SFR registru pro A/D a D/A převodníky
  paměťovou lokaci pro I2C a SPI rozhraní
  paměťovou lokaci pro obsluhu flash EEPROM paměti včetně této flash paměti
  paměťovou lokaci vnitřního WDT monitoru a monitoru napájení včetně možnosti simulace poklesu tohoto napájení.


     Ve všech oknech lze provádět modifikaci paměťového místa nebo registru. Jedině v okně disasemblerovaného programu to samozřejmě možné není.

Pro vlastní ladění programu lze využít krokové simulace, simulace po procedurách, běhu programu do nastavených breakpointů a také možnost vynechání následující instrukce při krokování programu, což se tak často v simulátorech nevidí.

     Zajímavé a velmi užitečné je okno analýzy programu, kde je možné získat informace o vnějším chování laděného programu, tj. zjistit počet provedených cyklů, instrukcí a vlastní doby trvání programu, pro zvolený kmitočet krystalu. Zvlášť se registruje potřebná velikost zásobníku, jeho případná inicializace a počet přístupů do externí paměti RAM. Užitečné jsou dolní dvě menší okna - levé slouží k registraci návratových adres při volání podprogramů, čímž je zde vidět i výše vnoření podprogramů. V pravém okně je zobrazována historie vykonávaných příkazů.

     V samostatném konfiguračním okně aktivního projektu je možné nastavit další, společné vlastnosti prostředí. Lze ovlivnit hlídání definovaného vrcholu zásobníku. Simulátor při “přetečení” nastavené velikosti zásobníku ohlásí chybu. Hlídá také použití zakázaného přerušovacího vektoru a kontroluje správné zakončení přerušovací rutiny. Lze také zvolit možnost vzniku varovného hlášení při špatné instrukci nebo obsluhy neexistujícího SFR registru.

     Přesto, že mikrokonvertor ADuC812 může používat krystal maximálně 16 MHz, lze zde nastavit hodnotu krystalu prakticky libovolnou, mimo předinstalovaných 11,0592 a 12 MHz. Úspěšně zde byl odladěn a podroben časové analýze program pro mikroprocesor AT89C2051 s 24 MHz krystalem.

Rychlé ovládání přes tlačítka


     Nejběžnější funkce simulátoru jsou umístněny ve dvou lištách. První z nich obsahuje klasické funkce otevření a uložení simulovaného projektu. Běžné funkce Reset programu, spuštění a zastavení programu. “Ruka” naznačuje možnost vložení “breakpointů” - míst, kde se běžící program zastaví. Trojice tlačítek se stopou intuitivně naznačují krokování programu, krokování po procedurách a obejití, tedy vynechání instrukce. Předposlední tlačítko umožňuje otevřít okno analýzy programu a poslední ukončení simulačního programu.

     Druhá lišta obsahuje tlačítka nulování programové paměti, nulování externí RAM paměti a nulování interní RAM paměti. Další tlačítka slouží pro vyvolání následujících událostí:


  přetečení časovače T0, T1 případně T2, včetně typu autoreload
  vyvolání externího přerušení na E0 a E1
  vyvolání přerušení od sériového kanálu RI, TI

     Díky těmto tlačítkům je možné odladit programové sekvence, které zajišťují zpracování všech přerušení. Všechny tyto události je možné vyvolat jak při běhu simulovaného programu, tak i při krokování programu.

Také něco navíc

     Představovaný simulátor má také něco navíc, co asi běžné simulátory nemají.

     V simulátoru je možné otevřít dvě terminálová okna. První umožňuje simulovat komunikaci na sériové lince. Přičemž v okně konfigurace simulátoru lze navíc zvolit možnost simulovat sériovou linku RS-232 v terminálovém okně nebo použit existujícího COM portu (všech čtyř) na PC při zvolené komunikační rychlosti od 300 Bd až do 19200 Bd. Druhé terminálové okno pak umožňuje simulovat přenos dat na rozhraních I2C nebo SPI.

     Vzhledem k plné podpoře mikrokonvertoru ADuC812 je v simulátoru také pamatováno na simulaci vstupních a výstupních dat pro A/D a D/A převodníky. Data jsou čtena nebo zapisována do běžného textového souboru s příponami *.adc nebo *.dac v podobě čtyř hexa čísel v jednom řádku, tedy jako plná 16-ti bitová informace.

     Velice příjemná je možnost simulace “maticové klávesnice” 4x5 tlačítek. V konfiguračním okně je možné nastavit připojení této simulované klávesnice na libovolné porty a to jak vstupní tak i výstupní. Druhé okno pak simuluje klávesnici tak, že zmáčknutí tlačítka se projeví takovým způsobem na zvolených portech, jako by byla připojena skutečná klávesnice. Poměrně lehce tak lze odladit rutiny obsluhy klávesnice, a to jak klasické, tak i ty, které budou využívat přerušení.

   

A co říci závěrem ?

     Uvedený simulátor, který je volně k dispozici všem programátorům a zájemcům o jednočipové mikroprocesory řady 8x51 nebo 8x52, patří do vyšší třídy z hlediska komfortu poskytovaných funkcí a simulačních možností. Firma tak dává najevo úplnou volnost při ladění programového vybavení a to nejen na úrovni PC simulace, ale i následně při HW simulaci s využitím HW simulátorů přímo vestavěných do mikrokonvertoru ADuC812. Firma bezesporu razí heslo, vše si nejprve vyzkoušejte a když by se vám to líbilo a fungovalo, tak teprve investujte do zařízení. Možná i proto je cena vlastního mikrokonvertoru ADuC812 o něco vyšší, než by se dalo očekávat.

Vytisknout stránku Velikost 202 kByte

Zpátky Zpátky
© DH servis 2002 -