Hej
Chciałbym podłączyć do AT 90s2313 klawiaturę matrycową Napisałem taki prosty program, który ma wyswietlac na wyswietlaczu LCD wcisniętą cyfrę. Program starałem się napisać przejżyście i choć jest trochę długi to banalnie prosty. Mój problem tkwi w tym, że w żaden sposób nie mogę spowodować wyświetlenia wciśniętej cyfry na klawiaturze. Jestem pewien, że problem będzie tkwił w złej konfiguracji portów jednak mimo wielu prób nie mogę dojść do właściwych ustawień Oto mój program - Z góry dzięki za pomoc
config lcd = 16 * 2
Dim Digit As Byte
Digit = 255
'------------------------konfiguracja portow -----------
config portd = &b1111000
portd = &d11111111
config portb = &b1111111
portd = &b11111111
Rzad1 Alias Portd.0
Rzad2 Alias Portd.1
Rzad3 Alias Portd.2
Rzad4 Alias Portd.3
Kolu1 Alias Portd.4
Kolu2 Alias Portd.5
Kolu3 Alias Portd.6
'-------------------Deklaracja podprogramów ---------------
Declare Sub Keyscan
Declare Sub Wysw
'--------------------Pętla główna -------------------------
Do
Call Keyscan
Loop
'--------------------podprogram skanowania klawiszy -------
Sub Keyscan
Reset Rzad1
Set Kolu1
If Kolu1 = 0 Then
Digit = 1
Call Wysw
While Kolu1 = 0
Wend
End If
Set Kolu2
If Kolu2 = 0 Then
Digit = 2
Call Wysw
While Kolu2 = 0
Wend
End If
Set Kolu3
If Kolu3 = 0 Then
Digit = 3
Call Wyswt
While Kolu3 = 0
Wend
End If
Set Rzad1 : Reset Rzad2
Set Kolu1
If Kolu1 = 0 Then
Digit = 4
Call Wysw
While Kolu1 = 0
Wend
End If
Set Kolu2
If Kolu2 = 0 Then
Digit = 5
Call Wysw
While Kolu2 = 0
Wend
End If
Set Kolu3
If Kolu3 = 0 Then
Digit = 6
Call Wysw
While Kolu3 = 0
Wend
End If
Set Rzad2 : Reset Rzad3
Set Kolu1
If Kolu1 = 0 Then
Digit = 7
Call Wysw
While Kolu1 = 0
Wend
End If
Set Kolu2
If Kolu2 = 0 Then
Digit = 8
Call Wysw
While Kolu2 = 0
Wend
End If
Set Kolu3
If Kolu3 = 0 Then
Digit = 9
Call Wysw
While Kolu3 = 0
Wend
End If
Set Rzad3 : Reset Rzad4
Set Kolu1
If Kolu1 = 0 Then
Digit = 10
Call Wysw
While Kolu1 = 0
Wend
End If
Set Kolu2
If Kolu2 = 0 Then
Digit = 0
Call Wysw
While Kolu2 = 0
Wend
End If
Set Kolu3
If Kolu3 = 0 Then
Digit = 11
Call Wysw
While Kolu3 = 0
Wend
End If
Set Rzad4
End Sub
'----------------------------podprogram wyswietlania----------
Sub Wysw
Cls
Lcd "cyfra: " ; Digit
End Sub
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięKLAWIATURA MATRYCOWA ??
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości