Simulácia PIC

Integrované obvody PIC sú obľúbené mikroradiče, používané v mnohých konštrukciách. KTechLab umožňuje ich simuláciu v reálnom čase, podobne ako simuláciu bežných obvodov, pričom má rozhranie pre simuláciu mikroradičov 16F84, 16F627 a 16F628. Tí, ktorí sa tom aspoň trochu orientujú vedia, že sa jedná o veľmi podobné (až skoro rovnaké) obvody.

Simulácia  PIC je komplexná, teda vrátane jeho programu, pričom tento môže byť napísaný pomocou viacerých jazykov:

  • Jazyk C (.c);
  • Assembler (.asm);
  • Microbe (.microbe) – jazyk podobný jazyku Basic;
  • FlowCode (.flowcode) – grafické programovanie.

Príprava simulácie

Zatiaľ čo sme si pri simulácii bežných obvodov vystačilis jediným súborom. Pre simuláciu PIC sú potrebné súbory minimálne dva:

  • súbor obvoddu – circuit;
  • súbor programu. 

Keďže sa simulácia PIC skladá vždy minimálne z dvoch súborov (obvod a program), je dobré využívať výhody Projektu, ale jeho použitie nie je podmienkou. Pri vytváraní nového projektu (menu Projekt) je dôležité si uvedomiť, že zvolené meno bude pretransformované na meno adresára (ako vidno na obrázku) a podľa toho aj voliť použité znaky – vyvarovať sa používanie medzier a interpunkcie (nie preto, že by s tým KTechLab nedokázal pracovať, ale preto, že to nie je správne).

Nový projekt

Pred začiatkom simulácie je potrebné sa najprv rozhodnúť v ktorom jazyku bude program pre PIC a podľa toho vytvoriť nový súbor. Pokiaľ chcete vytvárať program graficky, pomocou FlowCode, je treba sa už vopred rozhodnúť, pre ktorý typ procesora bude program určený:

Nový súbor

Ak chcete aby bol nový súbor automaticky pridaný i do projektu, nezabudnite zaškrtnúť voľbu "Pridať do projektu". Ak neviete, ktorý typ procesora si zvoliť, použite 16F627/8. Mikroprocesor 16F84 je z nich najstarší a najdrahší...

Tvorba programu

Prvky diagramu

Samotnú simuláciu je treba vždy začať vytvorením súboru s programom. Pri súboroch iných ako FlowCode je treba program začať definíciou typu procesora, pri FlowCode to volíme pri vytvorení súboru.

Myslím, že najmä zo začiatku je naozaj výbronou voľbou programovanie pomocou FlowCode, čo je akási obdoba vývojových diagramov, pomocou ktorých možno celý program navrhnúť graficky – jednoduchým preťahovaním a spájaním prvkov diagramu.

Na obrázku vpravo môžete vidieť všetky dostupné prvky diagramu. Aj tieto sú, podobne ako súčiastky, prehľadne rozdelené do niekoľkých kategórií v stromovej štruktúre.

Jednotlivé prvky diagramu možno myšou popreťahovať do plochy súboru a potom pospájať rovnakým spôsobm, ako sa spájajú súčiastky v simulácii obvodu. Teda presunúť myš nad prípojný bod (až sa kurzor zmení na krížik), kliknúť a ťahať do druhého prípojného (koncového) bodu. Pokiaľ počas ťahania opätovne kliknete myšou, bude v tomto mieste vytvorené zalomenie spojnice. Zrušenie kreslenia spojnice možno dosiahnúť kliknutím pravým tlačítkom myši.

Aj odstraňovanie prvkov je podobné ako pri obvodoch, tzn. označiť príslušný prvok (alebo spojnicu) myšou a stlačiť kláves Delete.

Program FlowCode musí vždy začínať prvkom Štart, ale nemusí vždy končiť prvkom Koniec. Zdá sa Vám to mätúce? Pravidlo pre (ne)použitie prvku Koniec je jednoduché – pokiaľ program nemá končiť (je to nekonečná slučka), nemusí obsahovať prvok Koniec, v opačnom prípade ho obsahovať  musí!

Mnohé prvky diagramu možno nastaviť (prispôsobiť) potebám programu. Možnosti nastavenia sa líšia podľa typu použitého prvku, ale jedno majú spoločné – nastavenia sa vždy objavujú (po vybratí prvku) v paneli nástrojov (hore). K najbežbejším možnostiam nastavenia patria:

  • použitý pin portu;
  • stav pinu;
  • dĺžka pauzy;
  • meno premennej a podobne.

Nastavenie PIC

Nastavenia PICOkrem samotného programu je v okne súboru k dispozícii aj obrázok PIC, ktorý v grafickej podobe ukazuje aktuálne nastavenie PIC:

  • stav pinu (high/low) a
  • typ pinu (vstup/výstup).

Ako môžete sami vidieť, nastavenie pinu je indikované šípkou, pričom smer šípky udáva smer toku dát – šípka dnu je vstup a šípka vona zase výstup. Stav pinu zase udáva jeho farba. Ak je pin v stave high (logická 1), má červenú farbu. Pričom intenzita červen farby rozlišuje stav high na vstupnom a výstupnom pine. Na obrázku vpravo je výstupný pin RA1 v stave high. Všetky ostatné piny sú vstupné, pričom pin RA0 je tiež v stave high.

Zmenu stavu možno docieliť kliknutím myšou na obdĺžniček pinu. Podľa popisu v programe, ťahaním šípky vľavo(vpravo by sa malo dať zmeniť nastavenie pinu (vstup/výstup), ale toto mi nefunguje. Pokiaľ teda treba zmeniť nastavenie pinu, poslúži tlačidlo Pokročilé...

Po kliknutí na toto tlačidlo sa otvorí dialógové okno, kde možno klasickým psôsobom (teda pomocou 0 a 1) nastaviť nielen typ a stav pinu (registre TRISx a PORTx), ale i nastaviť počiatočné premenné premenných a vytvoriť mapu pinov. Mapa pinov slúži na pripojenie PIC so zariadeniami ako je klávesnica, či 7-segmentový zobrazovač.

Simulácia programu

PIC v KTechLabPo vytvorení súboru s programom ho možno priradiť PIC. Samotný obvod s PIC si môžete do obvodu pridať aj skôr, ale až po priradení súboru s programom sa v obvode objavia príslušné piny, ku ktorým už možno bežným spôsobom pripojiť ostatné súčiastky. Súbor s programom možno vybrať z rozbaľovacieho menu v paneli nástrojov, teda tam kde sú nastavenia aj ostatných súčiastok.

Na obrázku môžete vidieť PIC 16F628 s jedným logickým výstupom, pripojeným na port RA1. Pod samotným PIC sú štyri tlačítka, ktorých význam (zľava doprava) je:

  • Spustenie simulácie,
  • Prerušenie simulácie,
  • Zastavenie simulácie,
  • Znovunačítanie programu.

Príklad programu

Pre inšpiráciu prikladám ukážku programu FlowCode, ktorý bliká LED, pripjenou na pin RA1 s intervalmi 500 ms:

Blikač