www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie kann ich Variablen an einem LCD anzeigen lassen


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Mit dem Code Vision Compiler einen Text am LCD anzeigen zu lassen 
schaff' mittlerweile sogar ich, aber wie kann ich z. Bsp einen String 
von der sereillen Schnittstelle als Dezimalzahl ans Display senden????

Bisher schaut das Programm so aus (ist nur das Beispielprogramm von code 
vision)

// the LCD is connected to PORTC outputs
// see the file lcd.h in the ..\inc directory
#asm
.equ __lcd_port=0x18 ;PORTD
#endasm

#include <lcd.h> // LCD driver routines
#include <delay.h>
#include <math.h>
#include <stdio.h>

void main(void)
{
unsigned char i;
// initialize the LCD for
// 2 lines & 16 columns
lcd_init(16);

// go on the second LCD line
lcd_gotoxy(0,1);

sprintf(lcd_buffer,"Device #%-u ROM\nCode is:",i+1);
       lcd_clear();
       lcd_puts(lcd_buffer);


// display the message
lcd_putsf("Hello world");

// stop here
while (1);
}

Wär's uper wenn ihr mir auf die Sprünge helfen könnt!!

Danke
Christian

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
von alleine bin ich leider immer noch nicht drauf gekommen, wie das 
gehen soll, aber das kann doch nicht sein, dass ihr nie irgendwelche 
Zahlen, die euch euer MC ausgerechnet hat am LCD anzeigen lassen 
wollt?????

Kann doch nicht sein, dass auf euren LCD's immer nur "Hello World" 
steht....

mfg
Christian

Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

ich kann zwar C, bin aber in Bezug auf C in Mikrocontrollern ziemlich 
unbewandert. Schau dir aber einmal das Programm hier im Codeforum an:

http://www.mikrocontroller.net/forum.php?action=re...

Es beschreibt zwar in Assembler wie man Zahlen auf dem Display ausgeben 
kann, aber ich denke das Grundprinzip ist auch in C uebertragbar:

Zahl durch 10000, 1000, 100, 10, 1 einzeln teilen und die 
Zehnerpotenzwerte einfach mit dem "Offset" fuer ASCII-Zahlen addieren 
und nach der Reihe ans Display senden.

Ich habe dieses Programm letztens fuer meine Zwecke umgeschrieben und 
finde es ganz gut.

Viele Gruesse,

Thomas H.

Autor: Retro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiss zwar nicht was dieser ganze Funktionsblock macht, aber die 
Funktion "sprintf" spricht doch wohl Bände!

--
sprintf(lcd_buffer, "Device #%-u ROM\nCode is:", i+1);
lcd_clear();
lcd_puts(lcd_buffer);
--

Ich schätze mal dass "%-u" für den Integerwert steht (normal in C ist 
das anders) aber probier es einmal aus. Dieser Text wird dann in die 
Variable "lcd_buffer" geschrieben und die Zahl "i+1" eingesetzt. Daraus 
resultiert: "Device #1 ROM\nCode is:" Normalerweise würde das "\n" nen 
Linebreak verursachen, ob es beim LCD ebenso ist weiss ich nicht, 
probier mal das hier aus:

--
sprintf(lcd_buffer, "Hier sollte 5 stehen: %-u", 10+10-15);
lcd_clear();
lcd_puts(lcd_buffer);
--

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey - vielen lieben Dank!!
Funktioniert tadellos!!!!

Mit dem Code, den du da hergestellt hast (is ja ein Beispiel aus dem 
Codevision folder) hab' ich auch schon experimentiert - nur mit dem 
Problem, dass es bei mir nicht hingehauen hat.

Vielen Dank

Christian

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.