CODE Probleme HILFE!!!

Gast #49275
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
Gast #49278
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
Gast #49279
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.
Gast #49280
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
Gast #49283
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
Gast #49287
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! ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren