PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ist das Bascom-kompatibel?



Bauteiltöter
21.07.2008, 20:16
Hallo, ich wollte mich jetzt mal mit Graphiklcds beschäftigen. In der Hilfe habe ich folgendes gelesen:



'The connections of the LCD used in this demo

'LCD pin connected to

' 1 GND GND

'2 GND GND

'3 +5V +5V

'4 -9V -9V potmeter

'5 /WR PORTC.0

'6 /RD PORTC.1

'7 /CE PORTC.2

'8 C/D PORTC.3

'9 NC not conneted

'10 RESET PORTC.4

'11-18 D0-D7 PA

'19 FS PORTC.5

'20 NC not connected



und



The first chip supported was T6963C. There are also driver for other LCD's such as SED and KS0108. The most popular LCD's will be supported with a custom driver.



Das heißt, das ein Compatibeles Display die anschlüße WR,RD,CE,C/D,NC,RESET,FS und nochmal NC hat.

Jetzt habe ich mir das Pollindisplay 120 423 gefunden.
Das Display hat den Kontroller KS0108 oder kompatibel.

Aber im Datenblatt des displays ist vollgende anschlußbelegung angegeben:




1=Vss
2=Vdd
3=V0
4=D/I
5=R/W
6=E
7=DB0
8=DB1
9=DB2
10=DB3
11=DB4
12=DB5
13=DB6
14=DB7
15=CS1
16=CS2
17=RET
18=VEE
19=LED+
20=LED-



Irgendwie stimmt das ganz und garnicht überein. Könnt ihr mir sagen, ob ich das einfach so ansteuern kann?

MfG Bauteiltöter

linux_80
21.07.2008, 22:57
Hi,
Suche anwerfen, und das finden:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=32778&highlight=120423

Bauteiltöter
22.07.2008, 05:54
Ich=> ](*,) ](*,) ](*,) ](*,) ](*,)

Vielen dank!

Bauteiltöter
29.07.2008, 16:21
hallo,

das Lcd ist angekommen, aber es funktioniert nicht :-&
ich bekomme nur einen schwarzen Kasten mit horizontalen und vertikalen streifen. Geh ich in der annahme, das DB.0 an Portc.0 angeschlossen werden muss?

Hier der volständige code:


$regfile = "M32def.dat"
$crystal = 1000000

'KS0108 TG12864B
' Pin - LCD - Bascom
' 0 - CS1 - Ce
' 1 - nc
' 2 - D/I (A0) - Cd
' 3 - CS2 - Ce2
' 4 - Enable - Enable
' 5 - R/W - Rd
' 6 - RET - Reset

$lib "glcdKS108.lbx"

Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Portb , Ce = 0 , Ce2 = 3 , Cd = 2 , Rd = 5 , Reset = 6 , Enable = 4

Initlcd

Cls

End

Es gibt keine Fehlermeldungen

Ich hoffe ihr habt ideen, woran es liegen kann.

MfG bauteiltöter

Hier noch ein Bild vom LCD

linux_80
31.07.2008, 16:03
Hi,

ist das ein neuer M32 ?
Dann ist die Frage: Ist JTAG deaktiviert, ansonsten wäre PortC nur halb verfügbar !

Ja, beim DataPort der Reihe nach verkabeln: DB0 mit PC0 usw.

Ansonsten gabs da mal in einer der letzten Bascom-Version ein Problem (Bug) mit dem Cls-Befehl.

Bauteiltöter
31.07.2008, 18:35
Ja, das mit dem Bug mit CLS hab ich schon bemerkt, wurde hier auch in einem Anderen Thread besprochen. Das ist ein niegelnagelneuer ATmega32.
Ich deaktiviere einfach ma JTAG. wenns dann geht bekommste ne Keks, und wenn nicht gibts haue [-X

MfG Bauteiltöter

PS: Nich ganz ernst nehmen

Edit: So, nachdem ich JTAG deaktiviert habe geht das einfache Cls, aber bei einem Befehl
"Line (0 , 0) - (10 ,0) , 255"

beginnt die Linie in der mitte des Displays. Was ist das?

Edit2: Ich habe grade bemerkt, das die Controller auf der rückseite warm werden. Man kann sich nicht verbrennen, aber es ist schpürbar. Ist das schlimm?

Bauteiltöter
05.08.2008, 09:27
Hallo,

hat noch jemand ne idee, warum ich nur eine Hälfte benutzen kann?

wenn keiner ne idee hat, wird das LCD aktiv gekühlt und nur eine hälfte benutzt

MfG bauteiltöter

linux_80
05.08.2008, 11:07
Such mal im Forum, das kam schon öfter vor, evtl. kannst Du die Ansteuerung in der Lib optimieren (timing).

Warm wird bei meinem LCD eig. nix, nur knapp über Zimmertemp.
Wie hast Du es verkabelt, vor allem den Kontrast ?

Bauteiltöter
05.08.2008, 14:01
Poti wie im Datenblat beschrieben...

Oder nein! Ich habe nur 4,7kohm, und nicht 10kohm... Daran wirds wohl liegen...

naja, noch hab ich es nicht kaputt bekommen, was eigentlich ein wunder ist^^

ich suche dann nochmal in der Forensuche

Ich habe nix vergleichbares gefunden... bin warscheinlich zu doof.

Aber im moment kann ich eh nix tun, da mein MySmart im Halbleiterhimmel ist :-&

linux_80
05.08.2008, 18:09
Schau mal ob diese Infos was für Dich sind:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=305910#305910

Bauteiltöter
05.08.2008, 18:32
so...

dein Link ist gold wert!
Das Kabel wird zulang sein, gut 50cm. aber ich kann es wegen den o.g. Gründen nicht ausprobieren...

Bauteiltöter
08.08.2008, 20:14
hallo,

das problem ist gelöst!

Ich habe die beiden CS-Leitungen vertauscht ](*,) ](*,)

Wenn mir jetzt noch jemand verraten könnte, wie mann Text auf dem Display anzeigt, bin ich glücklich [-o< Der Link von Linux_80 erwähnt das am rande, aber ich verstehe das nicht. :-k

MfG Bauteiltöter

linux_80
08.08.2008, 23:42
s'wird ja langsam ;-)
Um Text zu bekommen, muss man beim KS0108 einen Zeichensatz ins Programm aufnehmen.
Am besten in die Bascom-Hilfe schauen unter Befehl "Setfont", da ist ein Beispiel dabei, vorgefertigte Zeichensätze sind bei Bascom schon dabei.

Bauteiltöter
09.08.2008, 11:09
Hi,

eine risiege Keks-schachtel an Linux_80!!! =D> =D>

Es funktioniert \:D/ \:D/ \:D/
Nach dem ich den LPT-Port auch noch abgeschoßen habe(Reset immer 0V), musse ich nochmal suchen, bis ich bemerkt habe, dass der in der hilfe angegebene "font8x8.font" in der Version anderst heißt, nämlich "smallfont8x8.font".
Vielenvielen dank!

MfG bauteiltöter

Edit: Ich sehe grade, dass es den "font8x8.font" doch gibt... jetzt muss ich nurnoch rausfinden, was der unterschied ist...

Edit2: Ich glaube, der smallfont it einfch nur kleiner. ich habe jetzt den Font8x8 eingebunden, und es gibt keinen unterschied im schriftbild, nur die größe der datei hat sich verändert, und zwar enorm, über 1kB unterschied!

Edit3: So, jetzt reichts aber mit edits... ich habe rausgefunden, was der unterschied ist: Mit dem Smallfont kan man nur Zahlen anzeigen, buchstaben bringen nur Pixelmüll.

linux_80
09.08.2008, 12:21
Mahlzeit,
im Smallfont sind nicht alle Zeichen enthalten, nur Zahlen und ein paar passende Sonderzeichen dazu. Small bezieht sich auf die Dateigrösse.
Die grösse sollte ca. 8x8 Pixel sein.

Bauteiltöter
09.08.2008, 14:26
ja, ich habs herrausgefunden, siehe Edit3^^

MfG

linux_80
09.08.2008, 14:54
Kann das sein, dass der noch nicht da war als ich angefangen hab zu antworten :-k
;-)

Bauteiltöter
09.08.2008, 15:20
hm.. kann sein^^ :Ostern :-b

Edit: In der Hoffnung, das du diesen Post noch nicht gelesen hast:
wenn ich Lcdat 1 , 6 , "1" schreibe, wird die 1 in die erste zeile, erste spalte geschieben. wie kann das sein!?! wenn ich Lcdat 1 , 22 , "1" schreibe, kommt die 1 in etwa in die Mitte des displays. Wird da etwa in Pixeln gezählt??? aber warum schreibt dann lcdat 8,6,"1" die ienz in die erste spalte, letzte Zeile!?!

linux_80
09.08.2008, 23:31
Das mit den Koordinaten hat mich am Anfang auch gewundert.
Wenn man aber schaut wie das mit den Zeichen und dem Aufbau des Grafikspeichers hinhaut, wirds klarer.
In X-Richtung sind alle Pixel möglich, in Y-Richtung nur jedes 8. Pixel, weil nur ganze Zeilen angesprochen werden von der Bascom-Routine.
Eine Zeile ist ein Byte hoch, also 8 Pixel, genausogross wie ein Zeichen, es wird nur an die X-Pos das Zeichen kopiert.

Bauteiltöter
10.08.2008, 07:54
Ja, ok.

Vielen Dank nochmal!

MfG