mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega16 & 128x64 Grafik LCD & Bascom


Autor: Alexander Justies (temeon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe leute,

und entschuldigt bitte das ich auch damit ankomme...aber die anderen 
Threads nach denen ich gesucht hatte brachten mich nicht weiter.

Habe ein Grafik LCD ( 
http://www.reichelt.de/?ACTION=3;ARTICLE=31672;PROVID=2402 ) mit nem 
Atmega16 verbunden.
Programmiere mit bascom und bekomme kein einzelnen pixel zum "leuchten"


Angeschlossen ist das LCD so:

1 GND
2 +5V
3 VO -5V über Poti von Vout
4 RS ----> PD3
5 R/W ---> PD2
6 E -----> PD7
7 DB0 ---> PC0
...
14 DB7 --> PC7
15 CS1 --> PD6
16 CS2 --> PD5
17 RESET ->PD4
18 Vout -5V

soweit alles getestet und mehrfach durchgepiept.

nun das "Halle Welt" in Bascom die angabe $lib muss ich auslassen weil 
sonst bekomme ich nen haufen fehlermeldungen(error 5 und 320)
$crystal = 1000000
'$lib "glcdKS108.LBX"

Config Graphlcd = 128 * 64 , Dataport = Portc , Controlport = Portd , Ce = 6 , Ce2 = 5 , Cd = 3 , Wr = 5 , Rd = 2 , Enable = 7 , Reset = 4 , Fs = 1 , Mode = 8

Dim X As Byte , Y As Byte , Z As Byte

Locate 1 , 1
LCD "Hallo world"
Folgendes Problem:

Ohne Controller MCU auf dem LCD, mit MCU  ein Streifen Horizontal von 
einem pixel höhe sonst nix.

ich hoffe ich habe euch für den anfang genug infos gegeben damit ich 
hier um hilfe bitten kann, bin schon am verzweifeln.

mfg alex

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das ein KS0108 ist, dann sollte auch die entsprechende Lib 
eingebunden sein. Und dann muss auch die Config-Zeile dafür angepasst 
werden.
Wenn dann noch der Takt stimmt, und JTAG richtig gefuset ist, klappt das 
auch mit dem LCD :)

Autor: Rolf Im forum (for_ro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es der KS108 ist, dann musst du die Lib reinnehmen und noch einen 
Font-File laden. Der KS108 hat keine interne.

Autor: Alexander Justies (temeon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke soweit scheint das zu klappen....nur jetzt habe ich folgendes 
problem...

ach ja JTAG is abgeschaltet und intern auf 4Mhz getaktet.

Error:31 Line 14 Invalid datatype [[0011]0[____FONTTABLE]] , in File..........
ich habe jetzt einige fonts ausprobiert und immer der gleiche fehler.

hier nochmal der code
 
$regfile = "m16def.dat"

$framesize = 32
$swstack = 32
$hwstack = 32

$crystal = 4000000
'$baud = 9600
$lib "glcdKS108.lbx"


'Config Graphlcd = 128 * 64 , Dataport = Portc , Controlport = Portd , Ce = 5 , Ce2 = 6 , Cd = 7 , Wr = 5 , Rd = 4 , Reset = 3 , Mode = 6
Config Graphlcd = 128 * 64 , Dataport = Portc , Controlport = Portd , Ce = 6 , Ce2 = 5 , Cd = 3 , Wr = 5 , Rd = 2 , Enable = 7 , Reset = 4 , Fs = 1       ', Mode = 8
Setfont "8x8"

Dim X As Byte , Y As Byte , Z As Byte

Start:


Locate 1 , 1

Lcd "Hallo world"
Wait 3
Cls
Showpic 0 , 0 , Bild
Wait 3
Cls
Goto Start
End

$include "Font8x8.font"

 Bild:
$bgf "ks108.bgf"
ich verzweifel hier......das kann doch nicht so schwer sein mal was auf 
dem display anzuzeigen.

Bei den 2x16 zeichen LCDs hatte ich nicht solche probleme.

danke im vorraus

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Setfont genau den Namen angeben wie der Font heisst, nicht einfach 
irgendwas, und ohne "" !
Die Config-Zeile passt so auch noch nicht.

Schon mal die Beispiele von Bascom angeschaut, die dabei sind, oder die 
Hilfe ?
Da würde alles schön drin stehen.

Autor: Temeon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja diese zeile habe ich daraus kopiert und abgeändert. ob ich am ende 
der zeile  Mode 8 drinn lasse oder nicht , dabei ändert sich nix.

in der hilfe die config zeile ist auch nicht für lcd's mit Chip select , 
bzw nicht mit 2 chip select leitungen.

der zuletzt beschriebene fehler ist auch bei dem beispiel aus der hilfe.

Autor: Rolf Im forum (for_ro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle funktionierenden Beispiele die ich kenne verwenden die Config-Zeile 
mit sed angehangen

Config Graphlcd = 128 * 64sed , ...

Autor: Alexander Justies (temeon)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
okay....das war der fehler........ ich danke euch aus vollem herzen.....


nur jetz habe ich das nächste problem:

wenn bild und test nacheinander zeigen lasse ist die linke hälfte und 
rechte helfte nicht ganz bei einander...... ich schätze das ist nen 
timing problem.

schaut mal aufs angehängte foto....

auf einige zeit lang wirds immer schlimmer.....

villeicht nen externen Quartz in die schaltung einbringen? ob das was 
hilft? oder ist der compiler schuld?

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alexander,

könntest du einmal deinen genauen Code posten, wie dieser 
funktioniert???

Danke!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.