Welches Grafik display
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.
Hinweis kann nach Kenntnisnahme deaktiviert werden!
-
-
Teuer. Hast Du es sehr eilig oder kann auch China-Kram verbaut werden?
Viele Grüße
MathiasHeisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"
-
Eilig habe ich es nicht.Hab aber kein Bock über ein Monat zu warten.
-
Roli schrieb:
Ich denke Preis ist in Ordnung, kann ich damit was anfangen bzw. unterstützt Bascom dieses?
-
Roli schrieb:
Eilig habe ich es nicht.Hab aber kein Bock über ein Monat zu warten.
Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"
-
Ei,ei,ei ,liebe Bascom Freunde
Jetzt ist da Display angekommen, hab auch gegoogelt, aber um ehrlich zu sein habe ich kein Plan wie ich das LCD am Atmega anschliesen soll und wie ich das in Bascom Programmieren soll dass da auch was im Display angezeigt wird.
Könnt ihr mir einen Tipp geben wo ich da nach schauen kann?
Mit einem 2*16 Display habe ich keine Probleme aber ein GLCD ist für mich Neuland -
Welchen ATMega willst du denn verwenden?
Für solche Displays gibt es in Stafans Buch (Stefan Hoffmann alias stefanhamburg) Beispiele.
Wie dieses hier:
BASCOM-Quellcode
- 'Etch A Sketch
- $regfile = "m8def.dat"
- $crystal = 1000000
- $hwstack = 32
- $swstack = 10
- $framesize = 40
- $lib "glcdKS108.lib"
- Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 2 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 4
- Cls
- Setfont Font8x8
- ....
- ...
- ...
- Dim X As Integer , Y As Integer
- .....
- ...
- Lcdat 4 , 2 , "Etch A Sketch(R)"
- ...
- Cls
- Do
- .....
- ...
- Pset X , Y , 1
- ....
- Pset X , Y , 0
- ...
- ... Cls
- ...
- Loop
- End
- $include "font8x8.font"
-> Ich habe den Quelltext hier etwas reduziert. Gruß Stefan.Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von stefanhamburg () aus folgendem Grund: Ich habe den Quelltext hier ein wenig reduziert.Gruß Stefanhamburg
-
Der Anschluss steht normal in der Grafik-Config, ich häng dir ein Beispiel an.
Die Anschlüsse des Displays swelbst findest du im Datenblatt.
An Vee greifst du die negative Spannung für den Kontrast Vo ab, die erzeugt das Display selbst.
BASCOM-Quellcode: Feuerwerk
- 'Atmega2560 Modul von Crumb45
- $regfile = "m2560def.dat"
- $crystal = 14745600
- $baud = 115200
- $hwstack = 64
- $swstack = 40
- $framesize = 80
- Ddrh = 255
- Porth = 0
- Ddrj = 128
- Portj = 0
- Ddrl = 255
- Portl = 0
- Dim Stift As Byte
- Dim T1 As Byte , T2 As Byte
- Dim Temp As Byte
- Const Anzahl = 3
- Dim Xpos(anzahl) As Byte
- Dim Ypos(anzahl) As Byte
- Dim Dm(anzahl) As Byte
- Dim Dm_temp(anzahl) As Byte
- Dim Status(anzahl) As Byte
- Dim Linie(anzahl) As Byte
- For Temp = 1 To 20 'Lebenszeichen
- Toggle Portj.7
- Waitms 50
- Next
- $lib "glcdKS108.lib"
- Config Graphlcd = 128 * 64sed , Dataport = Porth , Controlport = Portl , Ce = 4 , Ce2 = 2 , Cd = 7 , Rd = 6 , Reset = 3 , Enable = 5
- Initlcd
- Declare Sub Set_grafik(byval X As Byte , Byval Y As Byte , Byval Stift As Byte)
- Cls
- For Temp = 1 To Anzahl
- Xpos(temp) = Rnd(80)
- Ypos(temp) = Rnd(20)
- Dm(temp) = Rnd(10) + 10
- Status(temp) = 2
- Next
- Do
- Stift = 0
- For Temp = 1 To Anzahl
- If Status(temp) = 2 Then
- T1 = Xpos(temp) + 20
- T2 = Ypos(temp) + 20
- Circle(t1 , T2) , Dm_temp(temp) , 0
- If Dm_temp(temp) < Dm(temp) Then
- Incr Dm_temp(temp)
- Else
- Status(temp) = 0
- Linie(temp) = 0
- End If
- End If
- If Status(temp) = 1 Then
- T1 = Xpos(temp) + 20
- T2 = Ypos(temp) + 20
- If Linie(temp) = 0 Then
- Line(63 , 63) -(t1 , T2) , 1
- End If
- If Linie(temp) = 3 Then
- Line(63 , 63) -(t1 , T2) , 0
- End If
- Incr Linie(temp)
- Circle(t1 , T2) , Dm_temp(temp) , 1
- If Dm_temp(temp) < Dm(temp) Then
- Incr Dm_temp(temp)
- Else
- Status(temp) = 2
- Dm_temp(temp) = 3
- End If
- End If
- If Status(temp) = 0 Then
- Xpos(temp) = Rnd(80)
- Ypos(temp) = Rnd(20)
- Dm(temp) = Rnd(5)
- Dm(temp) = Dm(temp) + 15
- Dm_temp(temp) = 3
- Status(temp) = 1
- End If
- Next
- Toggle Portj.7
- Loop
- End
-
Woher bekomme ich den ""glcdKS108.lib"" in mein Baskom ordner ist nur ""glcdKS108.lbx"?
-
Die glcdKS108.lbx ist gleich der glcdKS108.lib. Die .lbx sind lediglich "verschlüsselt".Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
-
-
Würde ich so machen. 'chip enable' und 'chip select' würde ich hier gleich setzen.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
ok , wieder was gelernt
-
Roli schrieb:
ok , wieder was gelernt
Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Ok, wirre Zeichen kommen schon mal auf`s LCD, dann bin ich schon auf den richtigen Weg
-
Nochmal Hilfe bitte:
Habe es jetzt richtig angeschlossen(Denke ich)
Wie kann ich jetzt z.B. eine Diagonale linie Zeichnen?Hab ein Atmega 8.
Nur so zu Testen ob ich auch alles richtig gemacht habe.
Danke
Hab einfach mal aus der Bascom_Hilfe rauskopiert :
Quellcode
- 'Etch A Sketch
- $regfile = "m8adef.dat"
- $crystal = 8000000
- $hwstack = 32
- $swstack = 10
- $framesize = 40
- $lib "glcdKS108.lbx"
- Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 2 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 4
- Cls
- 'Show some text
- Lcd "MCS Electronics"
- 'And some othe text on line 2
- Locate 2 , 1 : Lcd "T6963c support"
- Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890"
- Locate 16 , 1 : Lcd "write this to the lower line"
- Line(0 , 0) -(239 , 127) , 255
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Roli ()
-
Roli schrieb:
Woher bekomme ich den ""glcdKS108.lib"" in mein Baskom ordner ist nur ""glcdKS108.lbx"?
Roli schrieb:
Display bleibt leer
Ich baue deshalb gerne am Anfang eine kleine Wartezeit ein, man kann die Zeit ja mit einer LED überbrücken, damit die paar 100ms nicht zu langweilig sind.
Auch ein Initlcd ist sicher nicht verkehrt.
Manche Displays verschlucken sich auch gerne mal und zeigen beim ersten Durchlauf nichts an.
Dein Programm macht nur einen Durchlauf, dann ist es fertig.
Ich hatte mein Beispiel gepostet, weil es funktioniert, du kannst natürlich auch andere Beispiele benutzen. -
So,soweit hat es geklappt.Danke!
Jetzt habe ich allerdings das Display "2-geteilt"
hab foldendes Programm:
Quellcode
- $regfile = "m32def.dat"
- $crystal = 8000000
- $baud = 115200
- $hwstack = 64
- $swstack = 40
- $framesize = 80
- Ddrb = 255
- Portb = 0
- 'Ddrj = 128
- 'Portj = 0
- Ddrd = 255
- Portd = 0
- $lib "glcdKS108.lbx"
- Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 1 , Ce2 = 2 , Cd = 7 , Rd = 6 , Reset = 3 , Enable = 5 , Mode = 8
- Initlcd
- Cls
- Do
- Circle(20 , 20) , 19 , 255
- Circle(25 , 25) , 10 , 255
- Locate 1 , 1
- Lcd "text"
- Loop
Hat sicher mit Zeile 14 und/oder 15 zu tun?
Und wieso wird kein Test ausgegeben?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Roli ()
-
Das Grafik Display wird mit zwei Kontrollen angesteuert es besteht aus zwei Hälften.
Tauche Ce mit Ce2 dann müsste es gehen. -
hat geklappt
-
Ähnliche Themen