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


von Merle (Gast)


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

von Sebastian Wille (Gast)


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

von Ichbinsnur (Gast)


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

von Merle (Gast)


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

von thkais (Gast)


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.

von Steffen (Gast)


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

von Merle (Gast)


Lesenswert?

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

Mfg. Merle

von Steffen (Gast)


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

von Dirk (Gast)


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

von Merle (Gast)


Lesenswert?

Danke.
Aber ich bleib bei ASM. sonst
muss ich wieder ganz von forne
anfangen.

Mfg. Merle

von scnr (Gast)


Lesenswert?

... was ja offensichtlich kein großer Rückschritt wäre

von Merle (Gast)


Lesenswert?

Ha Ha sehr witzig.

von Nik Bamert (Gast)


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! ;-)

von Tobias Breckle (Gast)


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ß

von Merle (Gast)


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.

von Nik Bamert (Gast)


Lesenswert?

bitte bitte, kein problem.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.