Messsignalauswertung im ADU Atmega32

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 27 11 2024  17:41:20      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


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....


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


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 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 7 Beiträge verfasst
© x sparkkelsputz        Besucher : 182413617   Heute : 5602    Gestern : 7797    Online : 496        27.11.2024    17:41
7 Besucher in den letzten 60 Sekunden        alle 8.57 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0314791202545