Forum: Mikrocontroller und Digitale Elektronik Zeichen selbst generieren (CG Ram)


von Mark A. (Gast)


Lesenswert?

hi,

ich sollte wissen wie man selbst zeichen ins GC Ram schreibt
das es mit "gc ram set" funktionert.

Bekomm es aber nicht komplett programmiert.

Also controller wird der AT89S8252 verwendet und im assembler 
prgrammiert
Displaycontroller is der HD44780

kann mir jemand ein Beispiel generieren damit ich mir meine Zeichen 
selbst erstellen kann?

bedanke mich schonmal

von Uwe N. (ulegan)


Lesenswert?

Ein Beispielprogramm für deinen Controller hab ich nicht, aber das 
Prinzip ist einfach:
Du schreibst in das Command-Register 0x40 für das erste Zeichen (oder 
0x48 für das zweite usw.), das setzt sozusagen den Schreibzeiger ins 
CG-RAM. Direkt danach schreibst du in das Datenregister jeweils 8 Byte 
der Punktmatrix für dein Zeichen. Im ersten Byte die obere Zeile, im 
zweiten die zweite usw. Von jedem Byte werden nur die rechten 5 Bit 
benutzt. Der Schreibzeiger wird automatisch hochgezählt, wenn du mehrere 
Zeichen hintereinander definieren willst, musst du ihn nur an Anfang 
setzen.

von mr.chip (Gast)


Lesenswert?

Darf man rein interessehalber fragen, was ein CG-RAM ist? ;-)

von Werner B. (Gast)


Lesenswert?

CG-RAM steht für "Character Generator RAM". Darin wird das Punktmuster 
definiert das der Controller für den zugehörigen Zeichencode darstellt.


von Florian (Gast)


Lesenswert?

Wie wäre es mit dem richtigen Forum?
Im Beispiel von 
http://www.elektor.de/Default.aspx?tabid=28&year=2006&month=5&art=5550740&PN=On&SearchText= 
findest Du passenden Code.

von Joe (Gast)


Lesenswert?

Hier findest du unter Download, Punkt 5 einen Beispielcode. Die 
Ansteuerung des Display geschieht allerdings mit einem 4094 
Schieberegister. Anpassen sollte aber kein Problem sein.

http://reinerjansen.de/4flash/

von Mark A. (Gast)


Lesenswert?

Danke erstmal für die jeweiligen antworten!

Leider komme ich durchs elektor forum nich auf irgend eine hilfe etc.

Den unteren link kann ich zwar anklicken bekomm beim donwload aber immer 
eine fehlermeldung... kann ihn jemand für mich kopieren und hier 
einfügen als txt oder ganz normalen post?

von ??? (Gast)


Lesenswert?


von Mark (Gast)


Angehängte Dateien:

Lesenswert?

so hab mal meine A51 datei mit angehängt ich schaff es einfach nich ein 
zeichen zu generieren, tut mir leid bin blutiger anfänger

und auf der arbeit kann ich leider keine zip dateien downloaden deshalb 
bringen mir die links nichts :(


könnt ihr mir bei meinem prog helfen?

danke, wie immer, schon mal im voraus

von Karl heinz B. (kbucheg)


Lesenswert?

> tut mir leid bin blutiger anfänger

Das sieht man.
Was sollen denn die ganzen RET zwischen der Ausgabe
der Daten?

Ausserdem wird es dem LCD wohl nicht so gefallen, wenn du
ihm die Dtaen des neuen Zeichens als Befehle schickst.

Du schickst ihm 1 Befehl!
Nämlich den Befehl, dass du ein Zeichen definieren willst.
Dann schickst du ihm die Daten für dieses 1 Zeichen. Das
hat UWE aber vor 10 Tagen alles weiter oben schon beschrieben.


von Mark (Gast)


Lesenswert?

jeder hat mal klei nangefangen :P ^^

ok das mit den RET´s is mit grad auch aufgefallen hmm sagen wir mal
"no comment" ups

aber den reest versteh ich trotzdem nich so ganz... ich schick ihm den 
befehl:

mov   A,#0001000000b      ;CG RAM in schreibmodus bringen
lcall LCDbefehl      ;Befehl ausführen

so und wie sag ich ihm jetzt das die daten kommen ohne einen befehl 
auszuführen kopf kratz

von Karl heinz B. (kbucheg)


Lesenswert?

So wie du in der LCD-Library eine Funktion LCDbefehl
hast, wird es da wohl auch noch eine 2-te Funktion
geben. Geraten wird die wohl LCDdaten oder so ähnlich
heissen.

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.