Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[BASCOM][ATMEGA16] KS0108 --- Problem z wyświetlaniem

05 Lut 2009 15:45 3470 5
  • Poziom 10  
    Code:
    $regfile = "m162def.dat"                                   
    
    $crystal = 8000000                                         
    Config Portd.1 = Output
    $lib "glcdKS108.lbx"

    Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 7 , Ce2 = 6 , Cd = 3 , Rd = 4 , Reset = 5 , Enable = 2

    Cls

    Showpic 0 , 0 , Plaatje2

    Do

     Set Portd.1
     Wait 1
     Reset Portd.1

     Wait 1
    Loop


    Plaatje2:
    $bgf "fo.bgf"


    Dioda (na PD.1) dziala ok..

    Problem z wyswietlaczem, kiedy zewre pin RESET z masą, pojawia sie obrazek i znika za chwile...

    Wew oscylator 8mhz, dzielnik przez 16 wylaczony, jtag wylaczony, co moze byc przyczyna? (nie wiem czy jasno napisałem, ale prosze pytać odpowiem)

    schemat w załaczniku

    EDIT:
    dalem zewnetrzny oscylator 16mhz, i po wlaczeniu dioda dalej miga, a wyswietlacz pusty jednak po zwarciu przez kondensator 100nF do masy zaczyna wyswietlac (resetuje sie układ i poprawnie i stabilnie wyświetla grafike i tekst). jednak po podłaczeniu na stałe kondesatora to samo trzeba go w trakcie pracy układu zewrzec z masa i działa. elektronik ze mnie kiepski moze za mała pojemność kondensatora?

    Proszę używać przycisku "Zmień"
    [zumek]
  • Computer Controls
  • Poziom 32  
    W jakim celu zwierasz RST z masą? Przecież wtedy specjalnie resetujesz procka. Ten pin należy podciągnąć do VCC przez rezystor np. 10kΩ.
  • Computer Controls
  • Poziom 10  
    podciagniecie go nie rozwiazuje problemu. zwieranie z masa robi reseta i wtedy pojawia mi sie obraz na wyswietlaczu (czasami za któryms resetem z kolei).
  • Poziom 32  
    Jeżeli to Showpic 0 , 0 , Plaatje2 dasz do pętli to efekt taki sam?
  • Poziom 10  
    dokladnie efekt identyczny, bez cls to samo....

    podobny schemat na atmega8 hula... tylko mi sie pamiec skonczyla wiec przenioslem sie na m162.

    ----------------------------------

    temat nie rozwiązany, przenioslem sie na atmega16, kwarc zew 4mhz, i schemat podobny dataport na porcie c reszta na porcie a.... reset podciagniety przez 10k do vcc, tylko tym razem nie działa po zwarciu resetu z masa tylko podczas programowania (tzn swiezo zaprogramowany działa) a po odlaczeniu zasilania i podlaczeniu juz nic nie wyswietla? co jest z tymi portami ?

    Cytat:
    Interfejs JTAG
    Jeżeli bit JTAGEN="0" (zaprogramowany) wtedy piny PORTC.5 - PORTC.2 stanowią wyjście interfejsu JTAG i są na stałe podciągnięte do +VCC. Nie działaja one wtedy jako zwykłe piny (nie działa konfiguracja w programie ustawiająca je w roli wejść lub wyjść) i będzie to z pewnością przyczyną problemów, gdy właśnie te wyprowadzenia zostaną użyte jako wejścia lub wyjścia projektowanego systemu mikroprocesorowego. Aby wspomniane wyprowadzenia zachowywały się jak pozostała część portu C konieczne jest wyłączenie interfejsu JTAG poprzez ustawienie JTAGEN="1"


    JTAG w fusach odznaczony a porty dalej nie zachowuja sie jak zwykłe porty.

    w bascomie
    Code:
    MCUSR = &H80
    
    Mcusr = &H80


    tez zero reakcji dalo tylko tyle ze zaczyna dzialac jak podpinam programator ;/ glupieje juz
  • Poziom 10  
    z góry przepraszam moderatorów za brak edycji tylko nowy post

    --------------------


    kod z sampla bascomowego

    Code:

    $regfile = "m16def.dat"                                     ' specify the used micro
    $crystal = 4000000                                          ' used crystal frequency


    Wait 2

    Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 5 , Ce2 = 4 , Cd = 1 , Rd = 2 , Reset = 3 , Enable = 0

    Dim X As Byte , Y As Byte



    Print "Cls"
    Cls

    Wait 1

    Setfont Font8x8



    Lcdat 1 , 1 , "123"

    Lcdat 2 , 1 , "123" , 1                                     ' will inverse the text

    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
    Do
    Lcdat 1 , 1 , "test"

    Loop
    End                                                         'end program


    $include "font8x8.font"


    Plaatje:
    $bgf "test.bgf"


    dziala za kazdym razem i wysietla obrazek i tekst "test"
    "swiezo po programowaniu" dziala od poczatku ale nie zawsze

    Code:
    Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2        


    niestety dodawanie tej wstawki na poczatku oraz wyłączania JTAGa softwareowo nic nie daja... raz działa raz nie....