Witam.
Walcze z tematem drugi dzień, starałem się znaleźć odpowiedź na pytanie, jednak nigdzie nie znalazłem zbliżonego problemu.
Atmega16, LCD 4x20 YM-2004a (wg sprzedawcy zgodny z hd44780), programator (i zasilanie całego układu ) USB, kwarc wsadzony w programator ma napis u góry 8.000 - domyślam się że jest to 8MHz.
LCD podłączony pod port D, z portu B biorę zasilanie.
Po pierwsze, lcd nie przechodzi w tryb cztero-liniowy (raz jedyny udało mi się uzyskać 4 linie widoczne po kręceniu kontrastem, jednak wtedy miałem źle podłączony lcd, próbowałem wrócić do tego podłączenia - jednak nieskutecznie). Więc wyświetlacz działa w dwóch liniach, jednak znaki są wyświetlane pod koniec pierwszej linii, i są przekłamane. Np zamiast "z" mam strzałka w lewo i jakiś dziwny znaczek, zamiast "a" pokazuje "o" i spacje, zamiast "b" jest "o/".
kod programu
Przepinałem linie, sprawdzałem poprawność połączeń, z tego punktu widzenia wszystko wydaje się ok. Instrukcja Shiftlcd left przesuwa znaczki w prawo o jedną pozycje.
Piszę w bascom-avr. Czy w oknie konfiguracji wyświetlacza, w polach lcd-address i rs-address powinienem coś zmieniać?
Prosiłbym o jakieś rady jak ogarnąć sprawę.
Walcze z tematem drugi dzień, starałem się znaleźć odpowiedź na pytanie, jednak nigdzie nie znalazłem zbliżonego problemu.
Atmega16, LCD 4x20 YM-2004a (wg sprzedawcy zgodny z hd44780), programator (i zasilanie całego układu ) USB, kwarc wsadzony w programator ma napis u góry 8.000 - domyślam się że jest to 8MHz.
LCD podłączony pod port D, z portu B biorę zasilanie.
Po pierwsze, lcd nie przechodzi w tryb cztero-liniowy (raz jedyny udało mi się uzyskać 4 linie widoczne po kręceniu kontrastem, jednak wtedy miałem źle podłączony lcd, próbowałem wrócić do tego podłączenia - jednak nieskutecznie). Więc wyświetlacz działa w dwóch liniach, jednak znaki są wyświetlane pod koniec pierwszej linii, i są przekłamane. Np zamiast "z" mam strzałka w lewo i jakiś dziwny znaczek, zamiast "a" pokazuje "o" i spacje, zamiast "b" jest "o/".
kod programu
$regfile = "m16def.dat"
$crystal = 8000000
Config Portb = Output
Portb = &B01010101
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
Wait 1
Cls
Lcd "b"
Wait 1
Shiftlcd Left
Do
Loop
End 'end programPrzepinałem linie, sprawdzałem poprawność połączeń, z tego punktu widzenia wszystko wydaje się ok. Instrukcja Shiftlcd left przesuwa znaczki w prawo o jedną pozycje.
Piszę w bascom-avr. Czy w oknie konfiguracji wyświetlacza, w polach lcd-address i rs-address powinienem coś zmieniać?
Prosiłbym o jakieś rady jak ogarnąć sprawę.