www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik T6963C Versorgungspannung


Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mal eine Frage: Braucht man bei diesem Display (Anhang) bei der
Versorgungsspannung eine negative Spannung?
An PIN 2 und 3 kommt dann wohl Plus 5V und GND. Was kommt denn dann an
PIN 4 (Versorgung Display)? Was an PIN 1 (Frame Ground)?

Einmal steht bei Versorgungsspannung Display min. 8V an PIN 4. Mal aber
auch 0V bis 28V. Was gilt denn nun?
PIN 4 (Power Supply for LCD (-!!!), aber trotzdem pos.
Versorgungsspannung (8V bis 17V)??


Danke schon mal!

Autor: Kai M. Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne das Display zwar nicht, aber bei ein paar Sachen kann ich Dir
weiterhelfen:

1. Ich nehme mal an, daß FG (frame ground) ein Masseanschluß für den
Rahmen des Displays ist. Das kannst Du ja mal mit einem Multimeter
überprüfen (Rahmen gegen Frame Ground mit einem Durchgangsprüfer
messen)

2. die 0-28 V beziehen sich nicht auf EINE Versorgungsspannung, sondern
auf die Differenz zwischen der positiven (Vdd) und negativen (Vee)
Versorgungsspannung. Das steht auch jeweils in der linken Spalte der
Tabelle: Vdd minus Vee.

3. Pin 4 (negative Versorgungsspannung): auch hier ist in der Tabelle
nicht der absolute Wert angegeben, sondern die Differenz zu Vdd, die
8-17 V betragen darf.

4. Das Display braucht eine negative Versorgungsspannung an Vee. Ich
würde folgende Konfiguration vorschlagen:

Vdd = +5V
Vss = 0V
Vee = -5V

Damit ist Vdd-Vee=10 V

Ich hoffe, das hilft Dir weiter.
Viele Grüße
Kai Markus

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann brauche ich noch einen DC/DC Wandler für die neg. 5V. Was wäre da
sinnvoll?

Und muss man auf das Zuschalten der neg. Spannung achten?
Man ließt ja oft, dass man sich das Display zerstören kann, wenn man
die neg. Spannung zu früh anlegt, bzw. bei einem Reset nicht
abtrennt???

Autor: Jens Renner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Als DC-DC-Wandler wird oft der MC34063A angegeben (z.B. bei Reichelt zu
bekommen). Per Widerstandsverhältnis lässt sich die gewünschte
Ausgangsspannung einstellen.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conrad führt doch Wandler, die +/- 5V ausgeben, wenn 5V angelegt werden
(Seite 972, Best.Nr. 140740).
Ausgangsstrom: 2*100mA.
Frage: Ist das genug für das Grafik-Display?

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens habe ich mal den MAX232 zweckentfremdet, weil der auch eine
negative Spannung generiert, aber einfacher zu beschalten war (nur ein
paar Kondensatoren).
Sollte gehen, sofern -10V bei kleinem Strom ausreichen (um genau zu
sein: -9V bei 0mA und -6V bei 30mA Belastung).

An meinem T6963C (240x64) jedenfalls funktioniert diese Lösung.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr interessant!

Ich habe eben mal den Hersteller meines Displays im Internet besucht.
Der Hersteller gibt eine Versorgungsspannungsbreite (von VDD-VEE) von
mind. 11,9V an. Die Firma, über die ich das Display erhalten habe, gibt
aber VDD-VEE mit mind. 8V an.
Was gilt denn nun?
Wenn ich +/- 5V nehme, habe ich VDD-VEE: 10V. Laut Hersteller wäre das
ja zuwenig!

Welche Methoden benutzt ihr denn, um die neg. Spannung bereitzustellen
und wie groß ist diese bei euch?


mfg   Wolfram Hildebrandt

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ah ja. Noch die Screenshots der beiden Datenblätter.


Oder kann man 8V VDD-VEE nur bei minus 20°C (!!) benutzen? (vgl.
unteres Datenblatt von der Vertreiberfirma)

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiß, benötigen Displays mit erweitertem Temperaturbereich
eine negativere Kontrastspannung (d.h. die Standardtypen könnten auch
mit betraglich weniger auskommen).

Außerdem dürften das Maximalwerte sein; man kann die Kontrastspannung
ja per Poti regeln. Bei mir sind die -10V schon etwas zu negativ, -6V
oder -7V Vee gehen gut.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind leider aber die Minimalwerte.

Dann müsste ich ja mind. -7V VSS-VEE haben. Plus +5V VDD macht dann
12V VDD-EE.

Aber wieso reicht denn der extrem schwache Strom des Max232?? Oder ist
das nur eine Notlösung?

Und um die -10V zu -7V zu regeln, müsste man doch den Poti zwischen 0V
und -10V legen. ((?)).




mfg   Wolfram Hildebrandt

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann nur für mich sprechen, bei mir funktioniert die Lösung mit dem
MAX232. Ich habe für mein Display keine Angaben bzgl. der
Kontrastspannung, ich habe es einfach drauf ankommen lassen.

Sicher, das IC liefert nur wenig Strom, aber für die Kontrastregelung
benötigt man sicher nicht sehr viel. In deinem Datenblatt steht etwas
von Iee = 2mA bei -15V (steigert sich natürlich für weniger negative
Spannungen). Aber mehr als 20mA für den blöden Kontrast stelle ich mir
schon zu viel vor.

Mein Poti liegt zw. GND und VEE, das ist richtig. Vielleicht sollte man
darauf achten, dass das Poti keinen zu geringen Widerstand hat (darüber
fließt ja auch noch Strom).

Jens

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist denn die neg. Spannung nur für den Kontrast notwendig?
Kann man also, wenn man die neg. Spannung per Poti ändert, den Kontrast
einstellen?

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, davon gehe ich aus. Zumindest habe ich das bisher so gelesen, bzw.
ich kann sonst keine andere Auswirkung auf mein Display feststellen.

Zur Not kannst Du Dir auch eine mehrstufige Ladungspumpe selbst bauen.
Ist halt nicht so effektiv und elegant, aber zum Testen okay...

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den Conrad Datenblättern ist auch 12V VDD-VEE angeben.

Ich versuchs mal mit -7V per Poti und Max232, +5V für die
Logikschaltung.

Jetzt muss ich aber erstmal den Quellcode schreiben.


Soweit schon mal danke für die Infos!!

Autor: Peter Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Negative Spannung kannst du auch mit einer einfachen Ladungspumpe
erzeugen. 2 Elkos, 2 Dioden und einen Takt den du mit dem µC erzeugen
kannst.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da fällt mir noch etwas ein.

Ich habe mal gelesen, dass die neg. Spannung nicht immer angelegt sein
darf. Z.B. nach dem Reset muss man etwas warten, bis die neg. Spannung
angelegt werden darf, da sonst das Display mit der Zeit Schaden nehmen
würde. Hat irgendwas damit zu tun, dass dann einzelne  Pixel nicht mehr
auszuschalten sind, wg. irgendeiner kurz auftretenden Gleichspannung???


Muss ich darauf achten, oder macht das mein Display selbst??

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Legt ihr denn permanent die neg. Spannung an das Display?

Dann noch was anderes.
Folgendes soll man bei der Initialisierung machen:

Power ON
Reset=L
100µs warten
Reset=H
FS (Fontselect)=L
Reset=L
dann noch Mode, Grafik u.Text Home, Grafik u. Text Spalten,
Cursoreinstellungen, Adress Pointer auf Null.

Das Ende ist ja sehr sinnvoll, aber warum soll man denn den FS-Pin erst
nach nach einem Reset auf L setzen?
Und wenn man dann als letztes mit Reset=L aufhört, ist doch das Display
andauernd im Reset-Zustand? Da kann doch was nicht stimmen??

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles, was Du bzgl. Reset und Font Select geschrieben hast, habe ich
hardwaremäßig gelöst. Reset hängt an dem des µC, und Font Select ist
bei mir hard-wired auf 6x8.
Alles andere initialisiere ich per Software.

Die negative Kontrastspannung sollte schon dauerhaft anliegen,
ansonsten bekommt man ja kein Bild angezeigt. Über Beschädigungen habe
ich jedoch noch nichts gelesen.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Ich möchte den Reset auch per µC (ca. 10µs) steuern. Der µC zieht
den Reset-Pin auf Masse, im Normalbetrieb ist der µC-Pin auf Eingang,
da der T6963C einen internen Pullup-Wid. hat.

PIN 1 an meinem Display ist der Frameground. Wofür ist der wichtig?
brauche in den überhaupt?

DIe Software habe ich jetzt fertig und alles verdrahtet, aber ich finde
den Max232 momentan nicht mehr. Kaufe mir morgen einen neuen.
Kann man die neg.Spannung provisorisch auch anderes herstellen?
Ich möchte gerne heute wissen, ob das Display und die Software
funktionsfähig ist.


mfg   Wolfram Hildebrandt

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwar jetzt eine neg. Spannung von ca. -6V, aber sobald ich das
Display daran anschließe, stehen anstatt -6V nur noch +1,2V an.

Das Display macht nichts. Wenn ich z.B. ohne neg. Spannung das Display
einschalten würde, müsste dieses dann irgendetwas anzeigen?

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bzgl. der negativen Spannung muss ich korrigieren, dass ich ca. -8,5
Volt benötige, anonsten bricht sie mir komplett zusammen (dann bekomme
ich auch so einen Wert angezeigt wie Du). Verwende aber weiterhin den
MAX232.

Provisorisch kannst Du aus Dioden und Elkos eine Ladungspumpe bauen
(oder englisch "charge pump").

Vor der Initialisierung zeigt mein Display nichts an, lediglich einen
waagerechten schwarzen Balken bei jedem Reset (mein Reset hängt
übrigens am Reset-Pin des µC). Wenn die Kontrastspannugn negativ genug
ist, färben sich alle Pixel dunkel.

Den Frame-GND habe ich nicht angeschlossen, der bezieht sich ja nur auf
den Metall-Rahmen.

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Den Max232 habe ich jetzt angehängt. -7V stehen dann an PIN 4 des
Displays zur Verfügung.
Alle pixel sind ausgefüllt. ist das etwa so, dass nach den Reset der
ganze Disyplay-RAM auf 1 ist? Muss ich jetzt etwa den ganzen RAM auf
Null setzten?
Laut Software sollte sollte aber der Cursor blinken. Text oder Grafik
habe ich noch nicht eingeben. Nur... man sieht natürlich nichts von
Cursor.

Hab' die Software mal in den Anhang gehängt. Ist für den PIC16F84A.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(ein Fehler: bei Statusabfrage nicht korrekt auf EIN-u.Ausgang
geschaltet (PORTB anstatt TRISB beschreiben)). Display bleibt aber
immer noch dunkel.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn alle Pixel dunkel sind, dann ist lediglich der Kontrast zu hoch
:-)
Nach der Initialisierung sollte lauter Müll auf dem Display angezeigt
werden (tut's bei mir und anderen wohl auch). Daher sollte man den
Speicher per Software komplett löschen.

Scheinbar hat Deine Initialisierung noch nicht hingehauen.
Interessanterweise konnte ich bereits Texte etc. ausgeben, jedoch hat
er am nächsten Morgen nicht mehr initialisiert, obwohl ich den Code
nicht geändert habe. Sehr seltsam... muss ich nochmal genauer
untersuchen.

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Software jetzt auf den PIC16F876 umgeschrieben.

Die freien verfügbaren Ports habe ich jetzt für Breakpoints benutzt.
Einer dieser Breakpoints zeigt an, dass der Status-Read funktioniert.
Nur dann, wenn STA0 und STA1 H sind, wird der Brealpoint ausgelöst.
Das Lesen vom Display funkitioniert also.

Den Reset-Pin habe ich jetzt auch mit dem µC-MCLR-PIN gekoppelt.
Mit 10µF Elko, 10k Wid. und Diode langer Reset ausgeführt.

Der erfolgreiche Statusread zeigt ja an, dass alle Steuerleitungen und
Datenleitungen richtig beschaltet sind.

Was kann ich noch ausprobieren, wo könnte der Fehler liegen?

Software ist im Anhang.

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein Fehler in der Software beseitugt. Der Status-Read funktionierte
nur teilweise.
Die Schleife ging nur um die Ausweetung und nicht um die erneute
Einlesung des Statusbytes vom Display.

Das Display zeigt manchmal den noch nicht gelöschten RAM auf dem
Display an. Vielleicht funktioniert die Initialisierung. Man weiss es
noch nicht.

Wie kann ich denn z.B. ein "A" im linken obenren Ende darstellen?
Den Code aus der tabelle (1 Byte) als 1Daten-Befehl senden und vorher
den Adresszähler des int. Display-RAM auf Adresse Null setzen?

Autor: Jens Renner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Um ein ASCII-Zeichen an dieser Stelle zu platzieren, muss man erst den
Adresspointer auf den Anfang des Speicherbereichs setzen, und dann das
Zeichen abzüglich 0x20 als Daten in den Displaybuffer senden.

Danach kann man das Kommando zum Schreiben mit Postinkrement (0xc0,
glaube ich) geben.

Meine Routinen funktionieren mittlerweile ausgezeichnet, wenngleich
noch welche fehlen wie beispielsweise zum Positionieren des Cursors.
Dafür habe ich mal provisorisch eine Bitmap-Anzeige implementiert.

Autor: Jens Renner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier mal ein angezeigtes Bitmap (sieht in Wirklichkeit etwas
pixelgier aus).

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Kursor sollte eigentlich blinken. Das müsste er nach erfolgreicher
Init. auch tun, oder nicht?

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur, wenn Du es so initialisiert hast (die beiden niederwertigsten Bits
im SET MODE Kommando müssen gesetzt sein.)

Also z.B. Kommando 0b10010111 (Textmodus und blinkender Cursor).

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schreib mal auf, was ich mache:

CMD 0x80: OR Mode int. CGRAM
Data1: 0xFF, Data2: 0x03, CMD 0x42, Grafik Home 0x03FF
Data1: 0x00, Data2: 0x00, CMD 0x40, Text Home 0x0000
Data1: 0x1E, Data2: 0x00, CMD 0x43, 30 Spalten (8er Font, 240Pixel
Display)
Data1: 0x1E, Data2: 0x00, CMD 0x41, 30 Textspalten
CMD 0xA1, zwei zeiliger Cursor
CMD B'10011111', Grafik an, Text an, Cursor an, Cursor blink an
Data1: 0x00, Data2: 0x00, CMD 0x21, Cursor auf Adresse 0x00
Data1: 0x00, Data2: 0x00, CMD 0x24, Address Pointer auf 0x00

Das Offset-Dings habe ich noch eingestellt. Wird aber noch nicht
benutzt.

Der PIC zeigt mir über eine led an, dass die Init. noch läuft. Das
dauert schon sehr unterschiedlich lange. Mal steht irgendwas im
Bildschrim, oft aber gar nichts.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht soweit nicht verkehrt aus, was die Werte anbetrifft.
Falls Deine Initialisierung nicht immer zuverlässig funktioniert, liegt
es evtl. an den Lese- und Schreib-Routinen.

Es sollte schon nach jeder Initialisierung Müll angezeigt werden. Dann
weiß man, dass es geklappt hat.
Übrigens würde ich für GRAPHICS HOME evtl. einen geraden Wert nehmen,
sowas wie 0x0200. Da passen dann immer noch 512 Bytes für den Text
davor, und 480 Byte benötigst Du maximal bei 8x8 Fonts.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens, ich sehe gerade... Deine Schreib- und Leseroutinen scheinen
mir nicht ganz in Ordnung zu sein.

Ich würde "chip enable" erst nach den read-/write-strobes und nach
der command-/data-Wahl aktivieren (also auf low setzen).
Außerdem würde ich beim Lesen des Status die internen Pull-Ups
aktivieren.
Solche Sachen sind mir auch erst zum Verhängnis geworden. Schau ggf.
mal in meinen Code rein.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum denn pullups an. liegt denn nicht immer ein signal auf den
datenleitungen beim statusread?

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die pullups aheb ich eingeschaltet und die enable leitung zuletzt auf L
gelegt.

Meist sieht man aber nur mitteldunkle Pixel im ganzen Feld.
Z.T. werden einige Pixel richtig eingeschaltet. Gahen dann zum Ende der
Init. aber wieder oft verloren.
Jetzt habe ich z.t. die ganz dunkeln Pixel, die während der Init.
auftreten aber noch in mittel dunkler Fabre auf dem Display. der rest
ist dann ganz aus.

Es gibt also mehrere Zustände:
ganz aus, keine Pixel, im Auszustand (kein VDD, VEE, GND)
mitteldunkle Pixel, wenn nur neg. Spannung anliegt, bzw. meist bei
Init.
dunkle Pixel während Init., bleiben selten bis nach Init. erhalten,
meist wieder mitteldunkle Pixel am ende
dunkle Pixel in Init., danach werden manche Pixel ganz ausgeschaltet,
als wenn ich gar nicht an Spannung anlege.

neg. Sapnnung liegt bei -6 bis -7V. Ein Max232 funktioniert plötzlich
nicht mehr. Neg. Spannung zu klein, bzw. zieht das Display zu viel
Strom daraus?

Reset des Dsiplays liegt mit 10µ Elko an Masse, Plus per 10k Pullup mit
Diode parallel. Lange genug? ich habe den Reset manuell auch schon auf
ca. 1-2s auf masse gehalten. aber keine positive wirkung.

Mich wundert doch sehr, dass ich so viele versch. Ergebnisse erhalte.
Es wird ja nichts geändert.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den Pull-Ups meine ich mal wo gelesen zu haben. Schaden kann's
auf jeden Fall nicht.

Diese Initialisierungsprobleme hatte ich anfangs auch, mittlerweile
haut's aber immer in. Nichts zu tun damit hat die Kontrastspannung;
sofern sich das Display nach dem Reset dunkel färbt, ist damit alles in
Ordnung.

Vielleicht postest Du nochmal Deinen aktuellen Code, vielleicht fällt
mir noch etwas auf.

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Quellcode

Autor: Jens Renner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sieht eigentlich richtig aus, sofern ich den PIC-Assembler durchschaue.
Allerdings würde ich Chip Enable auch beim Lesen erst dann auf low
setzen, wenn die anderen Leitungen definierte Zustände haben (und nach
dem Lesen als erstes auch wieder deaktivieren).
Das empfiehlt zumindest auch der Autor des angehängten Dokuments, an
dem ich mich orientiert habe.

Vielleicht baust Du an kritischen Stellen im Programm mal
Unterbrechungen ein und misst dann die Port-Pins durch.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
hatte letztes Jahr ähnliches Problem und die Lösung dann hier
geposted.
Grafik-LCD bei Conrad gekauft, mit Hintergrundbeleuchtung
(Hochspannung).
Für die negative Kontrastspannung habe ich die Schaltung aus der
Elektor
verwendet (2 mal 7660), machte ca. -11V. Nach seeeehr langem Suchen
habe
ich in der Abenddämmerung und bei noch nicht eingeschalteter
Raumbeleuchtung gesehen, daß sehr wohl etwas auf dem Display
abgebildet
wurde. Also: Kontrastspannung zu niedrig!!!!
DC/DC-Converter gekauft, 5V nach 15V, +15V an Masse, Masse der 15V an
Poti, anderes Ende vom Poti an Masse, Schleifer vom Poti = negative
Kontrastspannung. Bester Kontrast bei ca. -13.5V gegen Masse.

Vor dem Kauf eines DC/DC-Wandlers am besten mit einem regelbaren
Labor-
netzteil ausprobieren, ob es wirklich daran liegt.

Tommy

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Tommy: Ich glaube fast, dass meine -7V schon zu negativ sind.
Wenn die Pixel durch Zufall eingeschaltet sind, sind diese extrem
dunkel.
Mich wunderte nur, dass es drei mögliche Zustände der Pixel gab: ganz
dunkel (eingeschaltet), mittel (standby, normalzustand, aber Kontrast
wohl zu hoch) und noch ganz aus.

Die Initial. dürfte das aber doch nicht beeinflussen (?).

@ Jens: Ich habe vier Port-Pins als breakpoints benutzt. Nur wenn alle
Befehle ausgeben wurden und der Status-Read STA0 und STA1 gleich H
liefert, werden alle Ports auf H geschaltet.
Früher oder später sind dann auch alle Breakpoints auf H. Der
Statsuread sollte also eigentlich funktionieren.
Was ich nicht begreife ist, warum nur hin und wieder irgendwelche Pixel
im Display stehen bleiben. Der Cursor blinkt auch nicht. Es sollten
aber doch alle Befehle durchgekommen sein, wg.
"Breakpoint-Port-Test". Zumindest bestätigt das Display Bereitschaft.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Kontrast ist wohl in Ordnung, das zeigt sich auch daran, dass
einzlene Pixel durchaus gut zu sehen sind, und bei zu hoher Einstellung
das Display sich dunkel färbt.

Bist Du sicher, dass das Einlesen des Statusbytes mit PORTB in Ordnung
ist? Ich kenne das nur vom AVR, und dort muss man PINB verwenden.
Leider kenne ich mich mit PICs nicht aus.

Zur Not musst Du mal ein Delay (1 Sekunde, oder so) in die Routine
einbauen und dann mit dem Oszi oder Multimeter nachmessen, was an den
Pins tatsächlich anliegt.

Und stell vielleicht sicher, dass per Software ein sauberer Reset
gemacht wird (d.h. Pin high, 100ms warten, Pin low, 100ms warten, Pin
high). Unter Umständen ist der µC beim Start schneller als das
Display.
Habe sonst wirklich keine Erklärung für das Problem.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja wie? Reicht denn nicht ein normaler reset, pin einmal auf L???
Das macht nämlich meine Schaltung. Nur einmal auf L ziehen.
In einem meiner Datenbläteer steh was von reset=L, 100us warten,
reset=H, Font select=L, reset=L.


Das Display habe ich per Software aus dem internet am paralleport
ausprobiert. das funkitioniert damit schon mal.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nach Resetänderung hängt der PIC im Status-Read fest und kommt nicht
mehr aus der Schleife.

Wenn ich direkt von Anfang an zur statusabfrage springe, und nach den
setzten der Write und C/D-Leitung und löschen der RD und CE-Leitung,
diese Pins selbst noch mal teste, sind diese alle auf L (!); (danach
kommt eine endlosSchleife)
Die Pins werden aber nicht geändert! zwei müssten somit H sein, und 2
L. sind sie aber nicht!
An Display stehen dann B'00101011'. Nehme ich die Endlosschleife
heraus, so soll, wenn die beiden gelesenen minderwertigsten Bits H
sind, die Abfrageschleife übersprungen werden. Die Bits 0 und 1 sind
wohl H. Zumindest wenn man sie nachmisst (vgl. Endlosschleife). Aber
die Schleife wird nicht verlassen.
Also, Port-Pins des µC ändern sich ohne dass es befohlen wird und das
was dann am Display ansteht, wird nicht anerkannt.
PIC defekt?

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PIC ist wirklich defekt. Ich habe jetzt nur den PORTA bedient. Alle
Pins ein. Ohne alles andere. Tut sich nichts mehr in RA0, RA2 und RA3.
Nur RA1 geh auf H.

Bidde ma neuen kaufen.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hilft die beste Software nix. :-)
Also neuen Controller kaufen. Wäre mal interessant zu wissen, warum der
sich verabschiedet hat.

Und sag mal Bescheid, wenn das Display läuft.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Das Display funktioniert momentan im Textbetrieb.
Folgendes habe ich falsch gemacht:
1. C/D bei Kommando und Daten gleich gelassen. Den Quellcode habe ich
einfach vom "1 Kommando ohen Daten-Befehl" kopiert und dann nicht
weit genug geändert.
2. Meinen zweiten PIC 16F876 habe ich auch direkt abgeschossen. Problem
war, dass ich oft zwischen zwei PICs gewechselt habe. Beim PIC 16f84
fängt der freie RAM ab einer kleineren Adresse an (0x0C). Beim PIC
16f876 stehen an dieser Adresse noch Special Function Register. Ich
habe also noch den alten Code vom 16F84 genommen, habe aber für den
16F876 die Einträge nicht geändert. D.h. ich habe gar nicht in freies
RAM, sondern in irgedwelche Special Function Register geschrieben.
PORTA,0, 2 und 3 sind zerstört.

Die Fehler habe ich jetzt behoben.
Den Text-und Grafik-RAM habe ich erfolgreich gelöscht.
Die Textausgabe funktioniert. Nur der Grafikteil läuft noch nicht.
Ich habe den Grafik Bereich auf Adresse 0x13FF folgend gesetzt.
30 Grafikspalten, OR Mode, int CG RAM.
Wenn ich den Adresspointer auf Adresse 0x1401 setzte und z.B.
B'01010101' schreibe, sehe ich im Display nichts.

Wo kann der Fehler liegen??


mfg   Wolfram Hildebrandt

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ja etwas merkwürdig ist: Wenn ich den OR-Mode einschalte, ist das
Display voll mit eingeschlateten Pixeln. das soll ja auch bei
ungeschlöschtem Grafik-RAM so sein. Wenn ich ab der Adresse 0x1300 den
Grafik Bereich mit B'00000000' beschreibe, ist das Display auch
wirklich gelöscht. So soll es ja auch sein. Aber wenn ich dann Pixel
einschalten will, z.B. B'01010101' (ein Pixel an, eins aus usw.) dann
sehe ich nichts im Display.

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab' den Befehlsteil, welcher den Adress Pointer setzt, einfach mal
erneuert. Nach dem ersetzen läuft das Display jetzt mit Text und
Grafik.
Ausgezeichnet!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.