www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CODE Probleme HILFE!!!


Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi ich wole mit folgendem code
ein selbstdeffiniertes zeichen
in mein LCD Laden aber es geht
nicht. Ich hb es für das LCD
Programm vom AVR-Tutorial geschrieben.
Kann mir jemand sagen was falsch daran
ist und wo genauch ich den code einsetzen
muss??

Hier der Code:

;---------------------

ldi temp1, 0b01001000


ldi temp1, 0b00011111

ldi temp1, 0b00001110

ldi temp1, 0b00000100

ldi temp1, 0b00001110

ldi temp1, 0b00011111

ldi temp1, 0b00001110

ldi temp1, 0b00000100

ldi temp1, 0b00011111



ldi temp1, 0b10000000

;--------------------

Mfg. Merle

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Du weißt in diesem Code-Schnipsel 10x temp1 einen neuen Wert zu. Schön.
;-) Du mußt die temp1-Variable auch übergeben! Per "out" o.ä.!

Sebastian

Autor: Ichbinsnur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Gehen Sie zu
http://www.avr-asm-tutorial.net/avr_de/beginner/index.html , begeben
Sie sich direkt dahin, gehen Sie nicht ueber LOS, ziehen Sie keine 2000
Euro ein... :-P

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst so???
;---------------------

ldi temp1, 0b01001000
out DDRC, temp1

ldi temp1, 0b00011111
out DDRC, temp1
ldi temp1, 0b00001110
out.......
ldi temp1, 0b00000100
..........
ldi temp1, 0b00001110
.......
ldi temp1, 0b00011111
.......
ldi temp1, 0b00001110
......
ldi temp1, 0b00000100
......
ldi temp1, 0b00011111
......


ldi temp1, 0b10000000
out DDRC, temp1
;--------------------

Mfg. Merle

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, Du weißt aber, wie man Daten zum Display überträgt???
1. nicht mit dem Datenrichtungsregister
2. fehlt die Ansteuerung von Enable, read/write und C/D

Wenn Du mit den obigen Begriffen nichts anfangen kannst, dann druck Dir
das Tutorial nochmal aus und legs Dir unters Kopfkissen.

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@thkais
Den Trick mit dem Kopfkissen kenne ich zwar, aber Du hast vergessen zu
erwähnen, das man sich das was unters Kopfkissen kommt vorher
wenigstens mal durchlesen solle.

Sonst gibt´s morgen einen Tread "HILFE !!! Ich hab´s immer noch nicht
begriffen"

Steffen

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ich weiß schon wie aber ich hab noch nie ein zeichen selbst
deffiniert. Das ist ziemlich kompliziert.

Mfg. Merle

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm´s mir nicht übel,

aber hast Du schon mal selbst (ohne kopierten Code) ein Zeichen auf´s
Display bekommen?

Das ist nähmlich genauso einfach wie ein Zeichen zu definieren.

Steffen

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich verfolge deine Threads und ich würde sagen das du am besten mit
Basic deine Avr`s programmieren solltest. 1. fertige Funktionen 2.
einfacher zu verstehen als C oder ASM.

Nimm z.B. Bascom ..... danach kannste dich an C oder ASM trauen.


Nur ein kleiner Rat von mir...

Mfg

Dirk

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.
Aber ich bleib bei ASM. sonst
muss ich wieder ganz von forne
anfangen.

Mfg. Merle

Autor: scnr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... was ja offensichtlich kein großer Rückschritt wäre

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ha Ha sehr witzig.

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Merle!

Ich programmiere zwar in Basic aber in asm sollte es nicht viel
schwieriger zu machen sein.

Ich mach das ganze so:

zuerst natürlich initaliesierung usw...
danach sende ich im befehlsmodus binär 1000000 (dezimal 64) um ins cg
ram an der adresse 0 zu schreiben.

Danach, wieder im Datenmodus, schicke ich nacheinander die 8,
zeichenspezifischen bytes. Voilà, nun ist das neue Zeichen schonmal
gespeichert. (diese 8 bytes kann man sich ausserdem ganz einfach vom
Computer berechnen lassen ->
http://www.geocities.com/dinceraydin/lcd/charcalc.htm)

Darauf setze ich im Befehlsmodus wieder auf das dd Ram (binär 10000000
dezimal 128)

wenn man nun im Datenmodus dezimal 0 an das display schickt erscheint
an erster Stelle in der ersten Zeile das gewünschte Zeichen.


Um dies alles zu testen gibt's auch noch einen online LCD Simulator :
http://www.geocities.com/dinceraydin/djlcdsim/djlcdsim.html

Das alles klang vileicht etwas kompliziert, ist aber ganz einfach.


MFG Nik

P.S. Ich bin erst 13 und habs schliesslich auch schon kapiert! ;-)

Autor: Tobias Breckle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also das ist nun wirklich nicht schwer. hab ich gestern erst selbst
gecodet. musst nur n bischen im datenblatt lesen und googlen.
nen kleiner hinweis:
http://www.geocities.com/dinceraydin/lcd/index.html

da wirds ganz genau beschrieben.
viel spaß

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Nik Bamert und Tobias Breckle

Mfg. Merle

p.S. Bin erst 14 naja aber ich Arbeite noch nicht lange mit den AVR's

Danke nochmal.

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bitte bitte, kein problem.

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.