Dzisiaj napisałem program który obsługuje wyświetlacz LCD oraz wyświetlacz LED’owy.
Na LCD wyświetla się napis, dwu-linjkowy, natomiast na LED’owym wyswietlają sie liczby 1-4 4-1 ( z kropką )
Film z akcji:
Kod programu, wraz z opisem:
$regfile "m16def.dat"
$crystal = 16000000
' konfiguracja portów wyswietlacza
Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.1 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7
Config Lcdbus = 4
Config Lcd = 16 * 2
' znaki specjalne lcd designer
Deflcdchar 1 , 4 , 14 , 4 , 31 , 4 , 4 , 14 , 4
Deflcdchar 2 , 31 , 17 , 17 , 31 , 4 , 4 , 4 , 4
Cls ' potrzebne czyszczenie, nalezy o tym pamietac!
Lcd "Witaj Dawidzie" ; Chr(2)
Cursor Off
Home Lower 'linijka nizej
Lcd " BASCOM " ; Chr(1)
' ##################Funkcja wyswietlacz LED
Wyswietlacz2:
Dim E As Byte
Dim Liczba_led(10) As Byte
Liczba_led(1) = &B11000000
Liczba_led(2) = &B11111001
Liczba_led(3) = &B10100100
Liczba_led(4) = &B10110000
Liczba_led(5) = &B10011001
Liczba_led(6) = &B10010010
Liczba_led(7) = &B10000010
Liczba_led(8) = &B11111000
Liczba_led(9) = &B10000000
Liczba_led(10) = &B1001000
Config Portb = &HFF
Config Porta = &HFF
Config Portc = &HFF
Porta = &H01
Do
For E = 1 To 5
Porta = Liczba_led(e)
Waitms 350
Next E
For E = 5 To 1 Step -1
Porta = Liczba_led(e)
Porta.7 = 0
Waitms 350
Next E
Goto Wyswietlacz
Loop
' ####### Funkcja wyswietlacza LCD
Wyswietlacz:
Dim I As Byte
' petla przesuwajaca tekst w prawo i lewo
Do
For I = 1 To 2
Shiftlcd Right
Waitms 300
Next I
For I = 1 To 2
Shiftlcd Left
Waitms 300
Next I
Goto Wyswietlacz2
Loop
Nadal mam jednak problemy z tą klawiaturą, czy to naprawdę musi być takie trudne?!
Pozdrawiam.