Messsignalauswertung im ADU Atmega32 Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
Autor |
Messsignalauswertung im ADU Atmega32 |
|
|
|
|
BID = 454667
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
|
Also, naja, man hätte das auch mit ein wenig Suchen finden können.
Aber hier mal (ohne Garantie!) die Belegung:
Pins sind markiert!
Pin
1 GND
2 VCC
3 Kontrastspannung
Soweit erstmal. Wenn du Pin3 auf GND und VCC auf 5V bringst, sollte in einer Zeile ein schwarzer Balken erscheinen. Wenn dem so ist, und ich sehe keinen Grund, dass es so nicht sein wird, dann gehts weiter mit der Belegung:
4 Register Select (RS)
5 Lesen/schreiben (RW)
6 Enable (E)
7,8,9,10 Datenbits 0-3 (im Vierbitmodus ungenutzt)
11,12,13,14 Datenbits 4-7
15,16 Hintergrundbeleuchtung (falls vorhanden)
Wie gesagt, ich übernehme keine Garantie für Richtigkeit der Daten und ob sie zu deinem Controller passen. Aber zu 99% bin ich mir sicher
_________________
|
|
BID = 454690
hurtme Gerade angekommen
Beiträge: 2 Wohnort: Hannover
|
|
Hi!
Pinbelegung stimmt, keine Loetbruecken, kontakt ueberall wo er sein soll!
Verdrahtung via http://www.mikrocontroller.net/articles/HD44780,
wobei mal die unbenutzten Ports auf Masse liegen und mal nicht, je nachdem wo man guckt.
Initialisierung des Displays wurde versucht mittels:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD
Balken sind zu sehen und lassen sich auch mit dem Poti ein und ausblenden.
Am Timing habe ich schon rumgestellt und auch blinkende Cursor versucht einzustellen, alles ohne Erfolg.
C-Programmierug und Bascom nutzen wir nicht, nur Assembler.
Portbelegung im *asm stimmt auch schon dutzende Male kontrolliert.
Noch irgendwelche Hinweise?
MfG
Uwe |
|
BID = 454704
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Leute,
Die Initialisierung ist doch total eindeutig und tausendmal erklärt. Ein Blick in das von mir hochgeladene PDF reicht.
Und Timings sind nur am Anfang einzuhalten, danach ist das Busyflag abzufragen, dafür ist es ja schließlich da.
_________________
|
BID = 454708
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
So, hier mal das Schema:
* Datenrichtung aller Aus- und Eingänge einstellen (eine 1 in DDRx schaltet den Pin auf Ausgang, eine 0 auf Eingang)
* 15ms warten
* an D4-7 (nachfolgend D genannt) liegt 0x3 an (0011b)
* E setzen und gleich wieder löschen -> Daten werden vom LCD übernommen (nachfolgend Puls genannt)
* nun erneut warten
* Puls ausführen (erneut wird 0x3 vom LCD übernommen)
* nochmal warten
* und Puls ausführen
* nach dem dritten Puls Busyflag abfragen (nachfolgen BF genannt)
-> dazu muss die Datenrichtung auf Eingang gestellt werden, RW muss 1 sein und E muss gesetzt werden und D7 muss solange abgetastet werden, bis es 1 wird! Dann E löschen, RW löschen und Alles wieder auf Ausgang stellen.
* Nun die Befehle
-> System Set mit den Parametern Vierbitmodus, Anzeigegröße und so weiter,
-> Entry Mode Set mit entspr. Parametern,
-> Display On/Off (Display an/aus, Cursor blinkend/Block etc...),
-> Clear Display
und
-> Cursor Home
senden.
Gesendet wird im Vierbitmodus folgendermaßen:
* RS löschen
* Dafür sorgen, dass das obere Nibble zuerst auf die Leitungen D4-7 gelegt wird. (also: Datenbit4,5,6,7 zuerst ausgeben) [und dafür sorgen, dass andere Bits des gleichen Ports nicht verändert werden! D.h. es muss höchstwahrscheinlich maskiert werden!]
* Puls ausführen -> oberes Nibble wird gespeichert im LCD
* Nun die unteren vier Bits ausgeben (unteres Nibble, Bit0-3)
* erneut Puls ausführen -> unteres Nibble wird übernommen; Daten sind wieder komplett!
* Busyflag abwarten
Fertig!
Wenn Daten gesendet werden sollen, genauso, aber vorher RS auf 1 setzen.
Ergo:
Routinen anlegen:
* Daten eintakten (E setzen und löschen -> fallende Flanke)
* Busyflag abwarten
* Daten ausgeben (entweder Befehl oder Daten)
* Daten senden (RS setzen, Daten ausgeben aufrufen)
* Befehl senden (RS löschen, Daten ausgeben aufrufen)
_________________
|
BID = 454712
hurtme Gerade angekommen
Beiträge: 2 Wohnort: Hannover
|
Danke, fuer die Ausfuehrliche Antwort, aber atm ist das Problem das ich weder auf dem Display einen blinkenden Coursor noch etwas anderes darstellen kann. Es werden lediglich beim einschalten der Spannung die Balken angezeigt, die ich mit dem Poti wegregeln kann (Kontrast).
Es macht den Anschein das garkeine Flags (Coursor anzeigen/blinken) angenommen werden. Und wenn ich das richtig verstanden habe, brauche ich dafuer noch nicht das Busy-Flag!?
|
BID = 454713
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Doch, dass kommt hier schon. Steht doch oben!
Nach dem dritten 0x3 wird das erste mal das Busyflag gelesen, oder, wie viele, leider zuviele Menschen das machen, das Busyflag wird ignoriert und es wird eine fixe Zeit verzögert.
Das geht auch, aber das ist unklug.
Mach mal folgendes:
Bau hinter jedem Schritt der Initialisierung eine Tasterabfrage etc. ein (oder besser: warte nach jedem Schritt auf ein Zeichen der UART warten, damit der nächste Schritt ausgeführt wird!)
In der Zeit, in der der Kontroller hängt, weil er auf eine Benutzereingabe wartet, kannst du dann die Pegel am Controller messen! sie müssen immer so sein, wie das oben steht!
a ich deine Hardware nicht kenne (Beschaltung etc.) kann ich dir da nicht helfen, das musst du selbst debuggen.
Sonst lass das Busyflag erstmal weg und sorge dafür, dass eine lange Zeit gewartet wird, z.b. 100ms. Das ist zwar viel zu lang, aber das ist zum Debuggen rel. egal.
Achso: nach dem ersten Befehl (System Set) sollten die Balken verschwinden! Übrigens solltest du beim Debuggen den Kontrast auf GND legen oder komplett anmachen. Es wäre reichlich ärgerlich, wenn man danach feststellt, dass sich schon was tut, man nur nix sieht, weil der Kontrast aus / gradezu 0 ist.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 1 Sep 2007 22:09 ]
|
BID = 454714
Radio Gesprächig
Beiträge: 119
|
Evalutionboard von Pollin mit Atmega 32
|
BID = 454957
Radio Gesprächig
Beiträge: 119
|
Als hardware nutzen wir die hier oben genannten teile.
Kennst du das Board?
|
BID = 454981
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Zitat :
Radio hat am 3 Sep 2007 12:13 geschrieben :
|
Als hardware nutzen wir die hier oben genannten teile.
Kennst du das Board?
|
Board ist wahrscheinlich jedem bekannt, der sich öfter mit Atmel auseinandersetzt (konkurenzlos günstig, wenn man verschiedene Typen zum testen hat).
Im konkreten Fall musst du aber Deine Hardware irgendwo anschliessen - also Verbindung von 40pol. Pfostenleiste auf Dein Display machen.
Dabei die unbeschalteten Pins des Display sicherheitshalber auf Masse legen - auch wenn's gelegentlich im www nicht so gemacht wird.
Bei der Inbetriebnahme auf jeden Fall den Kontrastregler so weit aufgedreht lassen, dass nach dem Einschalten der Betriebsspannung der Balken noch deutlich sichtbar ist!
Dann weiter wie Don Comi beschrieben hat - nach jeder Initialisierungszeile auf externes Ereigniss warten, damit Du die Signale am Display nachmessen kannst!
Wenn die Initialisierung durchgelaufen ist, dann sind die Displays nicht weiter empfindlich, so lange man das busy-flag vor jedem Kommando abfrägt (für beste Performance) oder eine (unnötig lange - dafür aber sichere) Wartezeit vor jedem Kommando einhält.
Greets Hajo
|
BID = 455066
Radio Gesprächig
Beiträge: 119
|
Mein Partner meint er ist genau so vorgegangen wie von euch beschrieben..Ohne Erfolg..
Um jetzt Menschliches versagen auszuschliesen möchte ich ein anderes Display testen
Kann mir jemand ein Display nennen das 100% Funktioniert und vielleicht noch einen Lieferanten dazu?
|
BID = 455149
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Wenn im Display der schwarze Balken nach dem Stromeinschalten erscheint, dann funktioniert schon mal der Controller auf dem display.
Funktionierende Displays gibt's von "C" - Pollin - Reichelt u.s.w.
Bitte beachten, dass mehrzeilige Displays mit mehr als 20 Zeichen üblicherweise NICHT mit den Standard Anschlußbelegungen übereinstimmen (und z.T. 2 Controller beinhalten).
Günstig wäre z.B.: Pollin, Best.Nr. 120 519 (4.50 €, 20pol. Anschluss)) oder Best.Nr. 120 385 (3.95 €, 14 pol. Anschluss(?))
Es gibt aber auch noch günstigere! Einfach im shop suchen!
[ Diese Nachricht wurde geändert von: hajos118 am 4 Sep 2007 7:28 ]
|
BID = 455201
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Hallo,
kam denn ein schwarzer Balken oder nicht?
Ich schrieb:
Zitat :
|
Soweit erstmal. Wenn du Pin3 auf GND und VCC auf 5V bringst, sollte in einer Zeile ein schwarzer Balken erscheinen.
|
_________________
|
BID = 455238
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Zitat :
hurtme hat am 1 Sep 2007 20:30 geschrieben :
|
Balken sind zu sehen und lassen sich auch mit dem Poti ein und ausblenden.
|
Wenn das der Kollege des Thread-starters war, dann sollte der Controller & Display funktionieren....
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag heute wurden bisher 5 Beiträge verfasst © x sparkkelsputz Besucher : 182261732 Heute : 1625 Gestern : 4669 Online : 364 31.10.2024 12:24 5 Besucher in den letzten 60 Sekunden alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0771331787109
|