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 on
Poza 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