GLCD mit SED1520 Chipsatz (BASCOM)

Status
Für weitere Antworten geschlossen.

Cassio

Aktives Mitglied
29. Okt. 2008
4.027
17
38
Region Hannover
Sprachen
  1. BascomAVR
Für alle, die den Thread nicht bis zum Schluss lesen möchten, gibt es HIER die funktionierende Einheit! ;)



Hallo zusammen!

Ich möchte mal fragen, ob jemand schon ein paar Erfahrungen mit einem SED1520 Grafikdisplay unter BASCOM gemacht hat.

Es gibt zwar eine LIB (bzw. LBX) für den besagten Chipsatz ($lib "glcdSED1520.lbx" ), aber die funktioniert scheinbar nicht.

Immer wenn ich in meinem Beipielprogramm den Chipsatz angebe, läuft mein Programm nicht! :(

Zur Kontrolle lasse ich einen Port togglen.... aber es passiert nichts!
Wenn ich allerdings die SED-LIB benutze ($lib "glcdSED.lib") dann läuft mein Programm durch.... aber das Display zeigt nur wilde Balken an. :(

Ich stelle mein Beispielprogramm hier mal mit ein, vielleicht findet einer ja noch einen anderen Fehler.





CodeBox bascom

' SED1520 Testprogramm

$regfile = "m16def.dat"
$crystal = 4433619

'some routines to control the display are in the glcdSED.lib file
'$lib "glcdSED.lib"

'Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Portd , Ce = 5 , Ce2 = 6 , Cd = 3 , Wr = 2 , Rd = 4 , Reset = 1


$lib "glcdSED1520.lbx"

Config Graphlcd = 120 * 64sed , Dataport = Portc , Controlport = Portd , Ce = 5 , Ce2 = 6 , Cd = 3 , Rd = 4


' Bestimme die Ein und Ausgänge
Ddra = &B0000_0000 '1 ist Ausgang 0 ist Eingang
Porta = &B1111_1111 'auf Hi oder Low setzen

Ddrb = &B1_1111 '1 ist Ausgang 0 ist Eingang
Portb = &B0_0000 'auf Hi oder Low setzen


Dim X As Byte , Y As Byte


Do
Toggle Portb.0
Waitms 500
Toggle Portb.0
Waitms 500
Toggle Portb.0


Cls
Waitms 500

Setfont Font8x8

Lcdat 1 , 1 , "123456789012345"
Lcdat 2 , 1 , "123456789012345"


Wait 1
Line(0 , 10) -(121 , 10) , 1
Waitms 500
Line(0 , 20) -(121 , 20) , 1
Waitms 500
Line(0 , 30) -(121 , 30) , 1
Wait 1

Toggle Portb.0
Wait 2

Loop

End 'end program


$include "font8x8.font"




Gruß,
Cassio
 
Hallo Cassio,

warum nimmst Du nicht einfach das Beispiel von BASCOM ?

SED1520.bas

Doch Vorsicht, da gehört auch ein Config-File mit dazu : SED1520.cfg

Nach meinen Gehirnwindungen muß das irgendwie miteinander verbacken werden. Ich würde mal alle Dateien in ein Verzeichnis schmeißen (die .lbx nicht vergessen) und es durchprobieren.

Hmm, Moment mal, es gibt auch eine glcdSED1520.lib. Ich glaube, die ist die richtige.

Thomas
 
Hallo Thomas!

Ich habe das Beispiel von BASCOM benutzt und nur ein paar Zeilen hinzu genommen....

Die LBX lädt BASCOM ohne Probleme.... solange sich die Datei im LIB-Ordner befindet.


Die Sache mit der Config-File muss ich mir aber noch mal genauer ansehen...
Habe ich da etwas überlesen? :hmmmm:

Ich schau mal.....

Danke dir,
Cassio
 
Hmm, Moment mal, es gibt auch eine glcdSED1520.lib. Ich glaube, die ist die richtige.

Hi Thomas!

Ich habe beide Dateien schon einmal ausprobiert..... LIB und LBX....
Das Ergebnis ist leider das Selbe! :(

Gruß,
Cassio
 
Im MCS-Forum gibt es offensichtlich ähnliche Probleme.

Irgendeinder hat das Display so zum Rennen gebracht :

Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 6 , Ce2 = 7 , Cd = 4 , Rd = 5 'for SED1520 Display
'Dataport D0=PortC.0, D1=PortC.1, D2=PortC.2......
'CE=PortA.6, CE2=PortA.7, A0=PortA.4, R/W=PortA.5

Und auch das habe ich noch gefunden :

,Reset = 7, Enable = 1

einfach hinten anhängen.

Probiers mal,
Thomas
 
Hi Thomas!

Danke dir !

Werde die verschiedenen Ansätze nachher mal ausprobieren!

Die Config-Datei habe ich mir mal angesehen..... Finde sie aber recht merkwürdig und im BASCOM-Beispielprogramm wird sie auch nicht erwähnt. :hmmmm:


Ich tüftel dann erst mal an den Einstellungen weiter rum.

Gruß,
Cassio
 
Hi Thomas!

Ich habe eben mal ein paar Dinge ausprobiert......
Leider alles ohne Erfolg! :(


Das Komische ist aber, dass mein Programm überhaupt nicht abgearbeitet wird. :hmmmm:

Ich kann sämtliche Codezeilen entfernen die mit der Displayausgabe zu tun haben und lasse einfach nur den PORTB.0 toggeln.....
Es passiert aber nichst, solange ich die SED1520.LBX einbinde. :hmmmm:

Alles sehr seltsam....

Gruß,
Cassio
 
Hallo !

Tja, ich gebe es hier bald auf...

Es ist egal was ich probiere!
Interner Quarz, externer Quarz, LIB, oder LBX, mit Reset-Leitung oder ohne......

Egal was ich einstelle, sobald ich die "glcdSED1520.lib" benutze läuft der Controller nicht mehr. :(


Ist doch zum verzweifeln......:banghead:

Gruß,
Cassio
 
Hi Thomas!

Nun habe ich den Controller zum laufen bekommen..... :D
Allerdings zeigt das Display noch nichts an.

Es "leuchten" nur alle Pixel auf bzw. werden bei "cls" alle wieder "unsichtbar".


Es gibt am Display einen Pin "/RD" und einen "/WR".
Ich hatte den RD als READ angenommen und mit dem passenden Pin am Mega16 versorgt. Dann steht der Controller allerdings!

Nun habe ich den WR-Pin als READ genommen und der Controller arbeitet zumindest schon einmal. :)


Jetzt muss ich nur noch heraus finden, warum nichts angezeigt wird..... ;)

Gruß,
Cassio


PS: Zusätzliche Angaben mit Reset-Pin und/oder Enable-Pin haben keine Änderung gebracht.
 
Hi Cassio,

Es gibt am Display einen Pin "/RD" und einen "/WR".
Ich hatte den RD als READ angenommen und mit dem passenden Pin am Mega16 versorgt. Dann steht der Controller allerdings!

Nun habe ich den WR-Pin als READ genommen und der Controller arbeitet zumindest schon einmal. :)
Sieh dir mal das Datenblatt vom SED1520 an. Das wird dir die Augen öffnen :D

- E (RD) : Enable Clock signal input
- R/W (WR) : Read/write control signal input pin. “H” = Read “L” = Write

Je nach CPU-Mode der eingestellt ist.

Auf jeden Fall lesenswert.

http://www.datasheetarchive.com/

Gruß
Dio
 
Hi Dino!

Na, dann öffne mir doch mal die Augen. ;)

Gestern Abend.... als ich eigentlich schon ins Bett wollte... hat das Display sogar etwas angezeigt. :D

Leider habe ich danach ein paar Änderungen durchgeführt..... und seitdem habe ich die Zeichenanzeige nicht mehr reproduzieren können. :banghead:


Also wenn du noch eine Idee hast, dann mal raus damit. :)

Schöne Grüße,
Cassio
 
Hi Cassio,

Na, dann öffne mir doch mal die Augen. ;)
Gestern Abend.... als ich eigentlich schon ins Bett wollte... hat das Display sogar etwas angezeigt. :D
Leider habe ich danach ein paar Änderungen durchgeführt..... und seitdem habe ich die Zeichenanzeige nicht mehr reproduzieren können. :banghead:
Also wenn du noch eine Idee hast, dann mal raus damit. :)
da wär wohl mal ne Versionsnummer gut gewesen damit man den funktionierenden
Code noch hat ;) Ich nenne sowas immer kaputtkonfiguriert :D

Meine Idee war eigentlich das mit den Anschlüssen für RD und WR. Das die
tlw was anderes bedeuten als die Namen sagen. Also eigentlich /EN und
R /W .

Wenn man sich das Datenblatt ansieht dann ist das schon nen dolles Ding ...

... Einfach mal ein paar Gedanken beim Lesen ...

- 3.1.1 Selection of Interface Type
anscheinend kann man bei der Initialisierung entscheiden mit welchem uP
man das Ding anschprechen will und damit ändern sich auch die Pin-
Funktionen.

Ich glaube, ich habe das mit dem Reset verstanden :D
Also der RESET-Eingang erkennt Flanken. Wenn Du eine Impulsflanke
erzeugst (High-->Low oder Low-->High) wird das Display zurückgesetzt.
Also bei jeder Flanke macht es einen Reset. Der Pegel, der nach der Flanke
an dem Pin ansteht (High oder Low) bestimmt, welcher Prozessor-Modus
benutzt wird und damit, was die Steuerpins für Funktionen haben. :rolleyes:
Ist schon ne dolle Sache. Really tricky :eek: :cool:

Wenn Du also am Reset-Pin aus versehen eine Signalflanke erzeugst,
verstellst Du dir die gesamte Grundeinstellung des Displays.

6.0 MPU Interface (Reference)
Reset High->Low : 80MPU-Modus (letzter Pegel Low)
Reset Low->High : 68MPU-Modus (letzter Pegel High)

A0 => 0 : Control-Data , 1 : Display-Data

/CS => 0 : Zugriff aktiviert (Chip-Enable)

E (/RD) =>
- 68MPU : /Enable
- 80MPU : /Read

R /W (/WR) =>
- 68MPU : 1=Read , 0=Write
- 80MPU : /Write

Ist doch schon etwas komplizierter als son Character-Display :D
Was machst Du auch immer für nen komplizierten Kram ... :rolleyes:

Das Datenblatt des Controllers ...
Anhang anzeigen SED1520F0A_DotMatrixLCD.pdf

Gruß
Dino
 
Hi Dino!

Tja, wie schon geschrieben.....
Zufällig habe ich es nun zweimal zum Anzeigen bewegen können. Das war es aber auch.
Allerdings hatte ich da mit dem "Enable" hantiert.... lässt sich aber nicht unbedingt reproduzieren. :mad:

Es sollte doch gar nicht sooooo kompliziert werden.
Unter BASCOM wird speziell das SED1520 unterstützt... darum hatte ich es mir auch einfacher gedacht. ;)

Merkwürdig ist, dass bei der Konfiguration EXTRA für das SED1520 die Leitungen für den Reset und das Enable nicht berücksichtigt werden. :hmmmm:
Bei "anderen" SED-Displays muss man hier eine Angabe machen.

Habe eben noch mal alle Verbindungsleitungen durchgemessen... nicht das mir mal wieder eine innerhalb der Isolierung durchgebrochen ist. ;)
Habe aber keine Fehler messen können.

Tja, dann tüftel ich mal weiter....
Danke dir erst mal.

Gruß,
Cassio
 
Hi Cassio,

Merkwürdig ist, dass bei der Konfiguration EXTRA für das SED1520 die Leitungen für den Reset und das Enable nicht berücksichtigt werden. :hmmmm:
Bei "anderen" SED-Displays muss man hier eine Angabe machen.
Setz die Reset-Leitung doch einfach mal an deinen Prozessor-Reset mit dran.
Dann ist da ein definierter Pegel und du gehst auf jeden Fall in den 68MPU-Mode.

Oder setz den Reset an einen Port-Pin und probier mit den beiden Modes mal
VOR der Initialisierung rum. Evtl war dein Erfolgserlebnis nur eine zufällig
richtige Mode-Einstellung. Also den Reset vor der Initialisierung simulieren.

Gruß
Dino
 
Hi Dino!

Nee... den Res habe ich nun mal auf den Reset vom Controller gelegt..
War aber nur ein Zufallstreffer mit einem paar undefinierten Zeichen.
Lässt sich leider auch nicht reproduzieren. :(

Danke dir erst mal!
Für heute mache ich nun aber erst mal Schluss.....

Gruß,
Cassio
 
Guten Abend.

Ich verstehe momentan nur Bahnhof. MCS muß sich doch irgendetwas dabei gedacht haben, als die die LIB heraus brachten. Ist ja offensichtlich auch direkt von MCS. So steht es zumindest in dem Header der LIB.

Interessant ist auch, das es offensichtlich durchwegs Probleme mit dem Display gibt. Habe bis jetzt in den unendlichen Weiten des WWW noch niemand gefunden, der das Display zum Rennen gebracht und das auch dukomentiert hat.

Das Display ist ja auch nicht mehr ganz so neu. Muß doch schon mal Einer hinbekommen haben !

:moil:

Thomas
 
Eine kleine Internet-Suche ...

Hallo , evtl ist ja was brauchbares dabei ...
_________________________

http://bascom-forum.de/index.php?topic=1744.0
Config Graphlcd = 180 * 64sed , Dataport = Porta , Controlport = Portd , Ce = 4 , Ce2 = 5 , Ce3 = 6 , Cd = Portc.7 , Rd = Portc.6
$lib "glcdEADIP180.lbx"
******
Config Graphlcd = 120 * 64sed , Dataport = Porta , Controlport = Portd , Ce = 5 , Ce2 = 7 , Cd = 3 , Rd = 4
$lib "glcdSED1520.lbx"

...

Ah, dann muss man 64 angeben. Kann aber nur bis 32 ansteuern oder?

...

'IMPORTANT : since the SED1520 uses 3 chips, the columns are split into 3 of 60.
_______________________

http://www.roboternetz.de/phpBB2/printview.php?t=22803&start=0
_______________________

http://www.mikrocontroller.net/topic/9659
Autor: Marco Haufe (Gast)
Datum: 09.02.2004 12:10

Hallo Tommi
ich habe kürzlich ein 122x32 Zeichen Display mit 2xSED1520 zum laufen
bekommen. Allerdings bin ich ein Fan von BASOM-AVR und habe eine
Library modifizieren müssen. Aber ist voll genial das Disp aber doof,
da dort keine Charactersätze drin sind.
Aber man kann ja font-dateien einfach selbst erstellen und einfach dazu
linken. Mir gefällt 5x7 gut, da ich dann 4 Zeilen a 20 Zeichen
hinbekomme. Und es ist natürlich auch voll Grafikfähig.
Man kann sich also ausspielen damit...
Gruß Marco
______________________________

http://www.do2sha.de/Basteln_Grafik.html
_____________________________

Das wars ...

Gruß
Dino
 
Status
Für weitere Antworten geschlossen.

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)