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

[BASCOM][ATMEGA32]problem z uruchomieniem glcd ks0108

simpson777 23 Paź 2009 10:31 5057 26
REKLAMA
  • #1 7164184
    simpson777
    Poziom 11  
    Witam
    http://sklep.avt.pl/photo/_pdf/LCDGRAF3.pdf
    To jest mój wyświetlacz który kupiłem i mam problem z jego uruchomieniem
    ogólnie to nic nie wyświetla się na nim a próbowałem już wszystkiego:(
    gównie to z tego programu korzystałem i ręce mi opadają
    
    '-----------------------------------------------------------------------------------------
    'name                     : ks108.bas
    'copyright                : (c) 1995-2005, MCS Electronics
    'purpose                  : demonstrates the KS108 based graphical display support
    'micro                    : Mega323
    'suited for demo          : no
    'commercial addon needed  : no
    '-----------------------------------------------------------------------------------------
    $sim
    $regfile = "m32def.dat"                                     ' specify the used micro
    $crystal = 8000000                                          ' used crystal frequency
    $baud = 19200                                               ' use baud rate
    $hwstack = 32                                               ' default use 32 for the hardware stack
    $swstack = 10                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame space
    
    
    'some routines to control the display are in the glcdKS108.lib file
    $lib "glcdKS108.lib"
    
    Wait 2
    
    Print "Config"                                              ' printing will still work as only the receiver pin is disabled
    
    Waitms 100
    'First we define that we use a graphic LCD
    Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 2 , Ce2 = 3 , Cd = 5 , Rd = 4 , Reset = 7 , Enable = 6
    
    'The dataport is the portname that is connected to the data lines of the LCD
    'The controlport is the portname which pins are used to control the lcd
    'CE =CS1  Chip select
    'CE2=CS2  Chip select second chip
    'CD=Data/instruction
    'RD=Read
    'RESET = reset
    'ENABLE= Chip Enable
    
    
    
    'Dim variables (y not used)
    Dim X As Byte , Y As Byte
    
    
    
    Print "Cls"
    Cls
    
    Wait 1
    
    'specify the font we want to use
    Setfont Font8x8
    
    
    'You can use locate but the columns have a range from 1-128
    'When you want to show somthing on the LCD, use the LDAT command
    'LCDAT Y , COL, value
    Lcdat 1 , 1 , "123"
    
    'lcdat accepts an additional param for inversing the text
    Lcdat 2 , 1 , "123" , 1                                     ' will inverse the text
    
    'Now use a different font
    'Setfont Font8x8
    'since the 16*16 font uses 2 rows, show on row 3
    'Lcdat 1 , 1 , "2345"
    'Lcdat 2 , 56 , "2345656"
    Wait 1
    Line(0 , 0) -(127 , 64) , 1                                 'make line
    Wait 2
    Line(0 , 0) -(127 , 64) , 0                                 'remove line
    
    For Y = 1 To 20
       Circle(30 , 30) , Y , 1
       Waitms 100
    Next
    
    Wait 1
    Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2                         ' both displays off
    Wait 1
    Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2                         'both on
    'GLCDCMD accepts an additional param to select the chip
    'With multiple, GLCDCMD statements, it is best to specify the chip only the first time
    
    
    Showpic 0 , 0 , Plaatje                                     'show a comnpressed picture
    End                                                         'end program
    
    
    'we need to include the font files
    'Notice that this is a testfont with only numbers defined !
    '$include "smallfont8x8.font"
    $include "font8x8.font"
    '$include "font16x16.font"
    
    
    Plaatje:
    'include the picture data
    $bgf "ks108.bgf"
  • REKLAMA
  • #2 7165103
    Marczeli_P
    Poziom 20  
    Z tym kodem to na 100% ci nic nie wyświetli. Musisz skasować instrukcje $sim i skompilować. Oczywiście po wykasowaniu skompilować ponownie i wgrać tego nowego hex-a. Reszty nie sprawdzałem ale powinno być dobrze.
  • #3 7165514
    simpson777
    Poziom 11  
    Tak wiem. Ale do procka wysyłałem bez tego $sim i dalej nic:( ręce opadają męcze się z nim już ponad 2 miesiące i cały czas nic:(

    Dodano po 1 [godziny] 32 [minuty]:

    A więc nikt nie może mi pomóc:( szkoda a powiem też że próbowałem reset do +5V podłączać i bez efektu, a google to całe przeszukałem:( to może miał ktoś do czynienia z nim??
  • REKLAMA
  • #4 7166161
    bogdan_p
    Poziom 39  
    przed chwilą wgrałem Twój program i działa bez problemów jedyna różnica to M16 i wyświetlacz Samsung na KS108 , tak więc wina nie leży w programie sprawdź jeszcze raz wszystkie połączenia , zmierz jakie masz ujemne napięcie przetwornicy , czy regulacja potencjometrem kontrastu również nic nie daje , czy jesteś pewien że jest on na KS108 jaki to konkretnie model tego wyświetlacza
  • #5 7166198
    simpson777
    Poziom 11  
    Tu nie ma ujemnego napiecia na kontrast. A jak krece potencjometrem to raz się ściemnia ekran a w drugą nie ma nic.
    a tu jest opis
    http://sklep.avt.pl/p/pl/47946/lcd+graficzny+128x64.html

    A mam pytanie czy byś mógł podesłać jakiś konkretny link z wyświetlaczem takim 128 na 64 pixeli taki sprawdzony to może się zdecyduje i kupie następny.

    Dodano po 19 [minuty]:

    A mam pytanie czy mogłem go przegrzać pod czas lutowania??
  • #6 7166301
    bogdan_p
    Poziom 39  
    Cytat:
    Tu nie ma ujemnego napiecia na kontrast.

    jak to nie ma , pobierasz napięcie z końcówki Vee przez potencjometr do VLCD wartość tego napięcia decyduje o kontraście , ciekawe jak Ty połączyłeś ten wyświetlacz zobacz sobie tą stronę http://www.skippari.net/lcd/ks0108.html
  • #7 7166340
    simpson777
    Poziom 11  
    No mam tak samo i nawet reset też do "+5V" mam i nic , no i jak kręce potencjometrem to jest efekt. tylko u mnie są inaczej piny rozstawione.
  • #8 7166491
    bogdan_p
    Poziom 39  
    jeżeli masz LPT to spróbuj program testowy dla KS108 działa , sprawdzałem jeżeli jesteś pewien mikrokontrolera , wszystkich połączeń to chyba uszkodziłeś wyświetlacz ale przy lutowaniu przewodów to raczej mało prawdopodobne chyba że robiłeś to bardzo dużą lutownicą grzałkową
  • #9 7166532
    simpson777
    Poziom 11  
    Nie no lurownica to mała transformatówka i powiem jeszcze, że jak po wgraniu programu na procka to jak mam ustawiony kontrast tak tylko , tylko to widac że tak jak by coś chciało się wyświetlać tak lekko pobłyskuje nie mam pojecia jak to nazwać. A może znasz jakiś sklep i wyświetlacz który mógłbym kupić i napewno go uruchomie.
  • #10 7166687
    bogdan_p
    Poziom 39  
    kolega a wyłączałeś JTAG przecież on korzysta z portu C
  • REKLAMA
  • #12 7166775
    guteczek
    Poziom 11  
    Z pdf wynika że nie generatora ujemnego napięcia więc dokup przetworniczkę bo znów nie ruszy
  • #13 7166782
    simpson777
    Poziom 11  
    a powiec coś więcej na temat przetwornicy o ktorej mowisz??
  • #14 7166808
    bogdan_p
    Poziom 39  
    dlaczego od razu zakup nowego , chyba że jesteś pewien że go uszkodziłeś , próbowałeś innej konfiguracji podłączenia do mikrokontrolera , jeżeli masz LPT to chyba układ testowy nie jest aż tak skomplikowany i będziesz miał pewność że jest faktycznie uszkodzony
    wyświetlacz który chcesz kupić nie ma wbudowanej przetwornicy napięcia ujemnego musisz sam wykonać taką przetwornicę +5V > - 19 V
  • #15 7166816
    Mat_91
    Poziom 25  
    A nie lepiej od razu kupić LCD który ma wbudowaną taką przetwornice? Na znanym serwicie aukcyjnym u użytkownika "ARTRONICpl" można dostać takie LCD od 40zł.
  • #16 7166838
    jacobsek
    Poziom 22  
    Ten który podałeś nie wytwarza sam ujemnego napięcia ( w tym przypadku pewnie ok. minus 7-9V) dlatego trzeba zrobić lub kupić gotową za ok 10 zł przetworniczkę, ma tylko wejście kontrastu na które trzeba podac zewnętrzny minus
  • #17 7166860
    simpson777
    Poziom 11  
    Powiem tak kontrast jest i chodzi dobrze a mam podłączony potencjometr do GND a drugi koniec do VEE a noge obrotową do VCLS jak w pdf'ie na górze postu.
  • #19 7166903
    simpson777
    Poziom 11  
    pinologia ta sama jak w moim a nawet ten sam tylko kolor podświetlenia inny.
  • #20 7166940
    jacobsek
    Poziom 22  
    ale na pewno działa z tak podłączonym kontrastem, Twój pewnie się ubił ale najpierw sprawdź raz jeszcze czy nie ma zwarcia nigdzie i zmierz czy reguluje się napięcie na kontraście (tak jak producent przewidział w pełnym zakresie).
  • #21 7166961
    simpson777
    Poziom 11  
    Jeżeli chodzi o kontrast to jak kręce potencjometrem do końca to jest cały czarny a w drugą to czysty się robi.

    A o zwarciu nie mam mowy sprawdzone 100 razy.
  • REKLAMA
  • #22 7171811
    simpson777
    Poziom 11  
    Mam jeszcze pytanie co do mojego glcd
    A więc ten link co podał jacobsek to ten sam co mój glcd

    jacobsek napisał:


    tam zaznaczyłem miejsce znakiem zapytania ,bo ponieważ tam jest 9.2V a ja swój mam na 5V i czy to może być moim problemem?? i czy tam nie powinno być przypadkiem minus9.2V
    [BASCOM][ATMEGA32]problem z uruchomieniem glcd ks0108
  • #23 7171880
    jacobsek
    Poziom 22  
    Vlcd jest podawana jako różnica pomiędzy napięciami Vee i Vdd, nie sugeruj się tym w przypadku tego wyświetlacza jeśli podłączysz poprawnie prka w/g schematu z pdf to będziesz nim regulował ujemne napięcie które moduł wytwarza na wyjściu Vee i wszystko działa, taki jak ten lcd należy do najbardziej typowych i jeśli jest poprawnie podłączony i zainicjowany nigdy nie powinien sprawić problemu z uruchomieniem go.Tak myślę.
  • #25 7174489
    jacobsek
    Poziom 22  
    Ten to akurat jest do kompa gdybyś chciał testować lcd, a jak miałeś podłączony ten Twój lcd?, może wrzuć schemat, bo tam może tkwi przyczyna tych problemów bo już nie wiem jak można pomóc w tej tak oczywistej sprawie?
  • #26 7204969
    simpson777
    Poziom 11  
    Witam to znowu ja no i niestety mam dalej problem a więc po wgraniu tego programu i po wielu próbach dalszy raz nic.
    $regfile = "m8def.dat"
    $crystal = 8000000                                          '8 MHz - turn on external resonator (fuse bits)
    '$baud = 19200                                               ' use baud rate
    $hwstack = 100
    $swstack = 75
    $framesize = 40
    $lib "glcdKS108.lbx"
    '$sim
    Config Portb = Output
    Wait 2
    Set Portb.0
    
    'Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
    'Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 2 , Cd = 5 , Rd = 4 , Reset = 7 , Enable = 6
    Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5
    
    Reset Portb.0
    Setfont Font8x8
    Set Portb.0
    
    Lcdat 1 , 12 , "   T E S T"
    Lcdat 2 , 64 , "witaj "
    Reset Portb.0
    Lcdat 4 , 36 , " -- w koncu --  "
    Lcdat 5 , 120 , " i nic "
    
    Set Portb.0
     Do
        Waitms 2000
                                                  'zmień stan wyprowadzenia
        Toggle Portb.0
    
     Loop
    
    End
    $include "font8x8.font"


    bo problem jest taki że program dochodzi do tego momentu i stoi co robić :(
    Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 2 , Ce2 = 3 , Cd = 5 , Rd = 4 , Reset = 7 , Enable = 6
REKLAMA