Symbole auf LCD darstellen

Gast #73264
Lesenswert?
• ▲
▼
RTFM!

CAVR -> F1 -> "LCD Functions"

Example:

/* LCD user defined characters

   Chip: AT90S8515
   Memory Model: SMALL
   Data Stack Size: 128 bytes

   Use an 2x16 alphanumeric LCD connected
   to the STK200+ PORTC header as follows:

   [LCD]   [STK200+ PORTC HEADER]
    1 GND- 9  GND
    2 +5V- 10 VCC
    3 VLC- LCD HEADER Vo
    4 RS - 1  PC0
    5 RD - 2  PC1

    6 EN - 3  PC2
   11 D4 - 5  PC4
   12 D5 - 6  PC5
   13 D6 - 7  PC6
   14 D7 - 8  PC7 */

/* the LCD is connected to PORTC outputs */
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm

/* include the LCD driver routines */
#include <lcd.h>

typedef unsigned char byte;

/* table for the user defined character
   arrow that points to the top right corner */
flash byte char0[8]={
0b0000000,
0b0001111,
0b0000011,
0b0000101,
0b0001001,
0b0010000,
0b0100000,

0b1000000};

/* function used to define user characters */
void define_char(byte flash *pc,byte char_code)
{
byte i,a;
a=(char_code<<3) | 0x40;
for (i=0; i<8; i++) lcd_write_byte(a++,*pc++);
}

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

/* define user character 0 */
define_char(char0,0);

/* switch to writing in Display RAM */
lcd_gotoxy(0,0);
lcd_putsf("User char 0:");

/* display used defined char 0 */
lcd_putchar(0);

while (1); /* loop forever */
}

Mfg
Marcel ;)
Gast #73265
Lesenswert?
• ▲
▼
Hallo Fichte

Ein etwas anderer, handgestrickter Ansatz im Dateianhang!

Es ist auf die IDE von AtmanAVR zugeschnitten, aber die Funktionen
kannst Du sicher übernehmen (sind aber auf Deine Pin-Belegung zu
ändern).

Gruss
Toni

PS: siehe auch unter AVR-GCC/MSPGCC Forum => Thread "Selbst definierte
Charakter (Zeichen) auf LCD ausgeben"
Angehängte Dateien:
Gast #73269
Lesenswert?
• ▲
▼
@ Marcel : Das ist aber keine RTFM- Frage. Durch das posten von Code
kapiert's wohl auch keiner. Ich habe zum Beispiel ein Display von
Reichelt bestellt, die Anleitung ist 6-seitig. Das steht überhaupt und
null-komma-nichts drin, wie man User-defined characters erstellt. Es
ist lediglich eine Befehlsliste des KS0070B dabei. Ich habe das Display
erst (mit Verständnis meinerseits) ansteuern können, nachdem ich das
Datenblatt des Controllers gefunden habe - und das ist kein Manual ;-).
Hast Du's nur mit dem Manual geschafft ? Wenn ja, Respekt !

Fichte : http://www.mil.ufl.edu/imdl/handouts/lcd-faq.htm
Nettes (fast-)Tutorial, was mal auf die Schnelle alles wichtige
erzählt. Ich weiß es gibt auch 1001 andere LCD-Tuts, aber dieses hier
ist kurz und mit dem Datenblatt zusammen eine echte Hilfe (zumindest
für mich gewesen)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.