| Author |
Message
|
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#1
20 Jan 2012 16:20 I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Próbuje uruchomić wyświetlacz z tym sterownikiem. Nie mogę się z nim dogadać.
- Czy zamieszczona inicjalizacja, w opisie sterownika powinna zadziałać. Czy jest jakiś haczyk?
- Czy umieszczony tam RESET na poczatku opisu inicjalizacji
-- Musi być zewnętrzny ?
-- Czy może to być internal RESET ?
Próbowałem różnie. Też według kodu zamieszczonego tu na elektrodzie. I coś to nie wychodzi.
Ma ktoś wiedzę na temat tego sterownika ?
Poniżej zapis przebiegów (od góry: A0,RD,WR,CS,D7,D6,D5,D4):
|
|
| Back to top |
|
 |
Google

|
#
20 Jan 2012 16:20 |
|
|
|
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#2
22 Jan 2012 17:45 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Uruchomiłem ten sterownik. ALE.
Nie mogę ustawić odpowiedniego kontrastu, jasności itp.
Rozjaśnione piksele swiecą na ok. 1/4 swojej mocy, przy ustawieniach maksymalnych.
-Prądu wystarcza dla urzadzenia (zasilacz 1500mA)
-Podświetlenie swieci jasno. Ekran NIE.
Gdzie szukać przyczyny?
Pomoże Ktoś
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#3
22 Jan 2012 18:45 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Skoro kolega uruchomił, to może podzieliłby się sekwencją sygnałów sterujących i procedurą inicjalizacji.
Też walczyłem z tym wyświetlaczem, ale mi nie udało się w ogóle z nim "dogadać"
Procedury opisane w polskiej instrukcji do tego wyświetlacza nie dały mi w ogóle efektu.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#4
22 Jan 2012 20:42 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Poniżej inicjacja:
Nie wszystkie komendy są wymagane.
Część z nich zależy od ustawienia wyswietlacza ( może jest do "góry nogami" w obudowie i wyświetla odwrotnie lub inne niuanse)
Sprawdzę jeszcze, czy po sprzetowym Resecie uC(urzadzenia) - wejdzie w stan inicjacji. To oszczedził bym jeden pin uC)
Powodzenia.
| Code: |
void LCD_init(void)
{
RESET_LCD_SET; // linia RESET w stan H (z uC)
command_LCD(LCD_NOP); //NOP
// A0=0 RD=1 WR=0
command_LCD(LCD_ACTIVATE); // 0xE1 ! aktywacja po uspieniu
command_LCD(LCD_OSCILATOR_ON); // 0xAB ! załaczenie oscylatora
command_LCD(LCD_LINE_SET(0)); // (0x40+x) ustawienie lini startowej
command_LCD(LCD_BIAS_1); // 0xA3 Zaciemnienie pikseli
command_LCD(LCD_VOLTAGE_SET); // 0x26 ! ustawienie napiecia V5
command_LCD(LCD_ELEC_CONTROL); // 0x81 Regulacja kontrastu wyswietlacza
command_LCD(0x3F); // wartosc
command_LCD(LCD_POWER_CONTROL_SET); // 0x2B ! właczenie napięć wyświetlacza
command_LCD(ADC_NORMAL); // 0xA0 umozliwia wyswietlanie jako lustrzane odbicie (ADC_REVERSAL)
command_LCD(DISPLAY_PIKSEL_NORMAL); // 0xA7 HIGHT_bit wyswietla jako przezroczysty
command_LCD(LCD_OUT_STATE_REV); // 0xC8 Rysuje ekran od lewej do prawej strony
command_LCD(0xa6); // wartość
command_LCD(LCD_DISPAY_ON); // 0xAF !
// END INIT LCD /
} |
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#5
22 Jan 2012 22:02 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Na razie doszedłem do tego ze w inicjalizacji po wydaniu rozkazu &H81 podaj &H20 w kodzie szesnastkowym to jest.
wyświetla mi jakieś bzdury ale z dobrym kontrastem.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#6
22 Jan 2012 22:39 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Wpiszę 20H to w ogóle nic się nie dzieje lub trzeba coś od nowa ustawiać.
Co to za sterowanie elektroniczne, przy którym proponują ustawić 20H?
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#7
22 Jan 2012 22:42 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Eksperymentalnie ustawiłem tą wartość.
U mnie wtedy kontrast ustawia się na bardzo dobrze czytelnym poziomie.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#8
22 Jan 2012 22:44 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
A jakimi wartosciami, kolejnie inicjujesz swój wyswietlacz ?
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#9
22 Jan 2012 22:49 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Robię inicjacje dokładnie wg Twojej procedurki, tylko w linii command_LCD(0x3F); zamiast 3F wpisane mam 20
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#10
22 Jan 2012 22:53 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
A te bzdury o których wyżej . To co to?
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#11
22 Jan 2012 23:01 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
No ekran wygląda jak w matrixie. Przypadkowe punkty i pionowe kreski.
Udało mi się wymusić przewijanie pionowe obrazu, Ale mam jakby martwe dwie linie na dole i trzy u góry ekranu. Nie biorą udziału w przewijaniu, A nie są też ani w całości czarne czy tez białe wiec chyba nie powinny być martwe.
[edit]
choć dziwna sprawa bo mam 69 linii wiec faktycznie o te 5 więcej. tylko ze czemu wyświetlają jakieś przypadkowe sekwencje? <hm>
[edit]
tak wygląda mój ekran na tą chwilę i mogę nim przewijać w górę i w dół
Mogę też coś tam wyświetlić, ale nie koniecznie tam gdzie chcę.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#12
22 Jan 2012 23:11 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Ja rowniez tak mam.
na górze 3 na dole 2. Cały ekran w ciapki.
Ja robie WRITE 0xFF na cały ekran, potem pasek 0xCF w jednej lini na górze.
i to w petli. Niema przypadkowych pikseli. Tylko brak jaskrawości podświetlenia.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#13
22 Jan 2012 23:17 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
No ale co do tych linii na górze i na dole to jak robię na przemian wygaszanie i zapalanie pikseli. Czyli komenda: Display All Lighting ON/OFF, to te pięć linii również na to reaguje.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#14
23 Jan 2012 00:07 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Ręce opadają. Brak kontrastu.
Nie wiem gdzie szukac przyczyny. Popróbuje jutro.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#15
23 Jan 2012 01:17 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Udało mi się uzyskać coś takiego:
Wypisane oczywiście na piechotę, bez generatora znaków.
jedyne co mnie dziwi to to, że aby uzyskać pierwszy wpis w pierwszej kolumnie wyświetlacza to muszę ustawić adres kolumny nie na 1 tylko na 3.
[edit]
aby wygasić lub zapalić te jakby martwe linie na górze i dole wyświetlacza należy zrobić wpis zawartości do 8 strony za pomocą komendy: Set Page Address
Tyle i mojej walki na dziś...
Pozdro
Radek.
|
|
| Back to top |
|
 |
Google

|
#
23 Jan 2012 01:17 |
|
|
|
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#16
23 Jan 2012 17:34 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
A powiedz mi Kolego, jakim kwarcem napędzasz swoje urzadzenie ?
-----
Jednego jestem ciekaw: Po komendzie " READ STATUS" co widzę. Widzę stan niski na lini RESET, oraz stan niski na lini BUSY i ADC stan wysoki oraz ON/OFF niski. Wnioskuje że, moja inicjacja może nie być inicjacją.Nie wiem jeszcze jak to skonsumować. Pytam o kwarc, bo może to robię za szybko (8 Mhz).
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#17
23 Jan 2012 22:31 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
W odczyty rejestru to się jeszcze nie bawiłem.
Co do oscylatora to faktycznie robiłem próby na wewnętrznym osc 1Mhz, ale po przestawieniu na 8MHz, również wewnętrzny, nie ma różnicy. napis nadal się wyświetla poprawnie i poprawnie czyści pamięć danych.
[edit]
co do procedury inicjacji wyświetlacza to dopiero na Twojej udało mi się odpalić.
Przetłumaczyłem ja tylko z C na BASCOM i zmieniłem wartość zmiennej kontrastu o czym pisałem już wcześniej.
Co do tego kontrastu to zrobiłem dynamiczną zmianę w pętli i bez problemu zmienia się od całkowicie zaciemnionych pikseli przy wartości bliskiej 0, aż do pikseli tak bladych, że niemal niewidocznych przy wartości bliskiej 63. Maksymalny (najlepszy) kontrast jest w okolicach wartości 30, czyli te &H20 o którym pisałem wcześniej.
[edit]
A tak mi jeszcze przyszło do głowy Kolego, bo ja z C to ciemny jestem.
Czy Ty po każdorazowym wystawieniu polecenia na szynę danych robisz sterowanie liniami sterującymi czy tylko ustawiasz kombinację zapisu polecenia i wystawiasz kolejno polecenia na szynę?
Prawidłowo należy ustawić polecenie na szynie danych, następnie ustawić bity sterujące w kombinację zapisu komendy, po czym ustawić je wszystkie w stan 1. I powtarzać to dla każdej komendy włącznie z tymi dwu-bajtowymi.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#18
24 Jan 2012 01:22 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Trace cierpliwość. Sprawa wyglada tak:
Kontrast 0-ok. 50 to ciemno na ekranie, Przy max. 3F widać że rysuje ekran.(patrzac pod kontem 90st - g... widać.
Jak w trakcie rysowania wstawie zmianę kontrastu. To przy wrtosciach takich jak ponizej ekran mignie z pełną moca. Czyli gdzieś ta wartość jest w zakresie tych liczb. Niestety gdy kontrast ustawie na każdą wartość z osobna, nic się nie dzieje.
Ekran jak był ciemny tak jest.
| Code: |
for(i=0;i<9;i++)
{
lcd_page(i);
for(j=0;j<167;j++)
{
if(j<41&&j>34)
{
command_LCD(LCD_ELEC_CONTROL); // 0x81
command_LCD(j); } // wartosc
lcd_columna(j);
command_LCD_data_write(0x01);
_delay_ms(50);
}
}
lcd_page(4);
lcd_columna(20);
for (i=0;i<100;i++)
{command_LCD_data_write(0xCF);
delay(150);} |
Co do sterowania liniami to:
| Code: |
void command_LCD(unsigned char cmd) // A0-0 RD-1 WR- 0
{ lcdWait();
LCD_A0_CLR; //PC6
LCD_RD_SET; //PA7
LCD_WR_CLR; //PA6
LCD_DATA(cmd);
LCD_CS1_CLR; //PD7
delay(1);
LCD_CS1_SET;
LCD_A0_SET;
LCD_WR_SET;
LCD_DATA(0xFF);
//lcdWait();
} |
I co Ty na to ? Bo ja, to chyba kupie drugi taki wyświetlacz-ryzyk fizyk.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#19
24 Jan 2012 11:17 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Nie wiem czy błąd nie leży w ustawianiu sygnałów sterujących.
O ile dobrze rozumiem rysunki przebiegów nocie katalogowej to przyjęcie danych/komend przez wyświetlacz obywa się w czasie przejścia linii WR z powrotem w stan 1.
Jeśli dobrze rozumiem Twoje void command_lcd to robisz dezaktywacje wyświetlacza zanim WR wróci do jedynki.
Spróbuj ustawić kolejność sygnałów według mojego przykładu.
Sub Lcd_wrc: 'zapisanie komendy do LCD A0 = 0 Cs = 0 Wr = 0 Wr = 1 Cs = 1 A0 = 1 End Sub
Sub Lcd_wrd: 'zapisanie danej do LCD Cs = 0 Wr = 0 Wr = 1 Cs = 1 End Sub
Wszystkie linie po resecie uP są ustawione w stan 1 dlatego tu już nie pisałem sterowania wszystkimi tylko tymi niezbędnymi.
Bajt na szynę danych wystawiam przed wywołaniem jednej z tych procedur.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#20
24 Jan 2012 17:16 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Moim zdaniem write/data - nastepuje na narastajacym zboczy CS1.
czasy mogą odgrywać role przy napędzie pow. 15MHz.
PS. Skoro przyjmuje komendy WRITE i rysuje na wyswietlaczu to jest OK.
Chyba sie poddam z tym egzemplażem wyświetlacza. Zamało nas "fachowców"
na forum.
|
|
| Back to top |
|
 |
skalsky5000 Poziom 16

Joined: 01 May 2008 Posts: 291 Location: Rodzinne
|
#21
24 Jan 2012 19:22 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Od 2 dni mecze ten sam wyświetlacz z lispolu.Wymieniłem go nawet bo myślałem ze uszkodzony ale w sklepie śmiga aż milo.Uzywacie biblioteki z tematu http://www.elektroda.pl/rtvforum/topic1722827.html ?
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#22
24 Jan 2012 20:03 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
NIE. Próbowałem. inicjowac ale nic nie wychodziło. Znaki wyświetla prawidłowo -Teraz walczę z kontrastem.
|
|
| Back to top |
|
 |
Pituś Bajtuś Poziom 20

Joined: 11 Feb 2005 Posts: 841 Location: Żabieniec
|
#23
24 Jan 2012 22:11 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Tutaj też można poszukać inspiracji : S1D15705.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#24
24 Jan 2012 23:06 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
A coś jeszcze mi umknęło kolego a nie wiem czy eksperymentowałeś.
W Twoje procedurze inicjalizacji ustawiasz:
command_LCD(LCD_BIAS_1); // 0xA3 Zaciemnienie pikseli
Ja w tym miejscu mam wpisane &HA2 czyli 1/9. Jak ustawie &HA3 czyli 1/7 to rzeczywiście kontrast też mam nie do przyjęcia.
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#25
25 Jan 2012 02:15 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Z 0xA2 jeszcze gorzej. Przerobiłem już chyba wszystkie opcje z różymi utawieniami,kolejnoscia,czasami.
Wszystko działa. KONTRAST - NIE.
Chetnie bym Ci "Press" podesłał ten wyświetlacz, abyś zobaczył czy sie zajarzy.
Gdyby co to na priv.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#26
25 Jan 2012 10:22 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Może zanim zaczniemy przesyłać to ja w załącznikach daje skompilowane pliki *.BIN i *.HEX.
skompilowane na uP ATmega8 taktowany 1MHz.
Szyna danych wyświetlacza podłączona do PORTD.
Rd do Portb.0
Wr do Portb.1
A0 do Portb.2
Rs do Portb.3
Cs do Portb.4
Efektem powinien być napis "ABC" przesuwający się od lewej do prawej. Napis w negatywie (jasne litery).
|
|
| Back to top |
|
 |
5657jz Poziom 13

Joined: 05 Oct 2005 Posts: 130 Location: W-Wa
|
#27
25 Jan 2012 17:56 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
Znalazłem chwile i podłaczyłem AT8 z hexem od Ciebie.
Niestety - Ciemno i nic się nie dzieje. Sprawdzłem wszystkie kabelki -OK.
I nic. (na wewnetrznym oscylatorze !)
Wcześniejsze podłaczenie - wywołało jakieś zapalanie i gaszenie ekranu z jakąś sieczką, ale pewnie miałem jakiś bład w podłaczeniu.
|
|
| Back to top |
|
 |
Press Poziom 16

Joined: 31 May 2004 Posts: 315
|
#28
25 Jan 2012 22:41 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
No to jak już sprawdzony HEX nie śmiga to chyba faktycznie masz uwalony ten wyświetlacz...
|
|
| Back to top |
|
 |
Google

|
#
25 Jan 2012 22:41 |
|
|
|
|
|
| Back to top |
|
 |
skalsky5000 Poziom 16

Joined: 01 May 2008 Posts: 291 Location: Rodzinne
|
#29
26 Jan 2012 21:55 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
CZy sterownik s1d17505 ma mozliwoswc sterowania podswietleniem ? .Nie znalazlem nic na ten temat w nocie.Używam bibliotek p.Radosława Kwietnia,ta sekunda to czas na ustabilizowanie się napięcia bo podobno dość kapryśny jest ten wyświetlacz.Po sekundzie wyłącza się podświetlenie.
| Code: |
#include <avr/io.h>
#include "S1D15705.h"
#include <util/delay.h>
int main(void)
{
_delay_ms(1000);
GLCD_Initialize();
GLCD_Clear();
GLCD_GoTo(0,0);
GLCD_WriteStringXY(0,0,"0000 10101010 10101010 AAAA");
GLCD_WriteStringXY(0,1,"0001 11000110 10011111 DEAD");
GLCD_WriteStringXY(0,2,"0002 10101010 10101010 BEEF");
GLCD_WriteStringXY(0,3,"0003 10101010 10101010 CAFE");
GLCD_WriteStringXY(0,4,"0004 10101010 10101010 ");
GLCD_WriteStringXY(0,5,"0005 10101010 10101010 ");
GLCD_WriteStringXY(0,6,"0006 10101010 10101010 ");
GLCD_WriteStringXY(0,7,"0007 10101010 10101010 ");
while(1)
{
}
} |
|
|
| Back to top |
|
 |
Pituś Bajtuś Poziom 20

Joined: 11 Feb 2005 Posts: 841 Location: Żabieniec
|
#30
26 Jan 2012 22:03 Re: I jeszcze raz S1D15705 - jak uruchomić |
|
|
|
A nie przeciążąsz zasilacza? Podświetlenie nie może się samo wyłączyć! Czym zasilasz układ?
|
|
| Back to top |
|
 |