Witam serdecznie,od kilku dni czytam w internecie wszelkich informacji nt obsługi ww wyświetlacza,wykonałem płytkę najpierw pod lcd z nokii 6150.
Niestety nie działało ,wobec tego zakupiłem 2 sztuki wyświetlaczy nokii 3310, mają "na sobie" dwa przyklejone do szkła kondensatory smd,a kontakt jest poprzez kawałek płytki drukowanej.
Niepokoi mnie napięcie na kondensatorze linii Vout,mam tam ok 3V.Zamiast 1uF wstawiłem 10uF tantal smd bo taki miałem.
Kody jakie dotąd stosowałem to przeróbka pod mój procesor tych:
https://www.elektroda.pl/rtvforum/topic487530.html 'hardware'owa wersja transmisji szeregowej
oraz gdzieś znaleziony kod który na chwile mi zadziałał ,z software'owa interpretacja SPI:
A wiec schemat wygląda tak:
Zaś to co zrobiłem i kupiłem tak:
Nie wiem co jest źle ,raz tylko na chwile mignął obrazek ikonki IE(albo mi się zdawało).
Nie rozumiem w jaki sposób należy wysyłać komendy,czy to jest jakaś ustalona kolejność?
W niektórych tematach jakich czytałem podaje się jakieś dziwne komendy w zapisie hexydecymalnym które należy wysłać by coś wyświetlić,ale nie pokrywają mi się bitowo z danymi w tabelce z dokumentacji sterownika PCD8544.
Czy po resecie można wchodzić od razu w sterowanie uproszczone?
Proszę o naprowadzenie.
Niestety nie działało ,wobec tego zakupiłem 2 sztuki wyświetlaczy nokii 3310, mają "na sobie" dwa przyklejone do szkła kondensatory smd,a kontakt jest poprzez kawałek płytki drukowanej.
Niepokoi mnie napięcie na kondensatorze linii Vout,mam tam ok 3V.Zamiast 1uF wstawiłem 10uF tantal smd bo taki miałem.
Kody jakie dotąd stosowałem to przeróbka pod mój procesor tych:
https://www.elektroda.pl/rtvforum/topic487530.html 'hardware'owa wersja transmisji szeregowej
oraz gdzieś znaleziony kod który na chwile mi zadziałał ,z software'owa interpretacja SPI:
$regfile "m16def.dat"
$crystal = 8000000
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Lcd_dc Alias Portb.1 'low = command mode, high = data
Lcd_sce Alias Portb.2 'low = enable LCD SPI, high = SPI disable
Lcd_rst Alias Portb.0 'low = reset
Lcd_out Alias Portb.3
Lcd_clk Alias Portb.4
Dim R As Byte , Dana As Byte , Dcbit As Bit , Rint As Integer
Dim Licznik As Integer
Dim A As Byte
Dim X As Byte
Dim Y As Byte
'Dim R1 As Byte
'DCbit - bit modeselct
'Zasilanie PCDka=3.2V (green LED+1n4148 zasilane 5Voltami przez 500ohm +100uF filtr)
'Voltage converter przez 470nF do masy
'Nie zapomnij o rezystorach podciagajacych do plusa porty p.0 i p.1 !
Reset Lcd_rst 'umnie ten port podawal mase na lcd
Waitms 50 'bez tego opoznienia LCD u mnie niechcialo wystartowac
'resetowanie 'w nocie jest napisane, ze max 100ms po podaniu zasialania na uklad ta procedura musi wystapic, ze zly reset uszkodzic moze sterownik
'ale nieuwalilem jeszcze wyswietlacza bawiac sie na rozne sposoby, wiec informacje te dotycza raczej ogolnie sterownikow PCD8544
'Noto RESET
Gosub Init_lcd
Dcbit = 0 'chyba pamietacie
'gdyby wczesniej bylo ustawione coinnego w rejestrze H
Dana = &B00100000 ' Przywroc interpretowanie instrukcji zwyklych (nie rozszerzonych -bit.0)
'rejestr V ustawimy na 0 = adresowanie poziome, zeby nam bylo latwiej malowac znaczki
'Dana.1 = 0 'vertical adresing jesli =1
Gosub Send
Dana = &B00001001
Gosub Send
'Teraz sprubujemy wyczyscic LCD z "smieci"
'kasowanie calego ekranu
'Dcbit = 0 'bedzie slana komenda
'ustaw flage x na 0
''Dana = 0
'Dana = &B10000000
'siedem mlodszych bitow tego bajtu wyznacza ten rejestr
'Dana.7 = 1 'x
'Gosub Send
'ustaw flage y na 0
'Dana = 0
'Dana = &B10000000
'3 najmlodsze bity tego bajtu wyznaczaja ten rejestr (patrz nota katalogowa !)
'Dana.7 = 0
'Dana.6 = 1 'y
'Gosub Send
' Gosub Cls_lcd
'Na koniec sprobujemy wyswietlic literki zdefiniowane we wbudowanym chargeneratorze bascomowym
'ustawimy adres rozpoczecia na jakis przypadkowy np: x=15,y=2
'ilosc pixeli od lewej krawedzi ekranu
'ustaw licznik x na 15
'Dana = 0
'Dana = &B10000000
'siedem mlodszych bitow tego bajtu wyznacza ten rejestr
'Dana.7 = 1 'x
'Gosub Send
'ilosc pixeli (x8) od gory ekranu
'ustaw licznik y na 2
'Dana = 0
'Dana = &B10000000
'3 najmlodsze bity tego bajtu wyznaczaja ten rejestr (patrz nota katalogowa !)
'Dana.7 = 0
'Dana.6 = 1 'y
'Gosub Send
Aa:
Dcbit = 1
Restore Dane1 'point to stored data
For Licznik = 1 To 504 'for number of data items
Read A
Dana = A
Gosub Send
Next Licznik
'Waitms 250
'Gosub Cls_lcd
'Waitms 250
'Goto Aa
End
'*************************************************************
Init_lcd:
Lcd_rst = 0 'RESET=L (aktywny)
Lcd_rst = 1 'reset=H
Dcbit = 0
Restore Init_data
For Licznik = 1 To 5
Read Dana
Gosub Send
Next Licznik
Return
Poz_lcd:
Return
'jesli DCbit=0 -wysylana komenda
'''dana.0=bit odpowiedzialny za interpretacje instrukcji rozszerzonych
'''dana.1=Bit odpowiedzialny za tyb adresowania (V)
'''dana.2=Bit odpowiedzialny za powerdown (PD)
'Dana = &B00100001 'wlacz rozszerzone instrukcje (patrz nota katalogowa)
'Gosub Send
'zmieniane trzy ponizsze parametry wyswietlania nie przynosza widocznych efektow w moim wyswietlaczu od nokii3310
'moze w tych wyswietlaczach sa programowane na stale w ROM?
'Cos ktos wie niech da znac ...
'Dana = &B00000101 'temperature control
'Gosub Send
'Dana = &B00010011 'bias system
'Gosub Send
'Dana = &B11110000 ' set vop
'Gosub Send
'Dana = &B00100000 ' Przywroc interpretowanie instrukcji zwyklych (nie rozszerzonych -bit.0)
'
'Dana.1 = 0 'vertical adresing jesli =1
'Gosub Send
'Dana = &B00001100 'spowrotem do -normal operation
'Gosub Send
Cls_lcd:
Dcbit = 1
For Rint = 1 To 504
Dana = 0
Gosub Send
Next Rint
Return
Send:
Lcd_sce = 0 'enable (SCE)
Lcd_dc = Dcbit
For R = 7 To 0 Step -1
Lcd_clk = 0
Lcd_out = Dana.r
Lcd_clk = 1
Next R
Lcd_clk = 0
Return
Init_data:
Data &B00100001 , &B00000101 , &B00010011 , &B11110000 , &B00001100
Dane1:
Rem ****** linia 1 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 128 , 128 , 192 , 64 , 192 , 96 ,
Data 64 , 96 , 96 , 96 , 96 , 224 , 96 , 224 , 224 , 224 , 240 , 240 ,
Data 216 , 136 , 140 , 12 , 4 , 6 , 2 , 2 , 2 , 2 , 6 , 6 ,
Data 12 , 32 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Rem ****** linia 2 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 128 , 224 ,
Data 112 , 24 , 140 , 230 , 195 , 51 , 49 , 216 , 237 , 252 , 190 , 127 ,
Data 223 , 239 , 111 , 123 , 52 , 111 , 121 , 127 , 234 , 255 , 255 , 255 ,
Data 255 , 255 , 255 , 255 , 255 , 254 , 252 , 248 , 240 , 224 , 128 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Rem ****** linia 3 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 48 , 126 , 63 , 13 ,
Data 134 , 195 , 241 , 120 , 190 , 110 , 215 , 189 , 211 , 252 , 255 , 227 ,
Data 224 , 224 , 224 , 224 , 224 , 224 , 224 , 224 , 224 , 227 , 255 , 255 ,
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 254 ,
Data 96 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Rem ****** linia 4 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 192 , 240 , 252 , 254 ,
Data 255 , 245 , 255 , 245 , 255 , 253 , 255 , 254 , 255 , 253 , 255 , 199 ,
Data 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 135 , 199 , 231 ,
Data 231 , 231 , 231 , 231 , 231 , 231 , 231 , 231 , 231 , 231 , 231 , 231 ,
Data 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Rem ****** linia 5 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 232 , 254 , 255 , 255 , 95 , 15 ,
Data 31 , 63 , 63 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 ,
Data 255 , 254 , 254 , 252 , 254 , 252 , 254 , 254 , 254 , 255 , 255 , 255 ,
Data 255 , 255 , 191 , 255 , 223 , 119 , 127 , 27 , 31 , 7 , 3 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Rem ****** linia 6 ******
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 15 , 63 , 127 , 127 , 240 , 224 ,
Data 224 , 224 , 192 , 96 , 96 , 97 , 33 , 51 , 19 , 23 , 15 , 15 ,
Data 7 , 15 , 7 , 15 , 7 , 15 , 7 , 7 , 7 , 7 , 3 , 3 ,
Data 3 , 3 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
A wiec schemat wygląda tak:
Zaś to co zrobiłem i kupiłem tak:
Nie wiem co jest źle ,raz tylko na chwile mignął obrazek ikonki IE(albo mi się zdawało).
Nie rozumiem w jaki sposób należy wysyłać komendy,czy to jest jakaś ustalona kolejność?
W niektórych tematach jakich czytałem podaje się jakieś dziwne komendy w zapisie hexydecymalnym które należy wysłać by coś wyświetlić,ale nie pokrywają mi się bitowo z danymi w tabelce z dokumentacji sterownika PCD8544.
Czy po resecie można wchodzić od razu w sterowanie uproszczone?
Proszę o naprowadzenie.

![[BASCOM]komendy,obsluga lcd 3310 [BASCOM]komendy,obsluga lcd 3310](https://obrazki.elektroda.pl/18_1291239945.jpg)