LCD + AVR

May 12, 2004 11 Replies

Bry Podlaczylem LCD DM157A do ATmegi wg manuala z CodeVision, czyli RS - bit 0 RD - bit 1 EN - bit 2 DB4 - bit 4 DB5 - bit 5 DB6 - bit 6 DB7 - bit 7 do portu C. W DM157A sa troszke inne numery wyprowadzen, ale nie wiem, czy w tym problem. Po wlaczeniu zasilania LCD wlacza sie, wszystkie pixele swieca, ale nie bardzo wiem, czy to oznacza tylko wlaczone zasilanie, czy prawidlowa inicjalizacje po resecie. Moze ma ktos jakis dzialajacy schemacik z kawalkiem programu wykorzystujacym DM157A ? Ewentualnie kod programowej inicjalicacji tego wyswietlacza. U mnie : lcd_init(24); lcd_clear(); lcd_putsf("Test");



nie daje zadnych efektow na wyswietlaczu, nadal wszystkie pixele swieca.



Pozdr Marcin



aciuh napisał(a):

musisz zapodac mu odpowiednie napiecie ustawiajace kontrast na pin bodajze nr 7 (dm157a ma zlacze 20 stykowe, tak?) Objaw taki jak masz teraz to objaw zbyt duzego kontrastu - po prostu nic nie widac, nawet gdyby cos wyswietlal rozsadnego to i tak nic nie zobaczysz dopoki nie ustawisz mniejszego kontrastu :) Wydaje mi sie, ze gdzies tak w polowie (ok. 2.5 V) zaczynaja sie rozsadne wartosci. Oczwiscie za maly kontrast spowoduje, ze nic nie widac, nawet gdy cos konkretnego wyswietlasz :)

pozdrawiam Bartek

Niestety to nic nie dalo... dolaczenie rezystora 2,3k dalo napiecie Vlcd

3,6V i nadal to samo. Dolaczenie 4,6k dalo napiecie 2,7V i juz sie nic nie wyswietlalo. Mam takie wyprowadzenia: K1 A1 K2 A2 - podswietlenie wyswietlacza , A=5v , K= GND 5 - GND 6 - Vcc - tu daje 5V 7 - Vlcd - tu probowalem od 2,7 - 5 V 8 - nc - not connected czy contrast ? :) 9 - RS 10 - E 11 - R/W 12-19 - DB0 - DB7 20 - GND

Czy komus udalo sie na AVRku wysterowac ten wyswietlacz ?

pozdr Marcin

aciuh napisał(a):

A czemu nie dasz potencjometru?? Ten LCD ma dosc maly zakres napiecia kontrastu, w ktorym swieci tak jak trzeba...

ja mam jeszcze R/W podpiete do masy.

Bartek

hmmm... czyli musialbym miec cos pomiedzy 2,3k a 4,6k..... montuje z tego, co mam w domu po prostu :) poszukam wiec czegos i zobacze czy zadziala :P

w sumie mozna...caly czas wpisywac tylko.

pozdr Marcin

Dalem teraz potencjometr, reguluje sobie poziom swiecenia LCD, ale to nadal nie to, bo swieca wszystkie pixele. Wyswietlacz jest rzeczywiscie bardzo czuly... nawet pomiar omomierzem zwieksza jasnosc swiecenia :>

Problem wiec chyba tkwi w wysterowaniu :/ Jakies pomysly ?

pozdr Marcin

A czy nasycenie zmienia sie ze skrajnie niskiego do skrajnie wysokiego? A moze ten LCD potrzebuje napiecia ujemnego na wej. kontrastu ?

Wszystkie pixele swieca, zmiana napiecia powoduje mocniejsze lub slabsze swiecenie, ale caly czas wszystkich. Niestety mam tylko manuala z HD77480 ale od tego konkretnego LCD nie znalazlem w necie. Czy potrzebuje ujemnego, nie wiem, na tyle sie nie znam na wyswietlaczach... jesli jest taka mozliwosc, to to jest rozwiazanie, sprawdze to :)

pozdr Marcin

U¿ytkownik "aciuh" snipped-for-privacy@obronet.org napisa³ w wiadomo¶ci news:c82itc$9bh$1@213.216.87.131...

Uruchomilem taki wyswietlacz w trybie osmiobitowym i odczytem. Odpowiedzi:

  1. Nie, ten wyswietlacz nie wymaga ujemnego napiecia - przeciez widzisz kwadraciki,
  2. Pin 8 oznaczony jako NC (not connected) tak naprawde jest wejsciem sterujacym. Podepnij go do +5V (moze byc przez rezystor), bez tego wyswietlacz nie ruszy.

Tak przy okazji, jezeli ktos _wie_ jaka jest funkcja tego sygnalu, to moze podzieli sie ta wiedza?

Pozdrawiam,

Sebastian.

1 - podlaczyles do AVR ? 2 - Bity danych do jednego portu a sterowanie czyli E,RD,RS do drugiego portu ? 3 - Czy ten wyswietlacz sam ci startowal czy po programowej inicjalizacji ? Jakies dodatkowe zabiegi ? 4 - Moglbym prosic o jakis schemacik i kawalek dzialajacego programu ?

pozdr Marcin

U¿ytkownik "aciuh" snipped-for-privacy@obronet.org napisa³ w wiadomo¶ci news:c82ubq$6ll$1@213.216.87.131...

Ad.1 - Tak, do ATMEGA128. Ad.2 - Bity danych do portu A, CE do PG4, RS do PC0, R/W do PG1. Kontrast to PWMa na PE4. Oczywiscie ten nieszczesny pin 8 do +5V. Troche pokrecone, ale tak mi pasowalo. Ad.3 - Po wlaczeniu dzialal tak jak opisywales, kwadraciki na wszystkich liniach gdy kontrast byl podkrecony, lub czystka gdy kontrast byl zmniejszony. Ad.4 - schemacik "narysowalem" w pkt. 2. Soft pojdzie na priva (ale wystarczy standardowy setup do HD47xxx). Inicjacja wyglada nastepujaco (gdzie lcd_command() to procedura zapisujaca do rejestru instrukcji LCD - oczywiscie ze sprawdzaniem bitu BUSY):

#define CONFIG 0x38 lcd_command(CONFIG); lcd_command(CONFIG); lcd_command(CONFIG); lcd_command(CONFIG); lcd_command(0x0C); /* LCD On, cursor off */ lcd_command(0x02); /* Cursor Home, no shift display */ lcd_command(0x06);

Pozdrawiam,

Sebastian.

to moze dodam, ze moj mejl jest bez tego xxx :) mwATobronetDOTorg

pozdr i czekam na mejla :) Marcin

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required