Witam!
Na poczatek pare informacji:
wyswietlacz 16x2 standard na HD... tryb 8 bit w zewnetrznej przestrzeni adresowej procesora dekodowany za pomoca gala mniej wiecej tak jak jest to w znanym sbc dla 8051
Na wielu stronach opisujacych dzialanie i podlaczanie wyswietlacza jest wzmianka o wpisywaniu przy inicjalizacji trzech bajtow (0x30) z pewnymi odstepami czasowymi. Jednak w dokumentacji kontrolera nie znalazlem nic na ten temat. Do czego sluzy ta kombinacja ?
U mnie to wyglada tak:
500ms powerup 0x30 100ms 0x30 5ms 0x30 5ms 0x38 function set 0x10 display off // zbedne 0x01 clrs // zbedne 0x02 home // zbedne 0x06 entry mode 0x0F display onPoza tym mam taki problem ze wyswietlacz czasami mi startuje a czasami nie, tzn: wyglada tak jakby byl zainicowany ale nie da sie pisac danych (sterownik wyswietlacza jest zaimplementowany tak ze czeka na wyzerowanie busy, wiec wyswietlacz albo wogole nie wystawia busy albo odbiera dane ale nie wyswietla). Kiedys mialem podobny problem, wiec sterowalem zasilaniem peryferi przez multilekser (4053) wlaczajac je dopiero po starcie procesora.
Czy problemem moze byc to ze kontroler lcd sam sie inicjalizuje a potem ja probuje inicjalizowac go drugi raz (wyczytalem w dokumentacji do HD... ze sam sie inicjuje ale czasami mu nie wychodzi !) ? Jak wyglada u was sekwencja inicjalizacji (zrodla podaja roznie) ? Moze to timingi ? Czy komus udalo sie podpiac lcd do zewnetrznej przestrzeni adresowej 8051 ?
z gory dzieki za sugestie, pozdr. LB