Forum: Mikrocontroller und Digitale Elektronik Grafik-Display zeigt nichts an


von Patrick D. (patrick_cpp)


Angehängte Dateien:

Lesenswert?

Hey Leute,
Ich habe mir ein Grafik-Display (KS108)gekauft und wollte mit einem 
ATmega8 ansteuern. Leider macht es nicht was es soll.

Grafik-Display.bas

$regfile = "m8def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"

Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , 
Ce = 2 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 4
'==============================================================
'Grafikdisplay KS108 |  Atmega8
'     01|          VSS         GND
'     02|          VDD         +5V
'     03| Vo Kontrast        10K-Poti +10K gegen Masse
'     04|          RS           PortB.0
'     05|          R/W         PortB.1
'     06|          E             PortB.4
' 07-14|   DB0-DB7          PortD.0-PortD.7
'     15|          CS1         PortB.2
'     16|          CS2         PortB.3
'     17|          Reset       PortB.5
'     18|          Vout        10K-Poti Abgreifpunkt
'     19|          BLA          Nicht Belegt
'     20|          BLK          Nicht Belegt
'==============================================================
Cls
Setfont Font8x8
do
  Lcdat 1 , 1 , "Hallo"
loop
End

$include "font8x8.font"

Habt ihr einen Rat für mich?

von Display (Gast)


Lesenswert?

Patrick D. schrieb:
> Leider macht es nicht was es soll.

Es macht wahrscheinlich das, was es soll (d.h. das, was Du programmiert 
hast), aber das ist wahrscheinlich nicht das, was Du willst.

von spess53 (Gast)


Lesenswert?

Hi

>'     03| Vo Kontrast        10K-Poti +10K gegen Masse
...
>'     18|          Vout        10K-Poti Abgreifpunkt

Was meinst du mit 'Abgreifpunkt'?

MfG Spess

von Patrick D. (patrick_cpp)


Lesenswert?

Ich meine den Punkt, wo ich denn Widerstandswert einstelle

von Patrick D. (patrick_cpp)


Lesenswert?

> Es macht wahrscheinlich das, was es soll (d.h. das, was Du programmiert hast), 
aber das ist wahrscheinlich nicht das, was Du willst.

Toll. Das Hilft mir nicht weiter :(
Trotzdem zeigt es nichts an.

Was ich weigendlich machen kann ist nur der Kontrast zu ändern :(

: Bearbeitet durch User
von spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

>Ich meine den Punkt, wo ich denn Widerstandswert einstelle

???

Die Kontrasteinstellung erfolgt wie im Anhang. Und da ist kein Anschluss 
nach Masse

MfG Spess

von Liberist (Gast)


Lesenswert?

Hallo Patrick ,

$lib "glcdKS108.lib"   -->   ist für KS108-Controller

Config Graphlcd = 128 * 64sed --> ist für SED-Controller

merkst Du etwas???

Liberist

von Joachim B. (jar)


Lesenswert?

Liberist schrieb:
> $lib "glcdKS108.lib"   -->   ist für KS108-Controller
> Config Graphlcd = 128 * 64sed --> ist für SED-Controller

arg, gutes Auge, ein gern gemachter Fehler (ist mir auch schon passiert)

: Bearbeitet durch User
von Patrick D. (patrick_cpp)


Lesenswert?

Ach so, ich habe die Kontrasteinstellung von Bascom- Einsteigerbuch
"Einfacher Einstieg in die Elektronik mit AVR-Mikrocontroller und 
BASCOM"

Ich kann mal die Variante probieren.

mgf Patrick_cpp

: Bearbeitet durch User
von Patrick D. (patrick_cpp)


Lesenswert?

Ich habe die Config Graphlcd = 128 * 64sed ... entfernd, mägert der 
Compiler rum, auch wenn ich das "sed" entferne

Also was muss ich nun Eingeben das funktioniert.

von Patrick D. (patrick_cpp)


Lesenswert?

Ich habe mein Programm geändert aber es zeigt immer noch kein Erfolg:

$regfile = "m8def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"

'==============================================================
'Grafikdisplay KS108 |  Atmega8
'     01|          VSS         GND
'     02|          VDD         +5V
'     03| Vo Kontrast        10K-Poti +10K gegen Masse
'     04|          RS           PortB.0
'     05|          R/W         PortB.1
'     06|          E             PortB.4
' 07-14|   DB0-DB7          PortD.0-PortD.7
'     15|          CS1         PortB.2
'     16|          CS2         PortB.3
'     17|          Reset       PortB.5
'     18|          Vout        10K-Poti Abgreifpunkt
'     19|          BLA          Nicht Belegt
'     20|          BLK          Nicht Belegt
'==============================================================
Cls

Do
   Locate 1 , 1
   Lcd "Hallo"
Loop
End

von spess53 (Gast)


Lesenswert?

Hi

Und was ist mit der Kontrasteinstellung?

MfG Spess

von Patrick D. (patrick_cpp)


Lesenswert?

Mit dem Kontrast auch keine Wirkung

von spess53 (Gast)


Lesenswert?

Hi

Der KS0108 ist der wohl einfachste Displaycontroller, der mir je 
untergekommen ist. Beim Einschalten, ohne Programm, (mit H an Reset) 
sollte eine Anzeige (Pixelmuster) zu sehen sein.

MfG Spess

von Stack (Gast)


Lesenswert?

Hallo Patrick,

mal an so etwas gedacht

$hwstack = xxx           ' Hardware Stack
$swstack = xxx           ' Software Stack
$framesize = xxx         ' Framesize

xxx anpassen (64) oder evtl. größer

???

von Patrick D. (patrick_cpp)


Lesenswert?

Ich habe $hwstack, $swstack und $framesize reingearbeitet, aber keine 
Wirkung :(
Auch wenn ich FuseByte benutze, keine Wirkung

$prog &HFF , &H44 , &HD9 , &H00         ' generated. Take care that the 
chip supports all fuse bytes.
$regfile = "m8def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"
$hwstack = 64
$swstack = 64
$framesize = 64
'==============================================================
'Grafikdisplay KS108 |  Atmega8
'     01|          VSS         GND
'     02|          VDD         +5V
'     03| Vo Kontrast        10K-Poti +10K gegen Masse
'     04|          RS           PortB.0
'     05|          R/W         PortB.1
'     06|          E             PortB.4
' 07-14|   DB0-DB7          PortD.0-PortD.7
'     15|          CS1         PortB.2
'     16|          CS2         PortB.3
'     17|          Reset       PortB.5
'     18|          Vout        10K-Poti Abgreifpunkt
'     19|          BLA          Nicht Belegt
'     20|          BLK          Nicht Belegt
'==============================================================
Cls

Do
   Locate 1 , 1
   Lcd "Hallo"
Loop
End

von Patrick D. (patrick_cpp)


Lesenswert?

Ich werde mit einem ATmega32 probieren

von Jens W. (jensw)


Lesenswert?

Braucht das Display keine Init-Funktion?

von M. K. (sylaina)


Lesenswert?

Jens W. schrieb:
> Braucht das Display keine Init-Funktion?

Das frage ich mich auch und es würde mich schon wundern. Und am Kontrast 
scheint auch was faul zu sein, Poti gegen Masse wäre etwas falsch bei 
dem Display.

von Patrick D. (patrick_cpp)


Lesenswert?

Also ich habe mein Programm Initlcd eingeben und den Poti an 
Betriebsspannung (+5V) gezogen, aber nichts

von Patrick D. (patrick_cpp)


Lesenswert?

So, ich habe jetzt stat ATmega 8 gegen ATmega32 ausgetauscht und neu 
verdrahtet.

Und immernoch kein Text :(


$PROG &HFF,&H04,&H47,&H00' generated. Take care that the chip supports 
all fuse bytes.
$regfile = "m32def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"
$hwstack = 64
$swstack = 64
$framesize = 40
initlcd
'==============================================================
'Grafikdisplay KS108 |  Atmega32
'     01|          VSS         GND
'     02|          VDD         +5V
'     03| Vo Kontrast        10K-Poti gegen +5V
'     04|          RS           PortC.1
'     05|          R/W         PortC.0
'     06|          E             PortC.2
' 07-14|   DB0-DB7          PortA.0-PortA.7
'     15|          CS1         PortC.7
'     16|          CS2         PortC.6
'     17|          Reset       PortC.5
'     18|          Vout        10K-Poti Seite
'     19|          BLA          Nicht Belegt
'     20|          BLK          Nicht Belegt
'==============================================================
Cls

Do
   Locate 1 , 1
   Lcd "Hallo"
Loop
End

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Patrick D. schrieb:
> So, ich habe jetzt stat ATmega 8 gegen ATmega32 ausgetauscht und neu
> verdrahtet.

Naja, Austausch des Controllers behebt ja auch keine Software- und/oder 
Hardwarefehler der Peripherie.

Prüfe zunächst doch mal ob alle Verbindungen zwischen Display und 
Controller stimmen. Nutze dazu das Datenblatt zu deinem Display und 
nicht eine Anschlussbelegung, die du in einem Buch/Webseite/Paper 
gefunden hast. Wenn das erstmal stimmt kannst du dich der Software 
widmen.

: Bearbeitet durch User
von Patrick D. (patrick_cpp)


Lesenswert?

Es funktioniert :D

Fehler bei meiner Verdrahtung Pin 14 von Display wahr auf Pin 11 von 
ATmega32


Danke an Alle die mein Problem gesucht haben.

mfg Patrick_cpp

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.