Avtor: Mladen Čempuh
e-mail: cempuh.mladen@gmail.com
Bascom-AVR programski paket z imenom „Big Number“ omogoča, da na enostaven način prikazujemo vrednosti raznih vrst spremenljivk v dvovrstičnem, trivrstičnem in štirivrstičnem formatu prikaza na LCD-ju. V tem članku bo opisan prvi del programskega paketa „Big Number“ ki omogoča dvovrstični format prikaza vrednosti spremenljivk z dvema vrstama fontov.
Na dvovrstičnem LCD-ju,npr. 1602, je omogočen dvovrstični format prikaza vrednosti iz Byte, Word, Integer ali Single spremenljivke. Za dvovrstični format sta na voljo dva fonta: Font1 in Font2. Font2 zavzema za isto številčno vrednost spremenljivke nekaj manjše število stolpcev LCD-ja.
Ta vsebina je samo za naročnike
Za vse programske knjižnice iz programskega paketa “Big number“ je uvedena univerzalna sintaksa ukaza za prikaz vrednosti neke spremenljivke v velikem formatu:
Big_number y , x , Spremenljivka
Vrednost y je koordinata vrste, vrednost x pa je koordinata stolpca zgornjega levega kota pozicije izpisa na LCD. Če uporabimo dvovrstični format prikaza na dvovrstičnem LCD-ju, je takrat y vedno 1. Vendar pa se dvovrstični format lahko uporabi tudi na štirivrstičnem LCD-ju npr. LCD2004. Takrat z y določimo, od katere vrste se bo pričel dvovrstični izpis.
Vrsta spremenljivk je lahko Byte, Word, Integer ali Single. Odvisno od vrste spremenljivke, katere vrednost v dvovrstičnem formatu želimo prikazati na LCD-ju, in mejnih vrednosti te spremenljivke, je potrebno v uporabniški program Bascom AVR z ukazom $include vključiti ustrezno programsko knjižnico vrste inc za prikaz vrednosti spremenljivke v izbranem formatu. Knjižnica mora biti v uporabniškem programu vključena preden uporabimo ukaz Big_number. Sočasno se v uporabniški program sme vključiti samo ena knjižnica. Pri uporabi Single spremenljivke za prikaz decimalne vrednosti številke na LCD-ju se avtomatično decimalna vrednost zaokroži na eno decimalko. Če je decimalno število v obsegu 0 do 99.9 , ali v obsegu 0 do 999.9 , se takrat priporoča uporaba knjižnice za prikaz pozitivnega decimalnega števila (positive_single), ker v izpisu zavzema manjše število stolpcev LCD-ja. Če je decimalno število v obsegu -99.9 do 99.9 , ali v obsegu od -999.9 do 999.9 , se uporabi knjižnica za dvovrstični format izpisa pozitivnih in negativnih decimalnih števil iz Single spremenljivk.
Če vrednost spremenljivke pade iz obsega, ki je določen z izbrano knjižnico, se na LCD -ju izpiše sporočilo o napaki prekoračitve obsega vrednosti izpisa spremenljivke Over range!, vse dokler se vrednost spremenljivke nahaja izven dovoljenega obsega.
V tem projektu knjižnice za dvovrstični prikaz vrednosti spremenljivk so priloženi primeri za vsako vrsto spremenljivke in za vsak format in font. Vsi testni programi in primeri uporabe so definirani za ATmega328P na 16MHz. Razen lastnega mikrokontrolerskega vezja se lahko uporabi tudi Arduino Uno ali Arduino Nano modul. Razen Atmega328P se lahko uporabi tudi nek drugi ATmega ali ATtiny mikrokontroler, ki ga podpira Bascom-AVR, po pogojem da ima dovolj Flash pomnilnika. Programske knjižnice za dvovrstični format prikaza vrednosti spremenljivk so prilagojene po dolžini izpisa na LCD (številu stolpcev, katere prikaz vrednosti zavzema na LCD-ju), izpisu na dvovrstični displej LCD1602 (16 * 2) z namenom, da prikaz vrednosti zavzame čim manj stolpcev LCD-ja. Tako če je mogoče, uporabniku ostane možnost prikaza za izpis npr. merilne enote, kot °C, Hz ali nek drugi teksta npr. RUN. V vseh priloženih programskih primerih je komunikacija z LCD-jem 4 bitna paralelna, lahko se uporabi tudi serijska I2C softverska ali hardverska TWI komunikacija. Vrsto AVR mikrokontrolerja, delovno frekvenco, in definiranje vrste komunikacije z LCD-jem je lahko uporabnik po želji spremeni in prilagodi svojim potrebam. Če se v uporabniškem programu uporabljajo prekinitvene rutine, pri uporabi softverske I2C serijske komunikacije z LCD-jem priporočam pred ukazom Big_number onemogočite vse prekinitve, ker nekatere prekinitvene rutine pri softverski I2C komunikaciji z LCD-jem lahko izzovejo napačen prikaz na LCD-ju. Po izvršitvi ukaza Big number y, x, Spremenljivka se lahko prekinitve ponovno omogočijo. Če moramo konstantno izvrševati prekinitvene rutine vam priporočam uporabo paralelne 4 bitne komunikacije z LCD-jem ali hardverske I2C (TWI) komunikacije. Pri dvovrstičnem izpisu vrednosti spremenljivk se uporabljajo uporabniški LCD karakterji Chr(1) do Chr(7) definirani z Bascom-AVR ukazom Deflcdchar. Uporabniški LCD karakter Chr(0) se ne uporablja in je prost za uporabnika.
Dvovrstični prikaz vrednosti spremenljivk s fontom Font1
Primeri programov in programske knjižnice so v direktoriju Font1.
Dvovrstični prikaz vrednosti Byte spremenljivk v fontu Font1
Obseg vrednosti je od 0 do 255. Prikaz vrednosti zavzema 11 stolpcev. Knjižnica je „byte_font1.inc“ , preizkusni program je „Byte Font1.bas“, slika 1.
Dvovrstični prikaz vrednosti Word spremenljivk v fontu Font1
Za obseg vrednosti od 0 do 999 je ustrezna knjižnica „word_999_font1.inc“. Prikaz vrednosti zavzema 11 stolpcev. Preizkusni program je „Word 999 Font1.bas“.
Za obseg vrednosti od 0 do 9999 je ustrezna knjižnica „word_9999_font1.inc“. Prikaz vrednosti zavzema 15 stolpcev. Preizkusni program je „Word 9999 Font1.bas“, slika 2.
Dvovrstični prikaz vrednosti Integer spremenljivk v fontu Font1
Za obseg vrednosti od -999 do 999 je ustrezna knjižnica „integer_999_font1.inc“. Prikaz vrednosti zavzema 14 stolpcev. Preizkusni program je „Integer 999 Font1.bas“, slika 3.
Dvovrstični prikaz vrednosti Single spremenljivk v fontu Font1
Za obseg vrednosti od 0 do 99.9 je ustrezna knjižnica „positive_single_99.9_font1.inc“ . Prikaz vrednosti zavzema 11 stolpcev. Preizkusni program je „Positive Single 99.9 Font1.bas“, slika 4.
Za obseg vrednosti od 0 do 999.9 je ustrezna knjižnica „positive_single_999.9_font1.inc“. Prikaz vrednosti zavzema 15 stolpcev. Preizkusni program je „Positive Single 999.9 Font1.bas“, slika 4.
Za obseg vrednosti od -99.9 do 99.9 je ustrezna knjižnica „single_99.9_font1.inc“ . Prikaz vrednosti zavzema 14 stolpcev. Preizkusni program je „Single 99.9 Font1.bas“, slika 4.
Dvovrstični prikaz vrednosti spremenljivk s fontom Font2
Primeri programov in programske knjižnice so v direktoriju Font2 .
Dvovrstični prikaz vrednosti Byte spremenljivk v fontu Font2
Obseg vrednosti je od 0 do 255. Prikaz vrednosti zavzema 9 stolpcev. Knjižnica je „byte_font2.inc“. Preizkusni program je „Byte Font2.bas“, slika 5.
Dvovrstični prikaz vrednosti Word spremenljivk v fontu Font2
Za obseg vrednosti od 0 do 999 je ustrezna knjižnica „word_999_font2.inc“. Prikaz vrednosti zavzema 9 stolpcev. Preizkusni program je „Word 999 Font2.bas“ slika 6.
Za obseg vrednosti od 0 do 9999 je ustrezna knjižnica „word_9999_font2.inc“. Prikaz vrednosti zavzema 12 stolpcev LCD-ja. Preizkusni program je „Word 9999 Font2.bas“ slika 6.
Za obseg vrednosti od 0 do 65535 je ustrezna knjižnica „word_font2.inc“. Prikaz vrednosti zavzema 15 stolpcev. Preizkusni program je „Word Font2.bas“, slika 6.
Dvovrstični prikaz vrednosti Integer spremenljivk v fontu Font2
Za obseg vrednosti od -999 do 999 je ustrezna knjižnica „integer_999_font2.inc“. Prikaz vrednosti zavzema 12 stolpcev. Preizkusni program je „Integer 999 Font2.bas“, slika 7.
Za obseg vrednosti od -9999 do 9999 je ustrezna knjižnica „integer_9999_font2.inc“. Prikaz vrednosti zavzema 15 stolpcev. Preizkusni program je „Integer 9999 Font2.bas“, slika 7.
Dvovrstični prikaz vrednosti Single spremenljivk v fontu Font2
Za obseg vrednosti od 0 do 99.9 je ustrezna knjižnica „positive_single_99.9_font2.inc“. Prikaz vrednosti zavzema 10 stolpcev. Preizkusni program je „Positive Single 99.9 Font2.bas“, slika 8.
Za obseg vrednosti od 0 do 999.9 je ustrezna knjižnica „positive_single_999.9_font2.inc“. Prikaz vrednosti zavzema 13 stolpcev. Preizkusni program je „Positive Single 999.9 Font2.bas“, slika 8.
Za obseg vrednosti od -99.9 do 99.9 je ustrezna knjižnica „single_99.9_font2.inc“. Prikaz vrednosti zavzema 13 stolpcev. Preizkusni program je je „Single 99.9 Font2.bas“, slika 8.
Za obseg vrednosti od -999.9 do 999.9 je ustrezna knjižnica „single_999.9_font2.inc“. Prikaz vrednosti zavzema 16 stolpcev. Preizkusni program je je „Single 999.9 Font2.bas“, slika 8.
V naslednji številki revije Svet Elektronike bo opisan drugi del programskega paketa „Big Number“, ki omogoča trivrstični in štirivrstični format izpisa vrednosti Byte, Word , Integer in Single spremenljivk na štirivrstičnem displeju LCD2004.