mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Ansteuerung mit ATtiny 2313


Autor: Dominik P. (s-line)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Ich bins wieder der Neue, heute habe ich ein weiteres Problem für euch 
auch wenn ich weiss dass Ihr dass schon nicht mehr hören könnt, da das 
Thema hier wahrscheinlich schon 1000 mal besprochen wurden ist aber ich 
habe bei der Suche nix passendes gefunden.

Tipp von mir: Man sollte die Suchfunktion hier mal stark verbessern mit 
einer ordendlichen Suchmaske (z.b. Suche mit Trennung der 
Programmiersprachen chips, etc)). Das wäre gut für alle Anfänger (wie 
mich). Weil als Neuling ist es echt kompliziert hier nach schon 
behandelten Sachen zu suchen.

Nun zu meinen Problem:

Ich habe den ATtiny 2313 und ein LCD (162C/mit KS0066u)und programmiere 
über BASCOM. (4-BIT mode ohne Busy flag, KS0066U soll meines Wissens 
nach kompartibel sein)

Habe es genau so gemacht wie im Anhang beschrieben und ausserdem alle 
freien Pins des LCDs auf GND gelegt.

Aber es passiert nix auf dem LCD habe den Poti so eingestellt das der 
graue Balken erkennbar ist (aber nicht zu stark).

Außerdem habe ich auch schon ein paar Messungen vorgenommen :

Versorgungsspannung LCD, Chip = 5,15 V
R/S Leitung am LCD = 5,00 V
Datenleitungen D4 bis D7 = 5,10V
Reset vom Chip = 5,15V
Bei der Messung von der Enable Leitung habe ich festgestellt das dort 
0,14V anliegen ich glaub das ist der Fehler Nr. 1 da man ja dort 5V 
benötigt für die LCD Freischaltung.
Da ich diesen Wert auch direkt am Pin des Chips gemessen habe gehe ich 
davon aus dass es ein Programmfehler ist oder?

Meine Datenleitungen liegen wie im Programm configuriert auf Port D .


Aber vielleicht habt ihr ja noch ein paar Tipps bzw. Vorschläge die ich 
Versuchen könnte.

Wäre super wenn einer mal ein Auge auf das Programm hätte obwohl ich das 
auch nur kopiert habe. Aber bin mir da nicht immer sicher (manchmal 
sieht man den Wald vor lauter Bäumen nicht, kennt Ihr ja bestimmt 
selber)
Habe unten auch noch mal ein paar Links nach dennen ich es Nachgebaut 
habe.


Vielen Dank schon mal .
Mfg. D.P

Guten Rutsch :-)


Meine Quellen:
http://www.rn-wissen.de/index.php/LCD-Modul_am_AVR
http://www.stefan-buchgeher.info/elektronik/lcd/lc...
http://www.stefan-buchgeher.info/elektronik/lcd/lc...

Autor: Sabberlotte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermisse :

$regfile =
$crystal =

Dein Tiny läuft mit 1MHz.


> Da ich diesen Wert auch direkt am Pin des Chips gemessen habe gehe ich
> davon aus dass es ein Programmfehler ist oder?

Wie gemessen (womit) ?
Enable steht doch nicht dauerhaft an.

In dem Schaltplan sind D0-D3 nicht auf GND gelegt !

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>In dem Schaltplan sind D0-D3 nicht auf GND gelegt !

Und das sollte man auch nicht tun.

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sabberlotte schrieb:
> Ich vermisse :
>
> $regfile =
> $crystal =
>
> Dein Tiny läuft mit 1MHz.
>
>
>> Da ich diesen Wert auch direkt am Pin des Chips gemessen habe gehe ich
>> davon aus dass es ein Programmfehler ist oder?
>
> Wie gemessen (womit) ?
> Enable steht doch nicht dauerhaft an.
>
> In dem Schaltplan sind D0-D3 nicht auf GND gelegt !

Soll man auch nicht tun, da die Pins PullUp Widerstände haben. Offen 
lassen ist besser. Aber ja, seine Aussage stimmt nicht mit dem 
Schaltplan überein.

Autor: Blende22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber es passiert nix auf dem LCD habe den Poti so eingestellt das der
> graue Balken erkennbar ist (aber nicht zu stark).

Ich würde ein Päuschen nach "Helle World" einlegen (Wait 2 oder so), 
sonst kommste mit dem Lesen nicht so recht mit, wenn der Text in der 
Schleife sofort wieder gelöscht wird. Oder, schmeiss das CLS zum Testen 
raus.

Autor: Martin N. (emsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermisse da eine LCD-Initialisierung:

.
.
.
Config Lcdpin  ....
Initlcd

Do
.
.
.

Autor: Dominik P. (s-line)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
moin,
Also ich habe das Programm verändert (siehe Anhang).

Datenleitung die nicht benötigt werden, sind nun nicht mehr auf Masse !!

Muss ich HW, Soft stack und Framesize angeben ?

Und kann ich mit irgendwelchen "Haushaltsmitteln" feststellen ob der LCD 
kaputt ist? wenn ja wie?


Ist der crystal richtig , diese 9,6 MHZ habe ich irgendwo aus Netz.
Weiss aber nicht ob es richtig ist und muss ich nicht bei so einer 
Angabe auch irgendwas bei den fused and lockbits verändern?

Autor: Martin N. (emsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik P. schrieb:
> Muss ich HW, Soft stack und Framesize angeben ?

Momentan noch nicht.

Dominik P. schrieb:
> Ist der crystal richtig , diese 9,6 MHZ habe ich irgendwo aus Netz.

Nein. Schauen wir mal deine Fuses an. Da steht "Int RC Osc. 8Mhz".
D.H. interner Oszillator ist deine eingestellte Taktquelle, mit 8MHz.
Dann steht etwas oberhalb noch "Divide clock by 8 enabled". Dein Takt 
aus dem internen Oszillator wird also noch durch 8 geteilt.
Dein Controller läuft also mit 1MHz. Bitte das bei "crystal" eintragen. 
Sonst stimmen die Timings für's Display nämlich sowieso nicht.

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe es jetzt nochmal umgeschrieben.

crystal = 1000000

Funktioniert aber leider immer noch nicht.

Muss ich noch eine Datei ins Programm einfügen für das LCD Modul da er 
ja nicht den HD44780 chip hat sondern den KS0066u ?

Ich habe nämlich so was ähnliches schonmal irgendwo gelesen.

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

Bewertung
0 lesenswert
nicht lesenswert
Probier mal die HEX Datei im Anhang.
Wenn die auch nicht geht ist die Wahrscheinlichkeit
hoch das dein Display falsch angeschlossen ist.

Mach mal ein Foto von deinem Aufbau.

Autor: Sabberlotte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CONFIG LCD = LCDtype , CHIPSET=KS077

> Ich habe nämlich so was ähnliches schonmal irgendwo gelesen.

Hast du schon die Hilfe-Funktion gefunden ?
Da gibt es auch Beispiele..............

Autor: Blende22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt Dein Enable (PORTD.5) auch wirklich am Pin 6 von Deinem Display?
(sofern Du wirklich auch Deine von Dir angegebene LCD_Ansteuerung nach 
Bild 3 verwendest)

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ holger

habe gerade deine hex datei ausprobiert.
Es funktioniert :-)

Das LCD Modul zeigt mir
Line 1
Line 2

SUPER!!!

Aber da ich persönlich die Hex Datei nicht lesen kann, erzähl mir bitte 
was du da gemacht hast.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik P. schrieb:
> mit
> einer ordendlichen Suchmaske (z.b. Suche mit Trennung der
> Programmiersprachen chips, etc)). Das wäre gut für alle Anfänger (wie
> mich).

Das würde voraussetzen, daß die Beiträge entsprechend strukturiert oder 
indiziert sind. Sind sie aber nicht. Manchmal sind solche Angaben auch 
nicht wichtig (z.B. bei einer allgemeinen algorithmischen Fragestellung, 
oder einem zu diskutiernenden Lösungsansatz).

: Bearbeitet durch User
Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja naturlich hast du Recht demnach müsste man auch bei der Erstellung 
neuer Beiträge zusätzliche Angaben machen aber warum nicht?

Z.B:

Neuer Beitrag

Name: ...

Betreff: ...

Chip: ... "(ATtiny 2313)"

Programmiersprache: ... "(Basic, C,C+ usw.)"

Weitere Hardware: ... "(LCD Modul)"

Kurze Fehlerbeschreibung: ... "(LCD Modul funktioniert nicht)"

Text: ... "(genau Beschreibung wie gehabt)"

Ob man dann die weiteren Angaben macht kann ja auch jeder selber 
entscheiden.


Demnach könnte man auch eine zuverlässige Suchmaske erstellen.

Aber das ist nur ein Vorschlag von mir. Ich wollte mich ja damit nicht 
beschweren nur ein Vorschlag einwerfen.

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So aber nun habe ich immer noch mein LCD Problem.

Das Programm von Holger (siehe Hex datei) funktioniert mein Programm 
aber nicht.


Hat jemand noch eine Idee?

Wäre super von Dir Holger wenn du mir erklären könntest was du anders 
gemacht hast als ich.

Mfg.

Autor: Blende22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schmeiss mal die Schleife raus.

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt ma die do , loop Schleife entfernt.

Aber funktioniert auch nicht.

Vielleicht kann mir mal einer mal BITTE eine Bascom-Muster Datei 
schicken (anhängen)
die bei Ihm funktioniert.
Damit ich weiß wie ein "Musterprogramm aussieht).

Werde dann auch ma Bilder senden mit dem Versuchsaufbau.

Danke,

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Vielleicht kann mir mal einer mal BITTE eine Bascom-Muster Datei
>schicken (anhängen)

Hast du eigentlich schon mal in der Bascom-Hilfe nachgesehen?

MfG Spess

Autor: Luca E. (derlucae98)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiere mal
 $regfile = "ATtiny2313.dat" 
 statt
 $regfile = "Attiny2313.dat" 

: Bearbeitet durch User
Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Luca E. schrieb:
> Probiere mal $regfile = "ATtiny2313.dat" statt "Attiny2313.dat"

Das ändert nichts. Es gibt aber eine andere DAT Datei für den 
Attiny2313A. Wird aber auch nichts ändern. Ich tippe auf einen 
Verdrahtungsfehler. Bisher haben wir auch kein Bild vom Aufbau gesehen.

Autor: Martin N. (emsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay schrieb:
> Verdrahtungsfehler

Glaube ich weniger, da das Display mit dem Code "LCD_test.hex" von 
holger ja lief.
Es gibt bei BASCOM auch noch den schönen Befehl "Config Lcdbus = 4", 
vielleicht hilft's?
Oder stimmt da doch die Portzuordnung nicht?
Im Schaltplan ganz oben geht E auf PC5.
In seinem Programm steht "E=PORTD.5"?

Ich möchte jetzt auch erst mal Bilder sehen.

: Bearbeitet durch User
Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es sein, dass auf dem png ein $baud = ... nicht zu sehen ist? Das 
würde das UART aktivieren und dieses wiederum belegt PD1..0

Dominik P. schrieb:
> Vielleicht kann mir mal einer mal BITTE eine Bascom-Muster Datei
> schicken (anhängen)
> die bei Ihm funktioniert.
> Damit ich weiß wie ein "Musterprogramm aussieht).

Andersrum wird ein Schuh draus: Du hängst Dein Programm an, und zwar als 
Originaldatei und nicht als Bildchen.

Autor: Martin N. (emsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik P. schrieb:
> Meine Datenleitungen liegen wie im Programm configuriert auf Port D

Ok, hat sich erledigt.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$regfile = "Attiny2313.dat"
$crystal = 9600000
'$hwstack = 100
'$swstack = 100
'$framesize = 100

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , _
   Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Initlcd


Cls
Locate 1 , 1
Lcd "Hello Welt"


End
Das läuft bei mir einwandfrei

: Bearbeitet durch User
Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir auch noch dein erstes Programm angesehen.
Das "Do - Loop" ist da sehr kontraproduktiv, du beschreibst das LCD und 
löscht es sofort wieder. Da ist kaum was sichtbar.
In meinem Teil fehlt das. Wenn du es unbedingt haben willst musst du ein 
"Wait x" einfügen.

Autor: Dominik P. (s-line)
Datum:
Angehängte Dateien:
  • lcd.bas (279 Bytes, 116 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Hier ein paar Anhänge.

Vielen Dank,

Ich hoffe Ihr könnt damit was anfangen.

Autor: Land-Ei (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geil....7MB grosse Bilder.

....und das mit meiner 1000er DSL-Leitung.

Autor: Luca E. (derlucae98)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Uwe S. (de0508)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Warum sind den die vier LCD-Datenleitungen verbunden ?

Steht das so im Datenblatt deines LCD ? - ich denke nicht.

Dann würde ich die Zuleitungen zum LCD so kurz als möglich ausführen.

Abblock 100nF Kondensatoren direkt an den Baugruppen verteilen.

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ein sorry für diese ungünstigen Bildformate.

Die Datenleitungen D0-3 sind deshalb verbunden da ich diese zuerst auf 
GND liegen hatten.

Autor: NaNa_JaJa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immer wieder gern > www.halvar.at

Autor: Dominik P. (s-line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt läuft es :::---))))

Und nun die große Auflösung:
Aber eigentlich weiß ich das selber nicht so richtig ich habe mein 
Ursprungprogramm  was ich hier ganz am Anfang angehängt habe aus dem 
Internet kopiert und bei Bascom nur eingefügt, ich glaub das war Fehler 
Nr.:1

Fehler Nr. 2 :

Ich habe beim Programmieren nie vorher manuell erased sondern immer 
gleich auf write dann bekomme ich zwar eine Meldung "writen to flash" 
aber es passiert einfach nix.

(Und ja ich weiß normalerweise erased er autom. aber habe das ein paar 
mal mit meinen LED blink, blink Programme ausprobiert da ist das auch 
so, vielleicht ist das auch nur mit meinem Diamex USB so umständlich)

 Dank Euer Hilfe


Eine Frage habe ich noch, auf dem LCD steht nach meiner Nachricht immer 
noch so ein Leerzeichen Strich.

Z.B AUF dem LCD wird:

HALLO WELT_

angezeigt, wofür ist der Strich nach Welt und wie bekommt man den weg.

Autor: Martin N. (emsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Strich heisst "Cursor" und den schaltet man vor Textausgabe mit dem 
Befehl "CURSOR OFF" ab.

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.