0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeBascom-AVR knjižnica za OLED prikazovalnik (4)

    Bascom-AVR knjižnica za OLED prikazovalnik (4)

    Tokrat si bomo ogledali uporabo ukazov iz knjižnice Obuf$SE.sub. Prav tako bomo spoznali osem demo programov, ki ilustrirajo način uporabe in zmogljivosti novih Bascomovih OLED ukazov. Programi so napisani za mikrokontroler ATmega328P v vezavi, ki jo vidimo na sliki 2 (slika je v prejšnjem nadaljevanju), privzeto pa je, da pri tem uporabimo I2C komunikacijski protokol. Lahko jih uporabimo tudi v drugačni vezavi, o čemer bomo govorili malo kasneje.

    Slike ni
    KLIK

    Izbira mikrokontrolerjev, ki so primerni za izvajanje programov in ki lahko uporabljajo ukaze iz knjižnice Obuf$SE.sub, je omejena s potrebno kapaciteto internega SRAM pomnilnika – 2 kB. 1300 bajtov tega pomnilnika bodo „porabili“ podprogrami, ostalo pa je na voljo programerju, da ga uporabi za druge namene.

    Priprava programa za uporabo ukazov iz knjižnice Obuf$SE.sub

    Če želimo v svojem Bascom-AVR programu uporabljati ukaze iz knjižnice Obuf$SE.sub, moramo program pripraviti na isti način, kot ga pripravimo za uporabo ukazov iz knjižnice Oled$SE.sub (postopek je opisan v prejšnjem prispevku). Edina razlika je, da moramo zdaj v uvodnem delu programa vključiti knjižnico z drugimi podprogrami, ki se nahajajo v datoteki Obuf$SE.sub:

    $include "Obuf$SE.sub"
    Slike ni
    KLIK

    Ko je to urejeno, lahko v programu uporabljamo OLED ukaze iz obeh knjižnic (knjižnice Oled$SE.sub ni treba posebej navajati). Izhajamo iz izhodišča, da se knjižnici nahajata v isti mapi, v kateri je tudi sam program; v nasprotnem primeru pa je treba navesti pot do obeh map. Da pa bi OLED ukazi res delovali tako, kot je bilo zamišljeno, moramo nastaviti še I2C povezavo med mikrokontrolerjem in OLED prikazovalnikom in jo uskladiti z načinom povezovanja. Ta del programa je prav tako popolnoma enak opisu, ki ga imamo v prejšnjem članku.

    Z dodajanjem Obuf$SE.sub knjižnice ste svoj program obogatili z možnostjo uporabe dvanajst novih ukazov, ki so namenjeni delu z OLED prikazovalnikom. Programska koda posameznega ukaza bo postala sestavni del vašega programa šele takrat, ko boste ta ukaz dejansko uporabili. Vendar pa je dobro vedeti, da z vključitvijo Obuf$SE.sub knjižnice svoj program “obremenimo” s pomnilnikom velikosti 1152 B, neodvisno od ukazov, ki jih bomo iz te knjižnice uporabljali (in če jih sploh bomo):

    Dim Obuf$(1152) As Byte

    Prvih 1024 bajtov predstavlja “vidni” del medpomnilnika (bufferja), ostalo pa uporabljajo določeni ukazi, ki manipulirajo z njegovo vsebino. Skupaj z medpomnilnikom ste v svoj program sprejeli tudi nekaj globalnih spremenljivk:

    Dim Obuf$ind As Word
    Dim Obuf$$1 As Byte , Obuf$$2 As Byte

    Dim Obuf$$12 As Word At Obuf$$1 Overlay

    Prvo spremenljivko uporabljajo podprogrami iz knjižnice za naslavljanje vsebine medpomnilnika, ostale pa so namenjene preračunavanju naslovov iz enodimenzionalne matrice (medpomnilnik) v dvodimenzionalno (zaslon OLED prikazovalnika) in obratno. Te spremenljivke uporabljajo ukaze iz knjižnice, lahko pa se jih uporablja tudi iz uporabniškega programa, če je programer dobro seznanjen z načinom naslavljanja OLED (to smo si podrobno ogledali v prvem članku te serije).

    Demo programi (knjižnica OBUF$SE)

    Uvodni del vseh demo programov je napisan v skladu z doslej napisanimi navodili. Glavni del programa izvaja neko specifično nalogo, v kateri ilustriramo uporabo posameznih ukazov iz Obuf$SE.sub knjižnice. Analizirali bomo le tiste dele programa, ki se nanašajo na uporabo “novih”OLED ukazov. Za popolno razumevanje delovanja programa si bomo morali ogledati celoten program (demo programe lahko brezplačno dobite v uredništvu revije SE.)

    Program:Obuf_demo_1.bas

    Knjižnica: Obuf$SE.sub

    Uporabljeni ukazi: Obuf$clear, Obuf$send, Obuf$send_page, Obuf$send_block

    Knjižnica Obuf$SE.sub vsebuje skupino ukazov, s katerimi lahko menjamo vsebino Obuf$ medpomnilnika. Vsebina, ki se nahaja v Obuf$ medpomnilniku, pa bo na zaslonu OLED vidna šele takrat, ko jo prenesemo v njegov RAM pomnilnik. Program demonstrira uporabo ukazov za prenos celotne vsebine medpomnilnika, posamezne strani ali pa samo dela neke strani.

    Tiskano vezje
    
    Program4 - OLED_Mitrovic4
    
    Celotni članek

    Bascom-AVR knjižnica za OLED prikazovalnik (4)

    2015_SE236_54