Geschätztes Forum, dies ist eine Bitte um Hilfe. Thema: LCD DOGM162W-A CGRAM Schreiben und Lesen. Mittels eines LCD DOGM162W-A, eines ATMEGA8A und einiger weiterer Peripherie habe ich mir ein kleines DVM gebastelt. (Ich weiß natürlich, dass auch das billigste Gerät von CONRAD viel mehr kann, es dient mir zum Erlernen von Assembler). Das Gerät stelle ich im Forum Projekte & Code unter "DVM mit DOGM162W-A, ATMEGA8A, ASM" vor (mit vollständigem Programm). Dort ist die Bitte um Hilfe unerwünscht. Das Gerät soll in LCD_line2 so etwas wie eine Quasi-Analog-Anzeige aus 0 bis 80 "Balken" darstellen (16 Zeichen zu je 5 Spalten). Und das mit Hilfe von 6 der 8 CGRAM-Plätzen. Bei einem Versuchsaufbau mit dem LCD CP594V-0 ist das auch problemlos gelungen, mit dem DOGM162W-A jedoch nicht, und das, obwohl ich das Datenblatt des Controllers ST7036 schon praktisch auswendig kann. Irgendwo hakt es offenbar bei mir. Das Programm im Directory "DOGM162W-A CGRAM Assembler Programm" ist von allem befreit, was nicht unbedingt zur Problemlösung nötig ist. Vom Schaltplan "1. Entire Diagram.pdf" würde das Programm nur das LCD, den Mikroprozessor und die +5V Spannungsversorgung benötigen, um zu funktionieren. Damit ein freundlicher Mensch, der mir helfen will, möglichst wenig Arbeit hat, befindet sich das Programm-Listing in der Datei <ASM Programm.pdf>. Soll-Funktionen des Programms: Beschreiben von 6 der 8 CGRAMs mit den Inhalten entsprechend der Datei "5. LCD_line2.pdf". Lesen der Inhalte von CGRAM #0 bis CGRAM #5 und deren Anzeige in LCD_line2. Anzeigen der Ziffern '0' bis '3' in LCD_line2 (Funktionskontrolle). Jedes Zeichen wird ca. 2 Sekunden lang angezeigt. Nach der Anzeige der Ziffer '3' beginnt es wieder mit CGRAM #0. Alles, was mir zu dem Problem eingefallen ist, habe ich ohne Erfolg ausprobiert. Irgendwelche Vermutungen möchte ich deshalb hier nicht vorbringen. Das Internet habe ich stundenlang durchsucht, ebenso ohne Erfolg. Es ist aber möglich, dass Lösungen bei SPI-Verdrahtung und/oder in der Programmiersprache C zu finden sind. Mit beiden Themen möchte ich mich im Moment aber (noch) nicht beschäftigen. Für Hilfe zur Lösung meines Problems wäre ich mehr als dankbar. Beste Grüße Klaus
Mein Bargraph-Rezept entspricht zwar nicht exakt deinem Problem, aber vielleicht hilft es trotzdem: Beitrag "Kontinuierlicher Bargraph auf x-Zeichen LCDs" (eigener Thread, damit es bei der Suche nach Bargraph leichter gefunden wird)
Klaus D. schrieb: > Damit ein freundlicher Mensch, der mir helfen will, möglichst wenig > Arbeit hat, befindet sich das Programm-Listing in der Datei <ASM > Programm.pdf>. Warum hast du nicht einfach die .ASM Datei hier angehängt? Und dann einfach noch die Bildformate beachten. Es muss nicht alles mit Gewalt in ein PDF gezwängt werden... > Soll-Funktionen des Programms: Und was tut das Programm stattdessen? Was ist der Fehler?
Hallo geschätztes Forum, hier erst noch mal der Link zum eigentlichen Projekt: Beitrag "DVM mit DOGM162W-A, ATMEGA8A, AVRASM" ------------------------------------------------------------------------ Hallo :-), herzlichen Dank für Deine Antwort. Die Lücke nach je 5 Bars ist tatsächlich hässlich. Das ist ja auch deutlich in dem Bild DSC22492.pdf zu sehen. Leider hilft mir Deine Antwort nicht beim eigentlichen Problem: Beim LCD mit dem Controller HD44780 habe ich kein Problem, Daten in die Zellen des CGRAM zu schreiben und von dort zu lesen. Beim LCD mit dem Controller ST7036 schaffe ich das aber nicht. Die Beiträge in Deinem Link habe ich nach einer möglichen Problemlösung durchsucht, leider auch ohne Erfolg. Erstaunt war ich bei manchen dieser Beiträge darüber, wie unsachlich sie doch sein können. Ich glaube, man hat keine Wahl, als so etwas einfach zu ignorieren. Nochmals vielen Dank für die sehr sinnvolle Problemlösung zu den Lücken im Bargraph. So werde ich es sicher auch machen sobald ich es kann. Übrigens: Den Ausdruck "Bargraph" habe ich soeben von Dir gelernt. ------------------------------------------------------------------------ Hallo Lothar Müller, besten Dank auch für Deinen Beitrag. 1. ASM Datei: Die ASM-Datei befindet sich innerhalb der Datei DVM_CGRAM_zip, so wie alle anderen Dateien, welche zu diesem Studio 4 Projekt gehören. Damit sich ein hilfsbereiter Mensch nicht damit abplagen muß, sie in z.B. Studio 4 zu öffnen, habe ich sie zusätzlich mittels Notepad++ zur Datei "ASM Programm.pdf" gemacht. Die lässt sich sehr angenehm lesen. 2. Bildformate: Lt. den drei Zeilen unter "Weitere Dateien anhängen" soll JPG nur für Fotos und Scans verwendet werden, PNG und GIF für Zeichnungen und Screenshots. Ich habe soeben das Sony-Camera-Foto DSC22637.JPG in ACDSee 3 Pro geöffnet und dann zu folgenden Dateien konvertiert: DSC22637.JPG 2.992 KB (Originalgröße) DSC22637.PNG 5.616 KB DSC22637.GIF 2.834 KB DSC22637.PDF 85 KB Die (erlaubte) JPG-Datei ist somit 35,2 mal so groß wie die (nicht explizit verbotene) PDF-Datei. Aus meiner Sicht glaubte ich, etwas Sinnvolles getan zu haben. Wenn dem nicht so ist, dann wäre ich für entsprechende Hinweise wirklich sehr dankbar. Mit den besten Grüßen Klaus
Hallo Lothar Miller, zunächst bitte ich Dich höflich um Verzeihung. Ich habe Dienen Namen falsch geschrieben im vorherigen Beitrag. Das was jetzt kommt, gehört nicht zum Thema: Als Moderator kannst Du mir hoffentlich einen Rat geben, wie ich die heute nicht mehr gültige E-Mail Adresse los werde, mit der ich noch bei www.mikrocontroller.net angemeldet bin und wie ich sie abändern kann in die gültige. Besten Dank für Deine freundliche Hilfe. Grüße Klaus
Hallo Lothar Miller, das Folgende gehört wieder zu Thema. Ich hatte Deine letzte Frage noch nicht beantwortet: >> Soll-Funktionen des Programms: > Und was tut das Programm stattdessen? Was ist der Fehler? Das Bild "5. LCD_line2.pdf" zeigt, mit welchen Zeichen 6 der 8 CDRAM-Plätze beschrieben werden sollen. Nach dem Beschreiben sollen sie nacheinander in LCD_line2 angezeigt werden und zwar im Feld ganz rechts zwischen den ' '. Danach werden noch die Zeichen CHR(048)='0' bis CHR(051)='3' angezeigt, was aber nur zur Kontrolle der Funktion des Programms dient. Jedes Zeichen wird ca. 2 Sekunden lang angezeigt. Bei Verwendung eines LCD mit dem Controller HD44780 stehen die 8 CGRAM-Zeichen in den Plätzen CHR(000) bis CHR(007). Bei einem LCD mit dem Controller ST7036 ist das evtl. anders oder ich muß amders schreiben oder anders lesen. Genau das gelingt mir nicht. Das Bild DSC22636.pdf zeigt als Beispiel, dass das Feld zwischen den ' ' leer bleibt bei Anzeige des CHR(003). Das CGRAM-Field #3 ist scheinbar leer. Bei CHR(050) = '2' funktioniert die Sache aber korrekt wie das Bild DSC22367.pdf beispielhaft zeigt. Das Programm funktioniert somit zumindest grundsätzlich. Meine Folgerungen daraus betr. Controller ST7036: 1. Die CDRAM-Zeichen stehen evtl. woanders als beim HD44780 2. Meine Schreib-Routine ab Label CGRam: ist evtl. falsch. Beim HD44780 funktioniert sie aber. 3. Meine Lese-Routine ab Label Loop1: ist evtl. falsch. Beim HD44780 funktioniert sie aber. 4. Ich mache einen Fehler von dem ich noch keine Vorstellung habe. Falls Du eine Lösung für mein Problem kennst wäre ich für die Information wirklich sehr dankbar. Genau so dankbar bin ich aber, wenn Du keine kennst, jedoch Zeit und Mühe in die Lektüre meiner Probleme steckst. Beste Grüße Klaus
Klaus D. schrieb: > Bei Verwendung eines LCD mit dem Controller HD44780 stehen die 8 > CGRAM-Zeichen in den Plätzen CHR(000) bis CHR(007). Bei einem LCD mit > dem Controller ST7036 ist das evtl. anders oder ich muß amders schreiben > oder anders lesen. Genau das gelingt mir nicht. Das allgemeine Schreiben funktioniert ja, also muß man sich auf die Unterschiede konzentrieren und das Datenblatt intensiv lesen. Zu ST7036 habe ich das hier gefunden: http://www.lcd-module.de/eng/pdf/zubehoer/st7036.pdf Dort steht auf Seite 23, wie und wann CGRAM bzw CGROM verwendet wird. Wie ist bei Deinem Display OPR1 und OPR2 beschaltet? Außerdem würde ich mal prüfen ob die Befehle von Seite 26 in Deinem Code richtig umgesetzt werden.
Hallo Frank, vielen Dank für Deinen Hinweis. Er ist absolut berechtigt. Beim Controller ST7036 handelt es sich um ein "Chip On Glass" IC. Viele der Anschlüsse und Funktionen sind, wenn es erst mal verbaut ist, dem Anwender des LCD nicht zugänglich. Sie werden vom Hersteller des LCD festgelegt. Bei OPR1 und OPR2 handelt es sich um derlei Anschlüsse. Ich kann sie also nicht direkt z.B. mit einem DVM messen. Ich kann sie auch per Programm nicht ändern. Mein LCD ist das DOGM162W-A. Dessen Datenblatt "dog-m.pdf" hänge ich diesem Beitrag an. Auf Seite 5 ist der Zeichensatz dargestellt. Wenn man diesen mit dem Datenblatt des ST7036, Seite 23 vergleicht, dann kommt man zu dem Schluß, das OPR1=1 und OPR2=0 sein muß. In beiden Fällen scheint klar zu sein, dass das CGRAM die Plätze CHR(000) bis CHR(007) belegt, genau wie beim Controller HD44780. Die zu diesem Thema gehörenden Instructions, Seite 26 des ST7036 Datenblatts, sind auch dieselben wie die vom HD44780. Beide Datenblätter kann ich fast auswendig herbeten, so oft habe ich sie gelesen. Ich vermute, dass ich trotzdem irgendwas übersehe, einfach weil ich den "Wald vor lauter Bäumen" nicht mehr sehe. Allerbesten Dank für Deine Mühe. viele Grüße und schönes Wochenende Klaus
Klaus D. schrieb: > Auf Seite 5 ist der Zeichensatz dargestellt. Wenn man diesen mit dem > Datenblatt des ST7036, Seite 23 vergleicht, dann kommt man zu dem > Schluß, das OPR1=1 und OPR2=0 sein muß. Gut. Ich würde trotzdem nochmal prüfen, ob und wie die Zeichen chr(007) und chr(008) belegt sind. Damit sollte sich die Belegung von OPR1/2 genau ermitteln lassen. Frank
Heidewitzzka...krasser breadbordaufbau, Reschpekt. Wieso eigentlich zwingend ASM? Das ist ja nicht mehr sooo en vogue? Klaus.
Ich kann mich erinnern als vor Jahren die DOGM-LCDs auf den Markt kamen, daß die Compiler-Routinen für userdefinierte Zeichen nicht mehr funktionierten und hab mir selber was geschrieben. Leider nicht in Assembler. Soweit ich weiß verstellten die Original-Compilerroutinen den Kontrast des Displays.
1 | Procedure DOGM_CharSet(CNum,B0,B1,B2,B3,B4,B5,B6,B7:Byte); |
2 | Begin |
3 | LCDCtrl_M(LCD_m1,$40 or (CNum*8)); // CGRAM-Adress, ICON=Zeichen 0..7 |
4 | LCDOut_M(Char(B0)); // Bitmuster schreiben Adresse |
5 | LCDOut_M(Char(B1)); // Bitmuster schreiben Adresse+1 |
6 | LCDOut_M(Char(B2)); // Bitmuster schreiben Adresse+2 |
7 | LCDOut_M(Char(B3)); // Bitmuster schreiben Adresse+3 |
8 | LCDOut_M(Char(B4)); // Bitmuster schreiben Adresse+4 |
9 | LCDOut_M(Char(B5)); // Bitmuster schreiben Adresse+5 |
10 | LCDOut_M(Char(B6)); // Bitmuster schreiben Adresse+6 |
11 | LCDOut_M(Char(B7)); // Bitmuster schreiben Adresse+7 |
12 | End DOGM_CharSet; |
achja .... LCDCTRL = Befehl und LCDOut = Daten. Das "Char" weil der Befehl ein Char erwartet.
Hallo Frank Hallo Klaus R. Hallo Crazy H. zunächst meinen Dank für Eure Beiträge und die dafür aufgewendete Zeit und Mühe. ------------------------------------------------------------------------ @Frank Dein Vorschlag ist absolut sinnvoll. Als ich angefangen habe, nach dem Grund für mein Problem zu suchen, habe ich eine kleine Schleife geschrieben. Diese hat mir jeweils 1 Sekunde lang die Zeichen der Adressen 0 bis 255, also CHR(000) bis CHR(255), angezeigt. Wenn ich Deinen Vorschlag nicht falsch interpretiere, dann war das genau das, was ich tun soll. Ergebnis: ST7036 Datenblatt, Seiten 22 und 23: Es werden genau dieselben Zeichen angezeigt wie auf den beiden Bättern in der Version OPR1=1 und OPR2=0. Dies entspricht auch der Seite 5 des Datenblattes zum LCD DOGM162W-A. Die Zeichen an den Adressen 0 bis 7 sind leer, beim Zeichen 8 erscheint der kleine Pfeil nach links usw. ------------------------------------------------------------------------ @Klaus R. vielen Dank für das Lob. Der Aufbau auf einem Steckbrett hat aber deutliche Nachteile, zumindest dann, wenn man wie ich hier mit analogen Signalen geringer Voltzahl arbeitet. Die Überganswiderstände ändern sich ständig und man bekommt beim nächsten Versuch, das DVM zu kalibrieren, wieder völlig andere Werte. Bitte sieh Dir doch meinen Beitrag unter Beitrag "DVM mit DOGM162W-A, ATMEGA8A, AVRASM" an. Dort gibt es ein Bild von der (vorläufig) letzten Ausführung, gelötet auf 2 kleinen Lochrasterplatinen. Hier bleiben die Kalibrierwerte dauerhaft stabil (wenn man kalte Lötstellen vermeidet). Nun zu Assembler: Ich bin Rentner (76). Schon während meines Berufslebens hatte ich mir vorgenommen, mich damit zu beschäftigen. Es ist eins meiner Hobbys und macht mir einfach Spass. Das es recht ineffektiv ist, nehme ich deshalb sehr gerne in Kauf. ------------------------------------------------------------------------ @Crazy H. die Definition der LCD-Subroutinen hat mir auch etwas Mühe bereitet, insbesondere LCD_init: und LCD_busy:. Das habe ich aber noch selbst hinbekommen. Die Werte für den Kontrast stehen hier in der LCD_init:. Dein Hinweis auf "Compiler-Routinen" deutet darauf hin, dass sie zunächst mal nicht selbst geschrieben waren, sondern, im Fall dass sie fehlerhaft waren, von Dir entsprechend verbessert wurden. Dein Beispiel könnte sehr leicht die Lösung für mein Problem sein. Nun weiß ich nicht einmal, um welche Sprache es sich dabei handelt. Mit großer Wahrscheinlichkeit ist es eine Hochsprache. Die ';' am Ende jeder Zeile deutet auf Basic hin. Dieses Zeichen verhindert in Basic, dass im Anschluss an die Ausgabe ein LF und ein CR gesendet werden. Die '//' vor Beginn der Kommentare deuten auf C hin. Weiterhelfen könnte mir Deine Prozedur, wenn ich wüsste, welche Inhalte die Variablen CNum und LCD_m1 haben. Bei CNum sieht es so aus, als würde es in der Prozedur schrittweise hochgezählt. Die Variablen B0 bis B7 enthalten vermutlich die ins CGRAM zu schreibenden Bitmuster. Falls Du sie noch hast: Könntest Du mir vielleicht zusätzlich noch die Teile des Programms schicken, in welchen die Variablen definiert werden, oder das ganze Programm, wenn das einfacher ist? Falls es nicht öffentlich werden soll: Bitte schicke es an meine E-Mail Adresse rodo38@gmx.net. ------------------------------------------------------------------------ Nochmals an alle, die mir helfen wollen, meinen herzlichen Dank. Klaus
Klaus D. schrieb: > Ergebnis: ST7036 Datenblatt, Seiten 22 und 23: Es werden genau dieselben > Zeichen angezeigt wie auf den beiden Bättern in der Version OPR1=1 und > OPR2=0. Dies entspricht auch der Seite 5 des Datenblattes zum LCD > DOGM162W-A. Die Zeichen an den Adressen 0 bis 7 sind leer, beim Zeichen > 8 erscheint der kleine Pfeil nach links usw. Gut. Mir sind gerade diese ominösen 'instruction tables' aufgefallen. Offenbar kann man mit dem Befehl function set, siehe Datenblatt S.31, den Befehlssatz umschalten. function set selber ist 0b001XXXXX (0x20) Bit 4 = data length, müßte hier 0 sein Bit 3 = line number, müßte hier 1 sein Bit 2 = double hight, müßte hier 0 sein Bit 1/0 = instruction set, müßte hier 00 sein ergibt 0b00101000 (0x28) Bei Dir steht aber nur:
1 | ;----------------------------------------------------------------------------------------- |
2 | ; Function Set 05: 4-Bit Mode, 2 Lines, 5x8 Dots, Extension Instructions |
3 | ldi R16 , 0b00101001 |
4 | rcall LCD_cmd |
Damit wird 'Instruction table 1' aktiviert (siehe Datenblatt S.28). Das ist wohl auch nötig, um den Kontrast einzustellen. Allerdings gibt es dann keinen Set CGRAM Befehl. Im Initialisierungsbeispiel von EA (Seite 7) wird die 'Instruction Table' wieder zurückgestellt. Soviel zum Thema kompatibel ;-) Wenn Du die folgenden Zeilen (an der richtigen Stelle) einfügst, sollte es klappen:
1 | ;----------------------------------------------------------------------------------------- |
2 | ; Function Set 09a: 4-Bit Mode, 2 Lines, 5x8 Dots, Normal Instructions |
3 | ldi R16 , 0b00101000 |
4 | rcall LCD_cmd |
Frank
Hallo Frank, das war es !!!!!!!!!!!!!!! Der Ausdruck "Wald vor lauter Bäumen nicht sehen" trifft voll auf mich zu. Peinlich ! Peinlich ! Kann ich mich irgendwie revanchieren? Meine E-Mail Adresse: rodo38@gmx.net. Meinen allerbesten Dank ! Grüße und schönes Wochenende Klaus
Klaus D. schrieb: > Kann ich mich irgendwie revanchieren? Laß gut sein :-) Ich finde es super, daß Du Dir das überhaupt antust (auf Dein Alter bezogen). Als ich mit den AVRs angefangen habe, habe ich mir auch erstmal ein kleines Assemblerprojekt gesucht (ich glaube es war ein Lauflicht). Ich bin aber schnell auf C umgestiegen. Dank dem guten Tutorial auf dieser Webseite, hat der Einstieg auch schnell geklappt. Viel Spaß noch, bis zum nächsten 'Fehler' ;-) Frank
Hi Übrigens kannst du die Adressen in der Tabelle 'Symbole' weglassen. Ein ldi r16,0x40 rcall LCD_cmd an Anfang von 'CGRam' reicht. Die Adressen werden automatisch weiter gezählt. MfG Spess
@Klaus: freut mich, daß es geklappt hat. Der Vollständigkeit halber: CNum ist das User-definierte Zeichen (0..7) und B0-7 das Bitmuster. Die Routinen sind/waren keineswegs fehlerhaft, nur nicht für diesen Controller-Typ. Das allseits beliebte "44780-kompatibel" ist meiner Meinung nach voll fürn Ar... ! .... achja: Pascal ;o)
:
Bearbeitet durch User
Klaus D. schrieb: > kannst Du mir hoffentlich einen Rat geben, wie ich die heute nicht mehr > gültige E-Mail Adresse los werde, mit der ich noch bei > www.mikrocontroller.net angemeldet bin und wie ich sie abändern kann in > die gültige. Wenn du angemeldet bist, solltest du oben eine Zeile sehen, in der auch das Wort "Einstellungen" auftaucht. Dort draufklicken und du kannst die email Adresse aktualisieren. Zu den Dateiformaten: wenn du hier eine .ASM Datei anhängst, dann gibt es Syntaxhighlighting kostenlos dazu...
Klaus R. schrieb: > Heidewitzzka...krasser breadbordaufbau, Reschpekt Jau, das nenn ich Oldschool. Aber das Netzteil macht mir Angst, echt Angst. Liegt da Netzspannung ungeschützt an?
Hallo Frank, die LCD_init habe ich anhand der Seiten 41 und 42 im ST7036 Datenblatt geschrieben. Die notwendige Umschaltung von Instruction Table 1 auf Instruction Table 0 fehlt dort und zwar sowohl im Block-Diagramm auf Seite 41 wie auch im Code Example auf Blatt 42. Natürlich habe ich jetzt verstanden, dass und warum sie nötig ist. Ich bin aber jetzt doch der Meinung, dass ich nicht der Einzige bin, der sich schämen muss. Wenn das Beispiel im Datenblatt schon nicht vollständig ist, dann hätte dessen Schreiber das zumindest verbal vermerken sollen. Beruflich hatte ich es mit den verschiedenen Hewlett Packard Languages zu tun für die Rechner HP9815 und HP9825, dann mit HP Basic für HP9835, HP9845 und dann für die HP 9000-300 Serie. Von Letzterem besitze ich noch ein funktionsfähiges Exemplar. Bei dem wird die gewünschte Sprache mittels Floppys installiert während sie beim 9835 und 9845 quasi hardwaremäßig, d.h. beim Einschalten schon da war. Als dann die PCs ab 386 mit Coprozessor ausreichend flott wurden, um die Materialprüfmaschinen zu bedienen, gab es erst einige DOS-Basic Versionen und dann VB1 bis VB5 bei meinem Arbeitgeber. Privat habe ich mir dann noch VB6 angesehen. Die erste DOT.NET Version wollte ich mir dann im Urlaub in Thailand angucken, bin dabei aber schon bei der Installation auf meinem Notebook gescheitert. Da wären entweder CDs oder eine Internetverbindung oder beides nötig gewesen, was ich natürlich nicht hatte. VB.NET ist seitdem für mich gestorben. Ich bin traurig, dass eine Weiterentwicklung auf VB7 und Folgende nicht stattgefunden hat. Mit C möchte ich mich nicht mehr befassen. Ich mag die Listings nicht in denen oft z.B. eine einsame Klammer alleine mitten in einer Zeile steht. Außerdem steht C bzw. C++ in dem Ruf, für Anfänger nicht so leicht erlernbar zu sein. ------------------------------------------------------------------------ Hallo spess53, vielen Dank für die Info. Du fügst meiner To Do Liste ein weiteres Objekt hinzu. Das ist aber gut so, ich will ja schließlich was lernen. ------------------------------------------------------------------------ Hallo Crazy H. ja, darüber freue ich mich auch wirklich sehr und ich möchte Frank auch nochmals meinen Dank aussprechen. Von ihm kam zuletzt die endgültige Lösung. Mein Dank gilt natürlich auch Dir und den anderen Persönlichkeiten, die Zeit und Mühe nicht gescheut haben, um mir bei meinem Problem zu helfen. Mit Pascal hatte ich noch nie etwas zu tun, deshalb bin ich anhand Deines Codes auch nicht darauf gekommen. Ich bin auch erstaunt, dass man mit Pascal Programme für dem µC schreiben kann. Ich glaube, dass man in Studio 4 z.B. keine Pascal Version öffnen kann. Das LCD DOGM162W-A kann leider nicht über I2C betrieben werden, nur im 4 bzw 8 Bit Modus oder mit SPI, womit ich mich aber noch befassen muß. Gehört zu meiner To Do Liste. ------------------------------------------------------------------------ Hallo Lothar Miller, das habe ich schon früher probiert mit dem Ergebnis "Es existert bereits ein Account für diese E-Mail-Adresse", s. auch die hier angehängte Datei "Benutzereinstellungen.pdf". Zwei Accounts mit der gleichen E-Mail-Adresse können aber doch gar nicht existieren, weil, soweit ich zu wissen glaube, jede E-Mail-Adresse weltweit nur einmal existiert. Evtl. könnt ihr beide Accounts löschen und ich melde mich erneut an. Dieser Weg scheint mir der sicherste zu sein. Du hattest mir zuletzt vorgeworfen, dass ich alles quasi gewaltsam zur PDF mache. Das Öffenen irgendeiner Datei in irgendeinem Programm und dann das Drucken dieser Datei mit dem PDF Printer dauert 2 oder 3 Sekunden. Die hier angehängte Dateit hätte ich scannen müssen, um sie zunächst zur PDF zu machen. Diese hätte ich dann mit ACDSee zur PNG oder zur GIF konvertieren müssen, wobei sie ein Vielfaches der Größe angenommen hätte. Frage: Ist es akzeptabel, wenn ich weiterhin die Dateien, bei denen es sinnvoll zu sein scheint, im Format PDF sende? Falls ich vermute, dass z.B. ein Ausschnitt eines Bildes sehr stark vergrößert werden soll, dann würde ich es selbstverstänlich als JPG schicken. Das mit der .ASM Datei wußte ich nicht. Selbstverständlich werde ich den wertvollen Hinweis in Zukunft beachten. Besten Dank dafür. ------------------------------------------------------------------------ Hallo Safety, schließlich bin ich ja sebst (leider) auch nicht mehr der Jüngste, fühle mich aber trotzdem sauwohl. Hoffentlich bleibt das so noch lange. Wenn Du das Netzteil meinst, mit dem ich die +/- 15 VDC erzeuge: Keine Angst, die 230 VAC am Trafo sowie die Kippschalter Anschlüsse liegen "unten", auf der Verdrahtungsseite der Platine. Dort sind sie mittels Vergussmasse isoliert, so dass man sie nicht berühren kann. Anders sieht es mit dem DVM aus: Wenn man es z.B. so an eine Steckdose anschließen würde, dass GND der Elektronik am Leiter L hängt, dann wäre dass überaus gefährlich. Zum Kalibrieren habe ich deshalb einen Trenntrafo benutzt. Vor langer Zeit habe ich sämtliche Steckdosen im Haus so verdrahtet, das der Leiter N links und der Leiter L rechts liegt. Es gibt auch keine Steckdose, welche z.B. mittels eines Kreuzschalters ein-, aus- oder umgeschaltet wird. Eine reelle Gefahr besteht aber bei Benutzung einer Steckdosenleiste. Da bleibt einem nur der Prüf-Schraubenzieher.
Hallo, hier kommt die zuvor angekündigte Datei "Benutzereinstellungen.pdf". Grüße Klaus
Hi Klaus, jedes (Text-)Display kann mit dem erwähnten PCA9555 über I2C betrieben werden. Bei grafischen LCDs bin ich jedoch dazu über gegangen dem Display einen eingenen Controller (Mega32 oder 644) zu spendieren, der sich nur darum kümmert + HG-Beleuchtung und an die 50 Bitmaps vorhält. Der Controller bzw. das Display stellt auch hier einen I2C-Slave dar. Das erforderliche Protokoll hab ich mir selber ausgedacht. Ein zusätzlicher Vorteil: ich kann mit dem kleinsten uC ein grafisches LCD ansteuern. Gruss Harry
Hallo Crazy H., es ist sehr sinnvoll, dass Du mich nochmal an das PCA9555 erinnerst. Du hast offenbar gemerkt, dass ich keine Ahnung hatte, was Du mir sagen wolltest. Da es sich um ein 24 poliges SMD Modul handelt, ist es sicher etwas fummelig, es mit feinen Drähtchen mit einem 24 pol. DIL IC Sockel zu verbinden, so dass es sich dann leicht verdrahten läßt. Mit den beiden ICs AD 780 und L6920DB in meinem DVM habe ich das auch so gemacht, aber die haben nur je 8 Beinchen. Das L6920DB ist so winzig, das selbst dessen Verheiratung mit einem IC Sockel nicht ganz einfach war. Es ging dann aber doch ganz gut als ich die Beinchen 1, 4, 5 und 8 nach oben gebogen hatte. Das Datenblatt des PCA9555 habe ich soeben durchgelesen. Es gibt darin auch Hinweise auf die Funktion von I2C welche sich mit dem decken, was ich darüber z.B. in der ELV gelesen habe. Bevor ich mich damit befasse, vergeht sicher noch einige Zeit, aber dann werde ich mich ganz bestimmt wieder an das PCA9555 erinnern. Vielen Dank dafür, dass Du nicht locker gelassen hast. Die Info wird mir sicherlich nochmal sehr nützlich sein. Viele Grüße Klaus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.