Bascom GrafikLCD Hilfe

OP #257828
Lesenswert?

Hallo,

Ich sollte dringend mal jemand haben der mir mal ein kleines Beispiel
zeigen kann, wie ich mit Bascom ein Grafik-LCD ansteuer. Ich hab nun
schon soviel gelesen und probiert aber nichts hat funktioniert.
So, ich hab Bascom 1.11.7.4, STK200, nen mega32, und an 128x64pix
Grafik LCD drann hängen. Ich weiß von dem Grafik-LCD das es wie folgt
am mega hängt.
PA3 - /WR
PA4 - /RD
PA5 - /CE
PA6 - /CTRL(1)/DATA(0)
PA7 - /Reset
PC0 - DB7
PC1 - DB6
...
PC7 - DB0

^^ Hat mir da irgend jemand an schönes beispiel? oder könnte irgend
jemand mir kurz ein "Hello world" schreiben? Ich hab leider noch
keine erfahrung mit bascom, von daher würde das mein einstieg mal
deutlich vereinfachen. ;-)

DANKE schonmal im vorraus
Xaero5
Gast #257831
Lesenswert?

So mache ich es!

'LCD pin
' 1        GND            GND
 '2        GND            GND
 '3        +5V            +5V
 '4        -9V            Pin 5 Max 32 -C2
 '5        /WR            PORTC.0
 '6        /RD            PORTC.1
 '7        /CE            PORTC.2
 '8        C/D            PORTC.3
 '9        RESET          PORTC.4
 '10-17    D0-D7          PORTD.0-7
 '18       FS             PORTC.5
 '19       LEDK           -
 '20       LEDA           -

$regfile = "m8def.dat"
$crystal = 3686400

Dim X As Byte, Y As Byte

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


'mode = 8 ergibt 128 / 8 = 16 spalten


Cls                                                         'Display
löschen
Cursor Off                                                  'Cursor
aus

'*********************************************************************** 
********
'* Schreibt Text in Zeile 1-8
        *
'*********************************************************************** 
********

Locate 1, 1: Lcd "Zeile 1"
Locate 2, 1: Lcd "Zeile 2"
Locate 3, 1: Lcd "Zeile 3"
Locate 4, 1: Lcd "Zeile 4"
Locate 5, 1: Lcd "Zeile 5"
Locate 6, 1: Lcd "Zeile 6"
Locate 7, 1: Lcd "Zeile 7"
Locate 8, 1: Lcd "Zeile 8"

Wait 5                                                      '5
Sekunden warten
Cls                                                          'Display
löschen

'*********************************************************************** 
********
'* Steuert alle Pixel des Displays an
        *
'*********************************************************************** 
********
For Y = 0 To 63
   For X = 0 To 127
      Pset X , Y , 255                                      ' setzt
pixel
   Next X
Next Y

Wait 5                                                      '5
Sekunden warten
Cls                                                          'Display
löschen

'*********************************************************************** 
********
'* Zieht Linien
        *
'*********************************************************************** 
********

Line (0, 127)-(127, 0), 255
Line (0, 0)-(127, 0), 255
Line (0, 1)-(127, 1), 255
Line (0, 60)-(127, 60), 255
Line (0, 0)-(0, 63), 255
Line (127, 0)-(127, 63), 255

Wait 5                                                      '5
Sekunden warten
Cls                                                          'Display
löschen

'*********************************************************************** 
********
'* Zeichnet Kreise
        *
'*********************************************************************** 
********

For X = 1 To 10
   Circle (20, 20), 20, 255                                 ' zeichnet
kreis
   Wait 1
   Circle (20, 20), 20, 0                                   'löscht
kreis
   Wait 1
Next X

End
#257832
Lesenswert?

Hast Du den Datenbus wirklich so angeschlossen?
PC0 - DB7
PC1 - DB6
...
PC7 - DB0

Einfacher und schneller wäre es so:
PC0 - DB0
PC1 - DB1
...
PC7 - DB7

Ich mache eigentlich nichts mit BASCOM, nur gelegentlich kleine Dinge,
aber eine Bibliothek für ein T6963-LCD müßte enthalten sein.

MfG
Andi
OP #257835
Lesenswert?

Also, ich hab das nun so mal probiert..... Das Display bleibt aber
leer... :-(

Config Graphlcd = 128 * 64 , Dataport = Portc , Controlport = Porta ,
Ce = 5 , Cd = 6 , Wr = 3 , Rd = 4 , Reset = 7 , Mode = 8
Cls
Locate 1 , 1
Lcd "Hello World"
End

Denke mal das das daran lieg das der Dataport "invertiert" ist...
also die Pins vertauscht... Wie dreh ich die?
@ Andi_K: Was für ein Ding?  ;-) Sorry, bin total neu in der materie.

Grüßle Xaero5
Gast #257839
Lesenswert?

die datenbits darfst du nicht vertauschen. db0 muss an pin0 usw.
ausser du änderst die lib und compilierset diese neu und bindest die
lib dann in bascom ein. ansonsten ist es erstmal in basocm
unveränderlich vorgegeben. weil über die datenports auch
einstellungsdaten gesendet werden.
mfg pebisoft
OP #257843
Lesenswert?

Also... Programm sieht immernoch so aus... aber ich hab nun mal die
datenpins gedreht... hatte die aus bequemlichkeit beim aufbau anders...
jetzt passen die aber also
PC0 = DB0
...
PC7 = DB7

was mir noch aufgefallen ist ist das ingo und in der hilfe von bascom
ein FS pin deklariert wird... ich hab aber solch einen pin nicht...

so... nun tut sich auch was auf dem display... aber es kommt kein
"hello world" sonder nur wirre zeichen/symbole usw.

Config Graphlcd = 128 * 64 , Dataport = Portc , Controlport = Porta ,
Ce = 5 , Cd = 6 , Wr = 3 , Rd = 4 , Reset = 7 , Mode = 8
Cls
Locate 1 , 1
Lcd "Hello World"
End

????  ratlos....
#257844
Lesenswert?

Wie schon gesagt, JTAG deaktivieren, ansosnten geht der PortC nur zur
Hälfte, oder an Port D oder A (eigentlich blödsinn, wegen ADC)
anschliessen!
Auszug aus dem Mega32-PDF:
"If the JTAG interface is left unconnected, the JTAGEN fuse should if
possible be disabled. This to avoid static current at the TDO pin in
the JTAG interface."

MfG
Andi
Gast #257846
Lesenswert?

Hallo zusammen

wie sieht das den mit Bitmaps und dem GraphikLCD aus? Kann ich eine
Bitmap in einem Grafik Programm erstellen und diese quasie als
Hintergrund für die Anzeige benutzen!?

gruß avrler

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren