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
Meiner Erinnerung nach kann man an alle "normalen" 8048/8049 ein externes ROM anschließen. Ich empfehle den Blich ins Datenblatt!
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.
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?
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.