skopiowałem gotowy program z helpa
'--------------------------------------------------------------
' (c) 2000 MCS Electronics
'--------------------------------------------------------------
' plik: LCD.BAS
' demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME
' CURSOR, DISPLAY
'--------------------------------------------------------------
'Uwaga : Testowano z wyświetlaczem podłączonym za pomocą 4-bitów
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portd.0 , Db7 = Portd.1 , E = Portb.3 , Rs = Portb.2
Rem Używając tej instrukcji można zmienić domyślne ustawienia w opcjach kompilatora
Config Lcd = 16 * 2 'ustawiamy typ wyświetlacza
'inne wartości: 16 * 4 , 20 * 4, 20 * 2 , 16 * 1a
'Nie umieszczenie tej instrukcji spowoduje że wybrany będzie wyświetlacz 16 * 2
'16 * 1a to wyświetlacz 2 linie po 8 znaków z liniowym odwzorowaniem pamięci
'$LCD = address uaktywnia tryb komunikacji z wyświetlaczem za pomocą
' szyny danych dostępnej w systemach z pamięcią zewnętrzną.
Dim A As Byte
Cls 'kasujemy LCD
Lcd "Witaj swiecie" 'wydrukujemy tekst w górnej linii
Wait 1
Lowerline 'wybieramy drugą linię
Wait 1
Lcd " Przesuwamy " 'wydrukujemy to w drugiej linii
Wait 1
For A = 1 To 10
Shiftlcd Right 'przesuniemy tekst w prawo
Wait 1 'czekamy aż wykona
Next
For A = 1 To 10
Shiftlcd Left 'przesuniemy tekst w lewo
Wait 1 'czekamy aż wykona
Next
Locate 2 , 1 'ustawiamy pozycje kursora
Lcd "*" 'wydrukujemy to
Wait 1 'czekamy aż wykona
Shiftcursor Right 'przesuniemy kursor w prawo
Lcd "@" 'drukujemy to
Wait 1 'czekamy aż wykona
Home Upper 'wybieramy 1 linię i wracamy na początek
Lcd "Zastapiono" 'zastępujemy tekst
Wait 1 'czekamy
Cursor Off Noblink 'chowamy kursor
Wait 1 'czekamy
Cursor On Blink 'pokazujemy kursor
Wait 1 'czekamy
Display Off 'wyłączamy wyświetlacz
Wait 1 'czekamy
Display On 'i włączamy z powrotem
'----------NOWOŚĆ! Obsługa czteroliniowych wyświetlaczy------
Thirdline
Lcd "Linia 3"
Fourthline
Lcd "Linia 4"
Home Third 'wracamy na początek trzeciej linii
Home Fourth
Home F 'skróty też działają
Locate 4 , 1 : Lcd "Linia 4"
Wait 1
'Teraz zdefiniujemy znak użytkownika
'pierwszy bajt to kod znaku (0-7)
'reszta to postać znaku
'Użyj narzędzia LCD Designer
Deflcdchar 1 , 225 , 227 , 226 , 226 , 226 , 242 , 234 , 228
Deflcdchar 0 , 240 , 224 , 224 , 255 , 254 , 252 , 248 , 240
Cls 'wybieramy Data RAM
Rem Jest szczególnie ważne by po zdefiniowaniu znaków wykonać instrukcję
Rem CLS, ponieważ przełączy to kontroler wyświetlacza na Data RAM
Lcd Chr(0) ; Chr(1) 'drukujemy zdefiniowane znaki
'---------- Teraz użyjemy wewnętrznej procedury ------------
_temp1 = 1 'dana do rejestru ACC
Rcall _write_lcd 'wyświetlamy
End
wgrałem go, teraz na wyświetlaczy migają kwadraty prostokąty i kreski czym to może być spowodowane?
Sprawdziłem jeszcze raz podłączenie wydaje się ok,
zostały tylko te wejścia do wyświetlacza D1-D3, co z nimi zrobić?