Teória - Mikroprocesor (µP)

28.02.2014 00:21 | wyxsi

Chcel by som tu vytvoriť hodnotný obsah, čo sa týka µP-ov. (Hlavne hierarchia 8051)

  1. Detailný rozbor možností µP-ov v praxi ktorý nebude ani keď sa pokrájam celí ;)
  2. OS RTX51
  3. Porovnanie PLC s µP
  4. Nástroje pre vývoj programu (µVision x; x€{2,3,4} )
  5. ETC M621
  6. "Hello World" pre µP
  7. "Debug" a časté chybičky

Ešte si na úvod si neodpustím poznámku, aký je rozdiel medzi µP a procesorom. Procesor k svojej činnosti a funkčnosti potrebuje ešte ďalšie periférie, zato µP nie. (nerátajú sa pasívne súčiastky).

  1. Detailný rozbor možností µP-ov v praxi
  2. Žijeme v dobe, kde µP riadi v podstate všetko. Neexistuje snáď oblasť našich životov 21. st., ktorá by nebola ovplyvnená nejakým spôsobom, aspoň nepriamo, touto technológiou ktorá nás obklopuje všade.
    Možnosti sú však v podstate neobmedzené. Tak pardon - predsa len sú, ale "len" fyzikálne a fantáziou i zdatnosťou používateľa, či už programovacieho jazyku Asembler, C, C++, C#, so spojením napr. s OS RTX51 Tiny alebo iného. Potenciál je tým pádom nekonečne veľký. V praxi dokázali napríklad tak relatívne triviálny mechanizmus prania premeniť na celú vedu. Pred nedávnom nepredstaviteľná možnosť cca 6. spôsobov očisty bielizne je dnes bežná realita. PC, mobil, tablet, bežná realita. Zobrazovanie minút do vašej zástavky v trolejbuse na základe okolností v reálnom čase, bežná realita. Inak šmyk auta do tzv. "hodín" sa dnes skoro bez povšimnutia kompenzuje rôznym pribrzdením kolies, čo eliminuje príčinu vybočenia s pôvodnej trajektórie, bežná realita vďaka µP-om!
    A takto by bolo možné pokračovať hodinami písania, čo by vyžadovalo hodiny čítania, čo je nudné v opisoch.

  3. OS RTX51
  4. RTX51 Tiny je malý „real-time“ jadro programu, navrhnuté pre „jednočipové“ aplikácie, v ktorých je garantovaný úkon daných funkcií, ako napríklad oneskorenie 1 sekundy. Podporuje tiež tzv. multitasking a množstvo vysoko optimalizovaných a sofistikovaných činností.

  5. Porovnanie PLC automatu LOGO! od spoločnosti Siemens so sieťovým mikroprocesorom napr. 80DSC411 – FNY
  6. Porovnanie práve s týmto automatom som si vybral, pretože disponuje MAC adresou. µP nieje až tak blbo vzdorný a jednoduchý, má však ďaleko väčší potenciál, nakoľko nie je viazaný už naprogramovaným komerčným softvérom, umožňujúci vkladať do automatu len určité bloky. Zato µP je obmedzený len fantáziou a zdatnosťou používateľa, či už programovacieho jazyku Asembler, C, C++, C#, so spojením napr. s OS RTX51 Tiny.

  7. Nástroje pre vývoj programu (µVision x; x€{2,3,4} )
  8. µVision je silný nástroj na programovanie µP-ov ktorého možnosti ma stále viac a viac udivujú. Podporuje zvíraznenie sintaxe rôznych jazykov napr. Asemblera,C... Je doneho možne pridávať moduly ako je simulácia na sedem segmentovke, grafický display (neoverná možnosť je pridať si vlastné zobrazovanie či už ledkami viacerími diplaymi atď). Debug je veľmi pekne odladený a vhodný pre sledovanie čo sa deje step by step (krok za krokom).
    Na stránke výrobcu je pekná podpora a možnosť stiahnuť DEMO programu.

  9. ETC M621
  10. Tento program vykresľuje výstup Digitálneho osciloskopu ETC M621 so širokými možnosťami nastavení ako je to u bežného osciloskopu + má možnosť prepnúť do tzv. „pomalo bežného režimu“ s dlhou pamäťou priebehov ako je možné vidieť na obrázku 1. Ako je vidieť na obr. 2 je samozrejme možné ho takisto používať ako klasický analógoví osciloskop.

  11. Alfa beta programu :D
  12. #include<reg51.h>
    #include<stdio.h>
    #include<stdlib.h>
    #include<rtx51tny.h>

    #define INIT 0
    #define LIGHT 1

    sbit LED = P1^7; //LEDky
    sbit SVIET = P3^6; //Bit z analogoveho komparatora
    xdata unsigned char i=0,j=0,k=0;
    code unsigned char rom _at_ 0x5000;

    void Light(void) _task_ LIGHT
    {
    while(1)
    {
    os_wait(K_IVL,200,NULL);
    P1=i++;
    }
    }

    void Init(void) _task_ INIT
    {
    os_create_task(LIGHT);
    while(1)
    {
    os_wait(K_TMO,200,NULL);
    k=rom;
    P3=j++;
    // if (SVIET==0) {os_delete_task(LIGHT); LED=1;} else os_create_task(LIGHT);
    }
    }

Ako časté chybičky treba podotknúť že sú aj bodkočiarky ;) ako aj zle zadefinované premenné... Chcel by som však túto tému viac rozobrať v praktickej časti čo bude iný článok ;)
tagy => komunikácia, mikroprocesor, možnosti, prax, RTX51