logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Problem z wyświetlaczem o Nokii 3310

tomson5 26 Paź 2010 21:24 1361 2
  • #1 8667576
    tomson5
    Poziom 16  
    Witam
    Użyłem do testów oryginalnego wyświetlacza od Nokii 3310 który miał styki do których podlutowałem wiązkę
    Ruszył bez problemów na Atmega8 osc. 2Mhz

    Teraz w to samo miejsce wlutowałem chiński zamiennik który styków już nie miał tylko napylone na szkle.
    wykorzystałem do połaczenia styki sprężynujące które były w komplecie z nim
    Wydłubałem te styki z plastiku i nasadziłem na szybkę i przykleiłem, wiązkę dolutowałem do nich.

    Wyświetlacz działa w bardzo dziwny sposób.
    1 cała treść jest poprzestawiana jakby segmentami więc co nieco czytelna.
    2 druga rzecz równie ważna a mianowicie ledwie widoczna treść baaardzo słaby kontrast.

    Jakieś sugestie odnośnie tych objawów ??
  • Pomocny post
    #2 8667827
    michalko12
    Specjalista - Mikrokontrolery
    Poczytaj sobie o tych podróbkach pod n/w linkiem, musisz sie zarejestrować.

    Link
  • #3 8671258
    tomson5
    Poziom 16  
    Mam nadal problem. Twój link naprowadził mnie na cel ale nie wiem jak to zmienić w moim przypadku.

    fragment kodu
    '  ----------------------- LCD subroutines -----------------------
    
    '----------------------- Lcdcm (Command) ----------------------
    Sub Lcdcm(byval Command As Byte )
    Local Licznik As Byte
    Local Licznik1 As Byte
    Sce = 0                       'enable (SCE)
    Dc = 0
    For Licznik = 0 To 7
    Licznik1 = 7 - Licznik
    Sclk = 0
    Sdin = Command.licznik1
    Sclk = 1
    Next Licznik
    Sclk = 0
    Sce = 1
    End Sub
    
    '----------------------- Lcdinit ------------------------------
    Sub Lcdinit
       Waitms 50
       Set Zasilanie
       Waitms 5
       Reset Res                  'RESET LCD
       Waitms 5
       Set Res                    'end of reset
       Set Sce                    'in Lcdcm() will be "L"!
       Call Lcdcm(&H21)           'extended command mode
       Call Lcdcm(&H05)
       Call Lcdcm(&Hb8)           'c8LCD contrast (mayby you must change)
       Call Lcdcm(&H06)           'temperature compensation
       Call Lcdcm(&H13)           'bias 1:48
       Call Lcdcm(&H20)           'normal command mode
       Call Lcdcm(&H0c)           'normal display
       Call Lcdcm(&H40)           'Y=0
       Call Lcdcm(&H80)           'X=0
       Call Lcdclear
       Call Lcdupdate
    End Sub
    
    '---------------------- Lcdclear ------------------------------
    Sub Lcdclear
       Call Lcdcm(&H40)           'Y=0
       Call Lcdcm(&H80)           'X=0
       Local I As Word
       For I = 1 To 504
           Lcd_cache(i) = 0
       Next I
    '    Lcdcacheidx = 1
    End Sub
    '--------------------- Lcdupdate -------------------------------
    'copy full LCD_cache to LCD RAM
    Sub Lcdupdate
       Local I As Word
       Local Licznik As Byte
       Local Licznik1 As Byte
       Call Lcdcm(&H80)           'sets 0 X-addr of RAM
       Call Lcdcm(&H40)           'sets 0 Y-addr of RAM
       For I = 1 To 504
         Lcd_data = Lcd_cache(i)
         Sce = 0                  'enable (SCE)
         Dc = 1
         For Licznik = 0 To 7
         Licznik1 = 7 - Licznik
         Sclk = 0
         Sdin = Lcd_data.licznik1
         Sclk = 1
         Next Licznik
         Sclk = 0
         Sce = 1
       Next I
       Updatelcd = 0
    End Sub
    


    Wprowadziłem dodatkowo w sekcji LCDinit polecenie Call Lcdcm(&H05) ale bez zmian nadal to samo.
REKLAMA