PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Darstellung auf T6963C



der-brumm-baer
03.12.2005, 12:46
Hallo,

bin gerade recht neu hier, und auch noch ziemlich neu in Sachen Programmieren mit Bascom, muss mich da aber für ein Schulprojekt drin einarbeiten.

Wir wollen 6 Analoge Wert einlesen, die wir schon mit Hilfe von Schaltungen auf ein Einheitssignal von 0-5Volt gebracht haben.
Diese sollen auf einem GrafikDisplay 240*124 mit T6963C Controller dargestellt werden.

Der bringt jetzt das erste PRoblem!


Habe folgenden Code aus der Vorlage von Bascom entwickelt:


Do
$crystal = 8000000

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

Dim X As Byte , Y As Byte

Cls

Cursor Off

Wait 1

'Kopf
Locate 1 , 1 : Lcd "MSD-Electronics"
Locate 1 , 23 : Lcd "Engine-Analyzer"
Line(0 , 9) -(239 , 9) , 255
Line(0 , 10) -(239 , 10) , 255

'Digitale Messwerte

Locate 3 , 1 : Lcd "Oeltemperatur"
Locate 3 , 18 : Lcd ":"
Locate 3 , 28 : Lcd "C"
Locate 5 , 1 : Lcd "Abgastemperatur"
Locate 5 , 18 : Lcd ":"
Locate 5 , 28 : Lcd "C"
Locate 7 , 1 : Lcd "Oeldruck"
Locate 7 , 18 : Lcd ":"
Locate 7 , 26 : Lcd "bar"
Locate 9 , 1 : Lcd "Gemisch"
Locate 9 , 18 : Lcd ":"
Locate 9 , 27 : Lcd "%"

'Analoge Messwerte

Line(0 , 75) -(239 , 75) , 255
Line(0 , 76) -(239 , 76) , 255
Locate 11 , 2 : Lcd "Ladedruck"
Locate 11 , 15 : Lcd ":"
Line(100 , 82) -(200 , 82) , 255
Line(100 , 83) -(200 , 83) , 255
Line(100 , 84) -(200 , 84) , 255
Line(100 , 85) -(200 , 85) , 255
Locate 13 , 2 : Lcd "Benzindruck"
Locate 13 , 15 : Lcd ":"
Line(100 , 98) -(150 , 98) , 255
Line(100 , 99) -(150 , 99) , 255
Line(100 , 100) -(150 , 100) , 255
Line(100 , 101) -(150 , 101) , 255
'Fusszeile

Locate 16 , 15 : Lcd "(c) by Mike, Sven, Dennis"

Wait 2
Loop



Jetzt habe ich das Problem, das der Bildschrim
mal korrekt dargestellt wird,
mal die erste Zeile immer wiederholt wird,
oder alles völlig verschoben wird!
Wobei die Linien immer an der richtigen Stelle sind!

Ansteuerung erfolgt über einen Atmega8535.

Habe ich noch was vergessen? Ich hoffe nicht

super_castle
03.12.2005, 13:05
Do setzt du vor Cls und den AVR-TYP auch noch vor Do

Castle

der-brumm-baer
03.12.2005, 13:20
Danke schon mal für deine Atwort.)

Hab es jetzt so aussehen:


$regfile = "m8535.dat"
$crystal = 8000000

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

Dim X As Byte , Y As Byte

Do
Cls

Cursor Off

Wait 1

'Kopf
.
.
.


Aber es hat keine Änderung gebracht!
Ausser dass sich jetzt auch die Striche verschieben!
Nach etlichen durchläufen steht jetzt auch nur noch
"-Electronics Engine-Analyzer"
In Jeder Zeile

Oder habe ich da was falsch verstanden, oder sonstige FEhlerquellen in den Grundeinstellungen?

Den Loop habe ich übrigens nurgemacht, um zu sehen, ob er es immer falsch anzeigt!
MfG

Der Brumm-Baer

der-brumm-baer
03.12.2005, 16:34
Hallo,

da bin ich wieder, habe mal einiges ausprobiert, beim kompletten weglassen der Linien Klappt es mit der Richtigen Ausgabe der Schriftzeichen, kann man Grafik und Text nicht miteinander mischen???

MfG
Der Brumm-Baer

chr-mt
04.12.2005, 15:36
Hi,
Text und Grafik lassen sich normalerweise Problemlos mischen.
Kannst du dir die Signale an den Datenleitungen mal mit einem Scope ansehen ?
Bei mir ging es erst mit zusätzlichen Pullups (3,3k) an allen Daten- und Commandleitungen.
Vorher hatte ich auch verschobene Darstellung etc.
Mit den internen Pullups des M128 alleine ging es irgendwie nicht.

Gruß
Christopher

Marco78
04.12.2005, 21:18
Bei mir klappt das Programm.


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

Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Ce = 4 , Cd = 7 , Wr = 5 , Rd = 6 , Reset = 2 , Fs = 3 , Mode = 6

Dim X As Byte , Y As Byte

Do

Cls

Cursor Off

Wait 1

'Kopf
Locate 1 , 1 : Lcd "MSD-Electronics"
Locate 1 , 23 : Lcd "Engine-Analyzer"
Line(0 , 9) -(239 , 9) , 255
Line(0 , 10) -(239 , 10) , 255

'Digitale Messwerte

Locate 3 , 1 : Lcd "Oeltemperatur"
Locate 3 , 18 : Lcd ":"
Locate 3 , 28 : Lcd "C"
Locate 5 , 1 : Lcd "Abgastemperatur"
Locate 5 , 18 : Lcd ":"
Locate 5 , 28 : Lcd "C"
Locate 7 , 1 : Lcd "Oeldruck"
Locate 7 , 18 : Lcd ":"
Locate 7 , 26 : Lcd "bar"
Locate 9 , 1 : Lcd "Gemisch"
Locate 9 , 18 : Lcd ":"
Locate 9 , 27 : Lcd "%"

'Analoge Messwerte

Line(0 , 75) -(239 , 75) , 255
Line(0 , 76) -(239 , 76) , 255
Locate 11 , 2 : Lcd "Ladedruck"
Locate 11 , 15 : Lcd ":"
Line(100 , 82) -(200 , 82) , 255
Line(100 , 83) -(200 , 83) , 255
Line(100 , 84) -(200 , 84) , 255
Line(100 , 85) -(200 , 85) , 255
Locate 13 , 2 : Lcd "Benzindruck"
Locate 13 , 15 : Lcd ":"
Line(100 , 9) -(150 , 9) , 255
Line(100 , 99) -(150 , 99) , 255
Line(100 , 100) -(150 , 100) , 255
Line(100 , 101) -(150 , 101) , 255
'Fusszeile

Locate 16 , 15 : Lcd "(c) by Mike, Sven, Dennis"

Wait 2
Loop

Ich habe aber Reset nicht angeschlossen. Ich denke, das macht mein Display von alleine.
FS habe ich auch nicht angeschlossen. Die Pins sind so beschaltet, das sie auf 6X8 und 40 Columns sind.

Wie man sieht, verwende ich einen Mega16. Denke aber nicht, das es deshalb bei dir nicht geht.
Pullups sind weder im Programm eingestellt noch extern vorhanden.


Aber dennoch habe ich ein Problem.
Die Darstellung der Grafik aus t6963_240_128.bas erzeugt bei mir nur komische Zeichen.
Hat da jemand eine Idee?

Edit: Das Problem mit dem Bild hat sich erledigt!
Für alle, die das gleiche Problem bekommen:
Die .BGF einfach nochmal mit der richtigen Auflösung erzeugen ;)

der-brumm-baer
06.12.2005, 12:47
Hallo,
Danke schon mal für eure Antworten und fürs ausprobieren,
habe heute endlich vielleicht mal ein
wenig Zeit etwas an meinem Projekt zu machen und
den Lötkolben anzuschmeissen.

@chr-mt
Wie meinst du das mit den PullUps,
wie müssen die in die Datenleitungen rein?
Hiermal zwei Bsp.

1)
__AVR---------GLCD
_______|
______3K3
_______|
______---GND

2)
__AVR---------GLCD
_______|
______3K3
_______|
______---VCC (+5V)

Ist eines davon richtig, oder liege ich da etwa ganz falsch?

@Marco78
Also ganz ohne die beiden Leitungen geht gar nichts,
werde ihnen aber mal feste Zustände in Form von VCC zuteilen,
mal schauen, wie es dann aussieht

Mal ne kurze andere Fragen zwischen AVR und GLCD liegen ungefähr 1,5m Kabel,
könnte dies auch eine Störquelle bedeuten? Habe mal irgendwo davon gelesen.


MfG
Der Brumm-Baer

der-brumm-baer
06.12.2005, 19:57
HAllo,

kann mir kurz einer sagen wie das mit den Pullups gemeint ist?
Mein Lötkolben ist gerade heiß, und muss mich entscheiden, ob an MAsse oder 5V
Danke schon mal

MfG
Der Brumm-Baer

izaseba
06.12.2005, 20:12
PULLUP -> hoch nach oben, also? 5V
PULLDOWN -> GND

Ich denke, so was das gemeint...

Gruß Sebastian

der-brumm-baer
06.12.2005, 20:16
Danke,
also so wie
2) Zwei Posts oben!
Sorry, aber will mir nichts kaputt machen

der-brumm-baer
06.12.2005, 21:31
Also sieht die Platine zwischen LCD und Atmega 8535 so aus wie im Anhang, ist das Richtig?

MFG
Der Brumm-Baer

Zodiac
10.12.2005, 21:23
ich glaube ich bin an dem sehr ähnlichem
Projekt dran wie du!

Atmega32 > an ein 240 * 128 Display (blau)
Soll Anzeigen:
1. Ladedruck
2. Benzindruck
3. Lambda
4. Ansauglufttemperatur
5. Abgasgegendruck
6. Luftmasse

Welches Display hast du verwendet ?

Gruß Zodi

P.S. ach ja, in welches Fahrzeug soll das rein ?

bertl100
10.12.2005, 22:22
Pullups sind nicht notwendig.

Siehe meinen Beitrag:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=14993