0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovLiteraturaArhiv literatureMatrična tipkovnica 3x4

    BTTP 36

    V vseh naštetih primerih sta matrična tipkovnica in Bascom-8051 idealna za uporabo. Tipkovnici pravimo matrična tipkovnica zato, ker so tipke razporejene v matriko, kar vidimo na sliki 1.

    Na sliki 1 vidimo vezavo tipkovnice z 12 tipkami, razporejenih v matrico 3×4. Obstajajo tudi 4×4 matrične tipkovnice, o čemer bo še govora v nadaljevanju. Na sliki 1 vidimo, da vsako tipko definirata dve koordinati, številka vrstice in številak stolpca. Tako se npr. tipke T1, T4, T7 in T10 (ustrezajo karakterjem 1, 4, 7 in *) nahajajo v prvem (levem) stolpcu, tipke T1, T2 in T3 (ustrezajo karakterjem 1, 2 in 3) pa se nahajajo v prvi (zgornji) vrstici. Vse tipke oziroma vsa stikala so odprta oziroma niso sklenjena, dokler nobena tipka ni pritisnjena. Ko pritisnemo tipko, sklenemo stikalo in mikrokontroler prepozna, katero tipko smo pritisnili.

    BTTP 36a

    Opis Bascom programa za prepoznavanje 3×4 tipkovnice

    Pri programiranju nismo izumljali tople vode. Na domači strani proizvajalca Bascom programskih jezikov je veliko že narejenih primerov programov, med njimi tudi program za 3×4 tipkovnico. Spletno stran najdete na: http://www.mcselec.com/applicat.htm. Program je napisal g. Mike Gill, mi smo ga malce predelali glede na svoje zahteve. Na sliki 2 je prikazan diagram poteka programa.

    Na začetku programa najprej definiramo V/I vrata, na katera je spojena tipkovnica. V našem primeru je tipkovnica vezana tako, da so kolone tipkovnice vezane tako, kot je prikazano v izseku programa:

    Kolona1 Alias P2.5 ' Definicija kolon
    Kolona2 Alias P2.4
    Kolona3 Alias P2.3 ' Dodaj se eno kolono za 4x4 tipkovnico
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    In seveda so stoplci vezani takole:

    Stolp1 Alias P2.2 ' Definicija stolpcev
    Stolp2 Alias P2.1
    Stolp3 Alias P2.0
    Stolp4 Alias P2.6

    BTTP 36bLepota programiranja se izkaže, če želimo menjati vezavo posameznih kolon ali stolpcev tipkovnice, v primeru da nam tako narekuje naša električna vezava vezja. V tem primeru samo zamenjamo nastavitve V/I vrat v omenjenih izsekih in v glavnem bo to vse. No, namenoma sem napisal “v glavnem”, zato ker je potrebno še eno malenkost spremeniti. Kaj je še potrebno zamenjati, si preberite pri opisu subrutine Sprejeta_t. Nadaljujemo z opisom glavnega programa. Za definicijo tipk sledi del programa, kjer postavljamo kolone v tipkovnici eno za drugo na logično »0« in s tem preverjamo, ali je pritisnjena katera izmed tipk. Najprej postavimo na nič spremenljivko Kolona1, nato Kolona2 in končno Kolona3.

    Kolona1 = 0 : Kolona2 = 1 : Kolona3 = 1 ' Postavljamo kolone na nic
    Vrednost_t = 1 : Debounce Stolp1 , 0 , Sprejeta_t , Sub ' Gremo v subrutino,  
    ce je tipka pritisnjena
    Vrednost_t = 4 : Debounce Stolp2 , 0 , Sprejeta_t , Sub
    Vrednost_t = 7 : Debounce Stolp3 , 0 , Sprejeta_t , Sub
    Vrednost_t = 11 : Debounce Stolp4 , 0 , Sprejeta_t , Sub ' Tipka *

    Ko je na 0 postavljena Kolona1, lahko beremo tipke 1, 4, 7 in *. V našem programu smo postavili vrednost spremenljivke Vrednost_t = 11 zato, da lahko “spoznamo”, kdaj je pritisnjena tipka *. Kot že BTTP 36evemo iz prejšnjih primerov, z Debounce ukazom zaznavamo pritisnjenost tipke oziroma v našem primeru posameznega stolpca. V kolikor je bila recimo pritisnjena tipka “1”, potem bomo izvajali ukaz:

    Vrednost_t = 1 : Debounce Stolp1 , 0 , Sprejeta_t , Sub