Hallo Leute, ich hab nen µC AT89S8252 und daran n ganz normales LCD 2x16 (HD4478...). Programmieren "muss" ich in assembler habs so gelernt und keine zeit mich auf c umzustellen) Mein problem ich werd aus den Datenblättern net schlau mit welchem Befehl ich ganz einfach die hinterlegten Sonderzeichen abrufen und ausgeben kann. Bis jetzt mach ich alle ausgaben ganz einfach über eine tabelle und setze dort direkt den text ein den ich ausgeben will. Den rest erledigt eigentlich komplett meine routine. Bsp: MOV dptr, #text1 ; Datenpointer auf Text1 setzen LCALL textzeile1 ; UP für die Ausgabe der ersten Zeile Text1: DB 'Zeichen',0 Meine Frage kann mir evtl. jemand ein Helfen das zu proggen ein bsp programm geben aus dem ich mir diese infos mopsen darf oder sagen wo ich die infos herbekomme. Datenblatt hab ich auch schon mehrere male durch und komm irgendwie nich weiter. Danke schonmal im voraus! gruß ´s Axele
zu schnell, Text1: DB 'Zeichen',0F4h,0 Zur Erklärung: 11110100 = F4, 8x51 Notation 0F4, HEX = 0F4h. Die Werte nimmst du aus dem Datenblatt.
Also das wort "zeichen" welches in diesen ' ' beiden strichen steht ist mein eigentliches wort etc. mit bis zu 16 zechen welches ich dan an mein lcd ausgeben kann. Macht mir soweit auch keine probleme. Das eigentliche problem ist das ich nicht weiß wie man die zeichen direkt mit hex oder dualzahl ausgibt. soll heißen wen ich schreibe Text1: DB 'Hallo Welt',0 wird auch einfach hallo welt ausgegeben. Nun schau ich im Datenblatt, sollte die dualzahl 1111 1111 ein komplettes kästchen geben (FFh) ja wie mach ich nun meim controller klar das jetzt ein zeichen kommt welches er bereits kennt aber diesesmal mit dual oder hexzahl? hoffe ich konnte es diesesmal besser erklären Danke joe für deine antwort kam leider fatal error :)
Versteh deine Frage nicht ;-(( Text1: DB 'Hallo Welt',0FFh,0 Probiers doch mal... Deine Tabelle Text1 hat doch nun das Zeichen. Die 0 am Ende ist doch wohl dein Terminator... oder ?
einfach doof wen ich meine antwort schreibe während du deine schreibst ^^ hab das "h" für hex auch total übersehen ich bedanke mich vielmals funktioniert wunderbar
>Text1: DB 'Hallo Welt',0
macht doch eigentlich nichts anderes als ab der Marke "Text1" die
folgenden Zeichen in den Speicher (Flash?) zu schreiben.
Eigentlich müsste
Text1: DB 'Hallo Welt',0xFF,0
"Hallo Welt" + ein komplettes Kästchen ausgeben.
Text1: DB 'H',0
DB 'a'
DB 'l'
DB 'l'
DB 'o'
DB ' '
DB 'W'
DB 'e'
DB 'l'
DB 't'
DB '!'
DB 0xFF
DB 0
Sollte zum gleichen Ergebnis führen...
255 oder 0FFh dann eben. Das kommt ansonsten wohl auch den Assembler an.
Also erstmal danke für alle Antworten die auch wunderbar klappen. Jetzt nächste Frage^^ Im Datenblatt sind ja alle Adressen der Zeichen aufgeliste... Aber zwei mal, einmal ROM Code: A00 und A02 meine Frage kann man das umschalten von 00 auf 02 wen ja was muss ich dafür tun? denn bei A02 hat es erstens mehr Zeichen und zweitens vernünftigere Danke schonmal im vorraus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.