Klawiatura 15 klawiszy na 4 liniach

Gotowe kody obsługi układów elektronicznych udostępnione przez użytkowników forum.
ODPOWIEDZ
Awatar użytkownika
Henryk
Posty: 348
Rejestracja: 22 sty 2018, 17:20

Klawiatura 15 klawiszy na 4 liniach

Post autor: Henryk » 03 lut 2018, 14:54

Witam :D
Na forum widzę jest sezon na klawiatury ;) to i ja przedstawię własne stare niezawodne sposoby .
Sposobów na podpięcie klawiatury jest wiele , byle był skuteczny i możliwy do zastosowania w naszym projekcie .
Kiedy mam kilka wolnych pinów w procku , a jest ich zbyt mało by podłączyć np. klawiaturę 4x4 , albo nie mam ochoty na zabawę z IC2 .
W takiej sytuacji mam stary sprawdzony sposób , który zawsze działa .
Mając wolne cztery piny w różnych portach mogę spokojnie podłączyć sobie klawiaturę z 15 przyciskami ;)
Dodatkowy koszt , to ledwo kilka diodek i pięć gram pracy .
Na rysunku przedstawiam trzy różne opcje z różną ilością dostępnych lini portów 2 ,3 i 4 .
Jasne jak słońce , kiedy potrzebujemy pełny zakres klawiszy 1 do 9 plus opcjonalne , a mamy 2 lub 3 wolne linie , taki pomysł odpada .
klawiatura.JPG
Poniżej kawałek rozwojowego kodu ;)
Zmienna klawiatura przyjmuje dokładnie taką wartość jaka mają numery przycisków K0 = 0 ...K3 = 3 itd.
  1. $regfile = "m8def.dat"
  2. $crystal = 8000000
  3. $hwstack = 64
  4. $swstack = 32
  5. $framesize = 128
  6. Config Lcd = 16 * 2
  7. Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
  8. Cursor Off
  9. Cls
  10. Config Pinb.0 = Input : Set Portb.0
  11. Config Pinb.1 = Input : Set Portb.1
  12. Config Pinb.2 = Input : Set Portb.2
  13. Config Pinb.3 = Input : Set Portb.3
  14.  Dim Klawiatura As Byte
  15.  
  16.  
  17. ' Do Bitów zmiennej Klawiatura możemy przypisać dowolne piny różnych portów o ile takie są w naszym projekcie ;-)
  18.  Do
  19. Klawiatura.0 = Pinb.0       'bit "0" zmiennej Klawiatura przyjmuje wartość wejścia PINB.0
  20. Klawiatura.1 = Pinb.1       'bit "1" ..........................
  21. Klawiatura.2 = Pinb.2       'bit "2" ..........................
  22. Klawiatura.3 = Pinb.3       'bit "3" ..........................
  23.    Waitms 200
  24.  Locate 1 , 1 : Lcd "DEC-" ; Klawiatura       ' wyświetla wartość zmiennej klawiatura dziesiętnie
  25.   Locate 2 , 1 : Lcd "BIN-" ; Bin(klawiatura)       ' wyświetla wartość zmiennej klawiatura binarnie
  26. Loop
  27.  End
Miłej zabawy , kto ma wolne piny w układzie :) a z tym bywa czasami krucho .
Henryk
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 03 lut 2018, 16:31 przez Henryk, łącznie zmieniany 1 raz.
Awatar użytkownika
niveasoft
Posty: 1213
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Klawiatura 15 klawiszy na 4 liniach

Post autor: niveasoft » 03 lut 2018, 16:25

Gitara, ale obrazek możesz dodać jako załącznik i wtedy pokaże się jego miniaturka a po kliknięciu powiększenie.
Wiem, że pytałeś, ale zapomniałem odpowiedzieć jak dodać obrazek.
ODPOWIEDZ