LCD Ansteuerung mit ATtiny 2313

OP #3463153
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/lcd_kap2.html#Kap2
http://www.stefan-buchgeher.info/elektronik/lcd/lcd_kap4.html#Kap4
Angehängte Dateien:
Gast #3463204
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 !
#3463208
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.
Gast #3463327
> 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.
OP #3463430
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?
Angehängte Dateien:
#3463461
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.
OP #3463518
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.
Gast #3463537
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.
Angehängte Dateien:
Gast #3463539
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..............
Gast #3463602
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)
#3463676
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).
OP #3463748
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.
OP #3463749
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.
OP #3464503
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,
Gast #3464528
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
Gast #3464550
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.
#3464569
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.
Gast #3464584
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.
#3464607
1
$regfile = "Attiny2313.dat"
2
$crystal = 9600000
3
'$hwstack = 100
4
'$swstack = 100
5
'$framesize = 100
6

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

12

13
Cls
14
Locate 1 , 1
15
Lcd "Hello Welt"
16

17

18
End
Das läuft bei mir einwandfrei
#3464630
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.
#3464747
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.
OP #3464920
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.