8051 Adress- und Datenbus, externe Peripherie und GLCD Problem

Gast #1688669
Lesenswert?

Hallo zusammen,

ich versuche schon seit mehreren Tagen meine externe Peripherie an einem 
80C517A Mikrocontroller in Betrieb zu nehmen, jedoch ohne irgendwie 
weiterzukommen.

An dem gemultiplexten Adress-und Datenbus sind EPROM(Programmspeicher), 
16Bit AD-Wandler, ein DA-Wandler und ein GLCD mit einem T6963c 
controller angeschlossen.

Die externe Peripherie reagiert jedoch nicht wenn Sie über XDATA 
angesprochen wird.

Einen Hardwarefehler schließe ich aus, da die Hardware mit der 
programmierung in Assembler funktioniert.

Nun soll aber die Software in C mit der Keil uVision 
Entwicklungsumgebung neugeschrieben und erweitert werden.

Bei der Programmierung in C bin ich mir aber nicht 100%ig sicher ob ich 
die zusammenhänge richtig verstanden habe.

Die Daten des LCD steuere ich über eine festdefinierte XDATA Adresse in 
dem eine Variable definiert wird.

extern unsigned char xdata LCD_PTR at 0xB000;

Um jetzt zum Beispiel die Daten auszulesen würde ich das 
"inhalt=LCD_PTR;" schreiben.

Ausserdem habe ich in der Startup.A51 datei den XDATA Berreich 
folgendermassen eingestellt.

XDATASTART: 0xAFFF
XDATASIZE:  0x0200

mehr habe ich nicht gemacht.
Das Programm bleibt immer bei der Abrage des Statuses vom t6963c hängen. 
D.h. für mich so viel, dass keine Daten vom Adress- und Datenbus 
eingelesen werden.

Vieleich kann mir ja einer helfen. Ich befürchte irgendetwas vergessen 
zu haben oder nicht zu wissen.

Ich würde mich über jede Hilfe freuen

Vielen Dank.
Gast #1689050
Lesenswert?

>Einen Hardwarefehler schließe ich aus, da die Hardware mit der
>programmierung in Assembler funktioniert.

>Nun soll aber die Software in C mit der Keil uVision
>Entwicklungsumgebung neugeschrieben und erweitert werden.


das ergibt wenig Sinn. C macht auch nur ASM daraus.
Warum versucht Mann oder Frau sich an so alten Controllern ohne 
grundlegende Hardwarekenntnisse zu haben. Wenn Euer Ausbilder vergessen 
hat Euch Hardwarecodierung bei zu bringen, sollte er es nicht verlangen. 
Oder Mann oder Frau sollte zuhören statt Frecell zu spielen. Wie auch 
immer. Die Adressdecoder sollte man schon im Plan sehen. Dann wird sehr 
schnell vieles klar.

ps.:
ist das Projekt einfach nur um sich selbst zu quälen oder eine Aufgabe ?
Gast #1689760
Lesenswert?

Vielen Dank für die schnellen Antworten.

Der Fehler ist beseitigt. Die XDATASTART war falsch eingestellt.
Zusätzlich wurden die RD und WR Pins des T6963 über die "normalen" Ports 
eingesteuert. Und das ging natürlich immer schief. Nun werden die Pins 
des T6963 mit den WR und RD Ausgängen des 8051er eingesteuert.

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