-         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 38

Thema: GLCD mit T6963C an Atmega 16

  1. #21
    Anzeige

    Dem Komentar von radebeul gebe ich recht. Das LEDSEE Display 128 x 64 funktioniert nicht mit 16 MHz Quarz am ATmega32.
    Mit 8 MHz Quarz ist der Datentransfer dann OK. Das LEDSEE 240 x 128 funktioniert sogar mit Übertaktung, mit 20 MHz
    Quarz am ATmega32 und anderen Atmelxxx.

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Ich benötige für dieses Display +5V und -9V. Wie realisiere ich das am besten, bei einer Spannungsversorgung von 12VDC von einer Batterie.

    Ist der Gedanke falsch, einen Spannungsteiler zu bauen und damit zu arbeiten? Also in die Mitte GND legen?
    Oder gibt es eine bessere Variante.
    Ich habe noch einen 7909 hier liegen. Aber den kann ich nur bei AC Eingangsspannung verwenden oder sehe ich das falsch?
    Habe auch mal von einer Variante mit einem µC gehört?!?

  3. #23
    Hi,

    Du kannst den 7909 nach dem Gleichrichter bzw. + Baterie anschließen.

    Gruß
    Nico
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken _5-9.png  

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    49
    Beiträge
    765
    Die negative Spannung erzeuge ich in meinem ersten Projekt mit einem DC-DC Wandler. Im nächsten werde ich ein Netzteil nehmen, welches zusätzlich -12 V ausgibt. Von da noch nen Spannungsteiler per Poti, bis der Kontrast passt. Evtl würde es auch mit einem Max 232 gehen, da dieser auch negative Spannungen erzeugen kann. Müsste man mal testen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Die Idee mit dem max232 war sehr gut.

    Betreibe jetzt eines dieser Displays an einem Atmega 8 zu Testzwecken.
    Ich lasse nur eine Softclock laufen und will sie mit 2 Tastern einstellen können.
    Jetzt habe ich aber folgendes Problem:
    Die Uhr läuft wunderbar, jedoch lässt sie sich nicht fehlerfrei einstellen. D.h. beim einstellen ist es immer eine Glückssache welche Zahl erscheint, weil die Zahlen viel zu schnell hochlaufen. Woran kann das liegen?
    An XTAL hängt ein 32.xxx Quarz und der interne Oz ist auf 1 Mhz gesetzt.

    Hier das Programm:
    Code:
    $regfile = "m8def.dat"
    
    Enable Interrupts
    
    Config Date = Mdy , Separator = /
    Config Clock = Soft
    Config Portc = Input
    Config Graphlcd = 240 * 64 , Dataport = Portd , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
    
    
    Cls
    Cursor Off
    
    
    Portc.0 = 1                                                 'Taster1, Zeit/Datum stellen, PullUp ein, schaltet gegen Minus
    Portc.3 = 1                                                 'Taster2,  Zahl hochzählen, PullUp ein, schaltet gegen Minus
    
    
    Time$ = "00:00:00"                                          'Setzen auf Startwert
    Date$ = "00/00/00"                                          'Setzen auf Startwert
    
    Do
       Locate 1 , 1
       Lcd Time$                                                'Zeige Zeit in Zeile1
    
       If Pinc.0 = 0 Then Gosub Time                            'wiederhole Anzeige bis Taster 1 zum Stellen gedrückt, springe nach Sub "Time"
    Loop
    End
    
    
    'Stunde
    Time:
    Waitms 200
    Cls                                                         'lösche Zeilen
    Do
    Locate 1 , 1
    Lcd "Set Hour:"                                             'Stunden setzen
    Locate 2 , 1
    Lcd _hour
             If Pinc.3 = 0 Then                                 'Mit Taster 2
               Incr _hour                                          'hochzählen
               Locate 2 , 1
               Lcd _hour
             End If
    If _hour > 23 Then                                          'Zählt bis Max, danach wieder ab 0
    Cls
    _hour = 00
    End If                                                      'solange, bis Taster 1 gedrückt
    Loop Until Pinc.0 = 0
    Waitms 200
    
    
    
    'Minute
    Cls
    Do
    Locate 1 , 1
    Lcd "Set Minute:"
    Locate 2 , 1
    Lcd _min
             If Pinc.3 = 0 Then
               Incr _min
               Locate 2 , 1
               Lcd _min
             End If
    If _min > 59 Then
    Cls
    _min = 00
    End If
    Loop Until Pinc.0 = 0
    Waitms 200
    Cls
    
    Return
    Noch eine andere Frage:

    Der Befehl "locate" setzt ja den Cursor auf eine bestimmte Zeile und Spalte. Aber es ja nicht die genaue Pixelzeile und spalte.
    Z.B. möchte ich ganz oben im Display eine Linie angezeigt kriegen und darunter erst den Text mit "locate". Sage ich aber Locate 2 , 1 : Lcd "Es klingelt!" erscheint der Text einige Zeilen weiter runter.
    Besteht auch die Möglichkeit eine genaue Zeile und Spalte mit Text anzusteuern?

    Und die letzte Frage wäre:
    Cls löscht ja das ganze Display. Gibt es auch eine Möglichkeit nur bestimmte Zeilen oder Stellen des Displays zu löschen?
    Gibt es verschiedene Schriftarten bzw Größen die ich übertragen kann?

    Was bedeutet das Mode?
    Möchte z.B. einen Balken für die Spannung anzeigen, der bei weniger Spannung fällt. Wie ginge das am besten?

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Versuche gerade das Display an einem Atmega 16 zu Programmieren, jedoch kommt jetzt schon wieder das alte Problem mit dieser Linie.
    Nach dem Starten des yC erscheint nur eine Linie an beliebiger Stelle.
    Habe es jetzt mit Bascom ausprobiert und mit C in WinAVR.
    Bascom Code:
    Code:
    $regfile = "m16def.dat"
    $lib "glcd.LBX"
    $hwstack = 200
    $swstack = 120
    $framesize = 100
    $crystal = 4000000
    
    
    Config Graphlcd = 240 * 64 , Dataport = Portb , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
    
    
    Do
    
    Cls
    Cursor Off
    Locate 1 , 1 : Lcd "Test"
    
    
    Loop
    End
    C-Code:
    Code:
    #include <avr/io.h>
    #include "T6963C.h"
    #include "font.h"
    
    int main()
    {
    
    glcd_setup();              // make sure control lines are at correct levels
    glcd_init();               // initialize LCD memory and display modes
    glcd_clear_text();
    glcd_clear_graph();
    glcd_print(0,10,"AVR Microcontroller");
    
    }
    Das C-Programm stammt von Christian R:
    http://www.mikrocontroller.net/topic/75124#new

    Bei beidem erscheint nur die Linie.
    Habe den Data Port auch schon an Port A betrieben, anstelle von B. Es bleibt aber beim alten!
    JTag habe ich auch ausgeschaltet und ich habe an XTAL1 und 2 einen 4Mhz Quarz.

    Übrigens: Das gleiche Display lief unter einem Atmega8 vorher einwandfrei unter Bascom!!! Ich verstehe das nicht, denn ich benutze die gleichen Ports.

    Damals war es genauso!
    Ich hoffe auf eure Hilfe.

  7. #27
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von Terfagter
    JTag habe ich auch ausgeschaltet
    Bist du dir da ganz sicher? Das scheint mir genau das problem zu sein.
    Kannst du nicht den Kontrollport mal auf einen anderen Port legen?

  8. #28
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Ich versuche es mal.

  9. #29
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Benutze jetzt PortB als Kontrollport und Port A als Dataport.
    Aber es erscheint wieder nur diese Linie!

  10. #30
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Ort
    Düren
    Alter
    36
    Beiträge
    147
    Habe alle Leitungen vom yC bis zum Display nochmal durchgepiepst und alles ist in Ordnung.
    Und habe noch 3 baugleiche Displays ausprobiert.
    Die Linie erschein z.B. auch wenn ich in Bascom die Ports vertausche?!?

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •