Forum: Compiler & IDEs LCD Externer Speicherzugriff in C (C51)


von Hölscher (Gast)


Lesenswert?

Hallo Mikrocontroller Freunde

Ich möchte mein 4*16 LCD-Display mit meinem 89S8252-Flash-Board
von Elektror ansteuern.

In der Beschreibung schreibt Elektor: Das LCD-Display ist am Datenbus
ansgeschlossen und belegt den Bereich oberhalb 8000h

8000h Kommando schreiben
8001h Kommando lesen
8002h Daten schreiben
8003h Daten lesen

Wie sieht nun mein C-Quellcode für die Initialisierung aus.
In Assembler habe ich es hin bekommen, nur mit C habe ich da so meine
Probleme.

Auszug aus dem Quellcode:

#define data_write 0x8002;
#define data_read 0x8003;
#define cmd_write 0x8000;
#define cmd_read 0x8001;

void LCDinit(void)   // Display initialisierung
{
    #asm

        lcall Busy
        mov DPTR,#cmd_write
        mov A,#60
        movx @DPTR,A
        lcall Busy

        u.s.w


Wie seiht nun dieser Auszug in C aus.

Mit freundlichen Grüßen
Christian

von Peter D. (peda)


Lesenswert?

Z.B.:

#define cmd_write (*((unsigned char xdata *)0x8000))
#define cmd_read  (*((unsigned char xdata *)0x8001))

char test( char d )
{
  cmd_write = d;
  return cmd_read;
}


Peter

von Hölscher (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort.

Jetzt habe ich nur noch ein Problem:
Was muss ich der Keil uVision2 Software einstellen um das Display zum
laufen zu bekommen. Ich verwende diese Software erst seit kurzem.

Mit freundlichen Grüßen
Christian

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.