www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S8252 + LCD 2x16 + sonderzeichen usw


Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte ein Omega sein.

Text1:  DB 'Zeichen',0F4,0

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu schnell,

Text1:  DB 'Zeichen',0F4h,0

Zur Erklärung: 11110100 = F4, 8x51 Notation 0F4, HEX = 0F4h.

Die Werte nimmst du aus dem Datenblatt.

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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...



Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0xFF ist eher C ;-))

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
255 oder 0FFh dann eben.

Das kommt ansonsten wohl auch den Assembler an.

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geh doch googeln du versager

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.