Forum: Mikrocontroller und Digitale Elektronik NEC 8749HC auch mit externem Programmspeicher Nutzbar?


von Matze (Gast)


Lesenswert?

Hallo,

Habe 5 NEC D8749HC - Controller.

Im Datenblatt steht das sie ein internes einmal Programmierbares ROM 
haben.

Ist es möglich sie mit externem Programmspeicher zu nutzen?
Wenn nicht fliegen sie raus.

Grüße
Matze

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Meiner Erinnerung nach kann man an alle "normalen" 8048/8049 ein 
externes ROM anschließen. Ich empfehle den Blich ins Datenblatt!

von Soul E. (Gast)


Lesenswert?

Aber sicher geht das. Den Pin EA auf High und los gehts!

Die Polarität ist umgekehrt als beim 8051 -- bei dem ist /EA low-aktiv.


8749 haben EPROM-Speicher. Die mit Glasfenster lassen sich löschen und 
neu beschreiben, die im schwarzen Plastikgehäuse sind Einweg. Auslesen 
kann man sie aber, Kopierschutz gab es damals noch nicht.

von Matze (Gast)


Lesenswert?

Danke, dann kann ich sie also nutzen.

Nun verstehe ich nicht wie ich einen externen Programmspeicher 
anschließen kann.

Der Controller hat laut Datenblatt nur einen 8Bit-Datenbus auf welchem 
während eines LOW an ALE die unteren 8 Bit des Programmcounters 
anliegen.

Dazu werden die 4 oberen PC - Bits am P1 ausgegeben.

Folglich lassen sich maximal je 4K-Bytes Programm / RAM ansprechen.

Ich finde das ist sehr wenig selbst im vergleich zum 8051 der zumindest 
64K-Byte Addressieren kann.

Dann frage ich mich noch womit ich ihn in Assembler / C Programmieren 
kann.
Eventuell mit Keil uVision?

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Naja, die Kiste ist schon sehr, sehr alt.
Und sie war nur als Peripherie-CPU konzipiert, als Tastatur- o.ä. 
Steuerprozessor. Schau mal, hier ist einer drauf:
Beitrag "Re: Suche MOPPEL Projekt in Heft oder .PDF"

wer benötigt schon 64kB in einer Tastatur?

... und irgendwie habe ich in Erinnerung, daß diese CPU nur einen 
Sprungbefehl für Sprünge innerhalb einer Page hat, und keinen direkten 
Sprungbefehl für irgendwohin im ROM.

Nimm also besser was modernes. C auf so einer Kiste? Lass bleiben. Wohin 
mit all den Funktionsbibliotheken bei so wenig ROM? Da geht dann 
Assembler. Ich hatte damals den TASM benutzt, hat gut funktioniert.

Viel Spaß damit!

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Matze schrieb:
> Der Controller hat laut Datenblatt nur einen 8Bit-Datenbus auf welchem
> während eines LOW an ALE die unteren 8 Bit des Programmcounters
> anliegen.

Gemäss dieses Datasheets sind die 49er alle gleich, und da steht auch 
drin wie es geht: http://console5.com/techwiki/images/4/4a/MCS-48.pdf

> Folglich lassen sich maximal je 4K-Bytes Programm / RAM ansprechen.

Das war Intels erster Anlauf eines Mikrocontrollers. 4K war damals 
reichlich, mehr war nicht vorgesehen.

> Dann frage ich mich noch womit ich ihn in Assembler / C Programmieren
> kann. Eventuell mit Keil uVision?

C Compiler wird nix, fürchte ich. Assembler gibts aber.

von (prx) A. K. (prx)


Lesenswert?

Joerg L. schrieb:
> Sprungbefehl für Sprünge innerhalb einer Page hat, und keinen direkten
> Sprungbefehl für irgendwohin im ROM.

Bedingte Sprünge innerhalb 256 Bytes, Jump/Call innerhalb 2048 Bytes.

von Soul E. (Gast)


Lesenswert?

Matze schrieb:

> Der Controller hat laut Datenblatt nur einen 8Bit-Datenbus auf welchem
> während eines LOW an ALE die unteren 8 Bit des Programmcounters
> anliegen.

Genau. Die werden mit einem Latch aufgefangen. Hier ist eine 
entsprechende Schaltung: http://dk5zm.darc.de/funk/mcs48


> Folglich lassen sich maximal je 4K-Bytes Programm / RAM ansprechen.

Wobei in der Praxis selten mehr als 2kB verwendet wurden. Der 8048 hat 
1kB, aufgeteilt in vier 256 byte-Blöcke

> Dann frage ich mich noch womit ich ihn in Assembler / C Programmieren
> kann.

C gab es damals noch nicht. Eventuell hat mal ein Spassvogel gcc 
portiert. Programmiert wurde in Maschinencode. Entweder per Assembler 
oder durch Direkteingabe der Hex-Zahlen.
http://john.ccac.rwth-aachen.de:8000/as/

Du brauchst dann noch irgendwas, das EPROMs simulieren kann. Früher 
hatte man eine Kiste mit ca 50 Stück. Da wurde das aktuelle Programm 
reingebrannt, dann kam das EPROM in die Schaltung, ausprobieren, läuft 
nicht, Code ändern, neues EPROM. Bis zur Mittagspause hatte man dann 
30-40 Stück verbraucht, die kamen dann in die Löschmaschine. Und nach 
dem Mittagessen ging es dann weiter...

Daher brauchst Du irgendein Gerät, dass sich auf der einen Seite wie ein 
EPROM verhält und auf der anderen mit einem heutigen PC verbunden werden 
kann.

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.