WYswietlacz lcd

Sep 27, 2003 4 Replies

mam wyswietlacz lcd steruje go portem lpt transmisje przyje³em 4 bitow±



pod³±czy³em go do portu odpowiednio do wyjsc rs i en styki d0 i d1 4 m³odsze bity zwar³em wg schematu do masy 4 starsze pod³±czy³em do kolejno d7...d10



pod³±czy³em zasilanie podpie³em potencjometr 10 kohm



poda³em napiêcie i mi wyswietla kwadraciki w górnej lini (podobno tak ma byc ) ale jak prubuje zainicjowac go to sie nic nie dzieje dalej sie swiec± te kwadraciki i nie wiem co zrobic czy inicjowanie go zawiera jakies b³êdy ? ale najpierw



podaje na starszy bajt kodu odpowiedzialnego za transmisje 4 bitow± ( z rs =



0 i en =0 ) czekam 1 milisekunde podaje en=1 czekam 1 ms podaje en=0 podaje m³odsz± czê¶æ kodu dla transmisji 4 bitowej czekam 1milisekunde podaje en=1 ...... i tak ca³± sekwencje inicjalizacji (ustawienie 4 bitowej szyny, czyszczenie wy¶wietlacza , ostawienie kursorów ....) a nadal sie swiec± te pieprzone kwadraciki

i nie wiem co zrobic jak to sprawdzic moze cos zapominam lub ¼le robie nie wiem


jak ktos wie cos nie cos na ten temat prosze o kontakt



=

Proponuje obej¿eæ PDFa:

formatting link
$FILE/ST7066Uv20.pdf

Na stornach od 22-25 znajdziesz kompletne procedury inicjalizacji wy¶wietlacza LCD dla transmisji 4 i 8 bitowej. Dzia³aj± w 100%.

=

Wg dokumentacji ktor± proponuje- fragment o którym piszesz powinien byæ wywo³any trzykronie. Dopiero potem czyszczenie LCD, w³±czenie, ustawienie adresu.

Ja zrobi³em to w ten sposób: #define CLEAR 0b00000001 #define HOME 0b00000010 #define INCREMENT 0b00000110 #define DISPLAY_ON 0b00001100 #define SHIFT 0b00010100 #define FUNCTION 0b00101000 //transmisja 4 bitowa #define DDRAM 0b10000000

RS=0; RW=0; WriteINSTRUKCJA(0b00110000); //wpisuje instrukcje delay_ms(5); WriteINSTRUKCJA(FUNCTION); delay_milisek(5); WriteINSTRUKCJA(FUNCTION); delay_milisek(5); WriteINSTRUKCJA(CLEAR); CheckBUSY(); WriteINSTRUKCJA(INCREMENT); CheckBUSY(); WriteINSTRUKCJA(DISPLAY_ON); RS=1; WriteDANE('K'); //Wypisuje K na wyswietlaczu

Pozdrawiam Krzysztof

A nie bêdê gorszy i wrzucê listing. W³a¶nie dzi¶ przerabia³em pod³±czenie LCD na 4 przewody, a efekt poni¿ej. Inicjalizacja pe³na, tzn. dzia³aj±ca nie tylko bezpo¶rednio po w³±czeniu zasilania ale w ka¿dych warunkach: LCDset8(0x30); delay(1000); LCDset8(0x30); delay(15); LCDset8(0x30); delay(15); LCDset8(0x20); delay(15); LCDset(0x20); delay(15); LCDset(0x20); delay(15); LCDset(0x28); delay(15); LCDset(0x08); delay(15); LCDset(0x0c); delay(15); LCDset(0x01); delay(1000); LCDset(0x02); delay(1000); LCDset(0x06); delay(15);

LCDset8 to zapis jednoprzebiegowy ustawieñ (teoretycznie na 8 przewodach). LCDset to zapis dwuprzebiegowy ustawieñ (na 4 przewodach). Opó¿nienie jest tu z zapasem. Funkcja zapisu dwuprzebiegowego: void LCDset(unsigned char znak) { unsigned char temp; temp = znak; temp &=~ 0x0f; P2OUT &=~ (RW + RS); P2OUT &=~ 0xf0; P2OUT |= temp; P2OUT |= EN; P2OUT &=~ EN; temp = znak; temp = temp

Wed, 01 Oct 2003 12:07:49 +0200 jednostka biologiczna o nazwie m_motyl <m snipped-for-privacy@poczta.onet.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Hmm ???

070705070200030208000300 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit

Wiatm, ma pytanie czy orientuje sie Pan gdzie mozna znalesc jakies informacje o wyswietlaczu lcd z laptopa IBM Thinkpad 370C - 10.4" P/N wyswietlacza

29H7543). Chodzi o dobranie sterownika do tego wyswietlacza. Czy moze Pan pomoc znalesc "swiatelko w tunelu" jak sie do tego zabrac aby mozna bylo podlaczyc taki wyswielacz do PC'ta lub video. Z gory dziekuje za jakas podpowiedz.

Maciek ps. swoja droga >Sat, 27 Sep 2003 19:11:03 +0200 jednostka biologiczna o nazwie "Chris

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required