Externer Speicherzugriff in C (Keil C51)

Gast #62154
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
Gast #62155
Lesenswert?

Hi,

ganz einfach

#define data_write (*((unsigned char volatile xdata *) 0x8002))
#define data_read  (*((unsigned char volatile xdata *) 0x8003))

evt. unnötige viele klammern!

zugriff

data_write= 0x55;
var= data_read;


oder

#define data_write 0x8002;
#define data_read 0x8003;


#define X_BYTE  (unsigned char volatile xdata *) 0)

X_BYTE[data_write]= 0x55;
var= X_BYTE[data_read];

siehe auch Keil hanbücher!

BZ
Gast #62156
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
Gast #62157
Lesenswert?

Hi,

Beispielprogramme von Keil anschauen und mal in den Handbüchern
"uVision2 Getting Started" -liegt als pdf bei Keil dabei - lesen.

oder

die uV2 Projectfile(s) zur Verfügung stellen.

BZ
#62160
Lesenswert?

Solche Bücher sind ja immer schweineteuer.

Daher würde ich sie mir erstmal ausleihen und nicht gleich die Katze im
Sack kaufen.

Bisher fand ich die meisten Mikrokontroller-Bücher nicht besonders
informativ. Oftmals sind das quasi nur die Datenblätter ins Deutsche
übersetzt. Da dabei Fehler auftreten können, nehme ich doch lieber die
englischsprachigen Originale.

Von dieser Webseite hatte ich mir mal das DCF-77 Beispiel angesehen und
war sehr enttäuscht. Es war weder effizient noch brauchbar (wer will
schon 2 Minuten lang seine CPU totlegen). Obs fehlerfrei war, habe ich
daher garnicht erst getestet.


Peter
Gast #62161
Lesenswert?

Vielen Dank Peter ich habe gerade ein großes Efolgserlebnis mit meinem
LCD-Display gehabt.

Meine Aufgabe ist es eine Steuerung mit einem DS1302 Timekeeper
aufzubauen.

Hast du vieleicht Infos über den genauen Anschluss..

Schöne Grüße Christian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren