Kod: Zaznacz cały
$regfile = "m16def.dat"
$crystal = 16000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.2 ,
Db5 = Porta.3 , Db6 = Porta.4 ,
Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 'konfiguracja wyswietlacza
Config Pinb.7 = Input 'konfiguracja portu
Config Pinb.6 = Input
Config Pinb.5 = Input
Config Pinb.4 = Input
Config Pinb.3 = Output
Config Pinb.2 = Output
Config Pinb.1 = Output
Config Pinb.0 = Output
W1 Alias Pinb.0 'przypisanie nazw wyjsciom portu
W2 Alias Pinb.1
W3 Alias Pinb.2
W4 Alias Pinb.3
Kol1 Alias Pinb.4
Kol2 Alias Pinb.5
Kol3 Alias Pinb.6
Kol4 Alias Pinb.7
Dim Klawisz As Byte
Do 'nieskończona pętla
Cls
Lcd Klawisz 'wyświetl numer klawisza na wyświetlaczu LCD
Waitms 100
Loop 'koniec pętli
Obsluga: 'Podprogram obsługi klawiatury
Set W1 'Poziom wyski na wierszu pierwszym
Reset W2 'zerój wiersz 2
Reset W3 'zerój wiersz 3
Reset W4 'zerój wiersz 4
If Kol1 = 1 Then Klawisz = 1 'Jeśli na kol1 stan wysoki to klawisz=1
If Kol2 = 1 Then Klawisz = 2 'Jeśli na kol2 stan wysoki to klawisz=2
If Kol3 = 1 Then Klawisz = 3 'Jeśli na kol3 stan wysoki to klawisz=3
If Kol4 = 1 Then Klawisz = 4 'Jeśli na kol4 stan wysoki to klawisz=4
Reset W1
Set W2
Reset W3
Reset W4
If Kol1 = 1 Then Klawisz = 5
If Kol2 = 1 Then Klawisz = 6
If Kol3 = 1 Then Klawisz = 7
If Kol4 = 1 Then Klawisz = 8
Reset W1
Reset W2
Set W3
Reset W4
If Kol1 = 1 Then Klawisz = 9
If Kol2 = 1 Then Klawisz = 10
If Kol3 = 1 Then Klawisz = 11
If Kol4 = 1 Then Klawisz = 12
Reset W1
Reset W2
Reset W3
Set W4
If Kol1 = 1 Then Klawisz = 13
If Kol2 = 1 Then Klawisz = 14
If Kol3 = 1 Then Klawisz = 15
If Kol4 = 1 Then Klawisz = 16
Return