Forum: Mikrocontroller und Digitale Elektronik LCD Laufschrift ausgeben


von microx (Gast)


Lesenswert?

Hi hab folgendes Problem, will auf einem 4x20Display eine Laufschrift in 
der 3. und 4. zeile ausgeben ich bin allerdings nicht besonders fit im 
Programmieren, bin noch am lernen hab nun mit codevision AVR mir etwas 
zusammen getippt womit ich zumindest schonmal alle zeichen aufs Display 
bekomme.Aber ich hab nicht wirklich ahnung wie ich eine Laufschrift 
programmieren soll evtl. ist ja jemand hier der mir helfen kann oder mir 
einen Intressanten link nennen kann.

Code:

#include <90s2313.h>
#include <delay.h>
#include <lcd.h>

// LCD Funktionen werden initializiert
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm

typedef unsigned char byte;

flash byte char0 [8]={
0b0000000,
0b0001111,
0b0000011,
0b0000101,
0b0001001,
0b0010000,
0b0100000,
0b1000000};

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++);
}
unsigned short vari;

void main(void)
{

// PortB als Output gelegt für LCD Ausgabe auf 4Bit Basis
PORTB=0x00;
DDRB=0x00;

// LCD Typ wird initializiert
lcd_init(20);
define_char(char0,0);

// go on the second LCD line
lcd_gotoxy(0,0);
lcd_putsf("12345678901234567890");

lcd_gotoxy(0,1);
lcd_putsf("12345678901234567890");

lcd_gotoxy(0,2);
lcd_putsf("12345678901234567890");

lcd_gotoxy(0,3);
lcd_putsf("1234567890123456789");

lcd_putchar(0);

while (1);
}


Harware ist ein AT90S2313 und ein 4x20 Display als Software steht 
Codevision AVR zur verfügung.

vielen dank schonmal im vorraus

von Dirk H. (arm-dran)


Lesenswert?

ich könnte Dir momentan eine ASM Routine für 8051 anbieten,
wenn Dir das was nützt!?

Könntest Sie dann vom Verständnis her auf AVR umstricken.
Sie arbeitet mit HD44780 Controllern.

Dirk

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
Noch kein Account? Hier anmelden.