Forum: Mikrocontroller und Digitale Elektronik Externer Speicherzugriff in C (Keil 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 Burkhard Zippel (Gast)


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

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

von Burkhard Zippel (Gast)


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

von Hölscher (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort.

Kennt jemand vieleicht das Buch was auf www.C51.de angeboten wird?
(Der Keil C51-Compiler)

Ich finde das hört sich doch ganz gut an oder?

von Tipper (Gast)


Lesenswert?

Hölscher:

Das sind zwei Bücher, Band1 und Band2.

Diese Bände sind das Standartwerk für 8051er in Verbindung mit
µVision.

Sehr empfehlendswert!

von Peter D. (peda)


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

von Hölscher (Gast)


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

von Peter D. (peda)


Lesenswert?

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

Neue Frage -> neuer Thread !


Peter

von Peter D. (peda)


Lesenswert?

"Neue Frage -> neuer Thread !"


Das gilt aber auch umgekehrt:

Keine neue Frage -> kein neuer Thread !


Nun sinds ja schon 3 Threads zu Deinem DS1302. Damit erreichst Du nur
das Gegenteil.

Ich weiß jedenfalls nichts dazu und habe auch keine Lust danach zu
Googlen.


Peter

von Hölscher (Gast)


Lesenswert?

OK das verstehe ich aber ich muss weiter suchen..
Ich muss den Baustein unbedingt programmieren.

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.