??? 02/09/07 18:20 Read: times |
#132394 - Mike ... It looks as though you want ... Responding to: ???'s previous message |
From reading all the replies to comments that you've made, that you have no oscilloscope, no logic analyzer, and no EPROM/EEPROM/PROM programmer. Do you have a multimeter? Do you have a reasonable supply of various logic components (74xxx-types)? What about passives (resistors, capacitors, inductors, etc.) and what about other semiconductors (transistors, diodes, etc.)?
It appears that what you want is to get your 80C51 running as an 80C31, with your EEPROM as the program store and the SRAM as data memory. Further, you want to program the EEPROM from a PC's parallel port and subsequently run the programmed code on the 80C51. You've stated that you have an 805x assembler at your disposal. You've stated that you have already written code that runs properly on the 80C51BH that you have, despite the fact that you operated the device at 18.432 MHz rather than the 12MHz or less for which the part is specified. So, from where I sit, it looks as though you want to be able to compose and assemble code on your PC, download it to your 80C51BH, and execute it there. Is that right? You've also stated that you don't want to be inserting and removing your EEPROM each time you change the code. Is there any further goal, i.e. do you really NEED to have the EEPROM programmer function as well? It would be pretty easy to use an SRAM rather than an EEPROM. If you use a 3-volt lithium battery and a couple of schottky diodes to isolate an SRAM, it would hold the code for you between cycles. You could even beg a sample of one of Maxim/Dallas' "smart-sockets" and plug the SRAM into that, which would supply the "hold" voltage to a CMOS SRAM. A 32KB CMOS SRAM costs about $0.60US in small quantity, so I can't imagine that you'd have trouble getting one, though they probably cost $2 or so at retail. You could, of course, beg a sample of a DS1230Y-120 from Maxim/Dallas. That's got the battery built in. It might take a week or ten days to arrive, but then you don't have to program an EEPROM. The reason I ask these questions is that it's unclear why you need the EEPROM programmer function. I accept that you need it, but what is the goal? Do you need an EEPROM programmer to program other EEPROMs? You said you have written an executed 805x code on that other system you built. How did you store the program there? 64 bytes is not a very big program. Are you sure that you can program an EEPROM with data from the PC's parallel port with only 64 bytes of code? How did you convince yourself of that without being able to program your EEPROM? You should probably ask yourself these questions: Why do I want to use an external EEPROM? Why do I want to use the parallel port? Why do I want to build a ROM in discrete hardware? Why am I willing to spend time, money, and other resources on this particular solution when, for just a few dollars, I can get a microcontroller that has internal program memory of 64KB, programmable through the serial port and is capable of supporting external SRAM if I want it? Why do I object to writing the assembled binary program to the SRAM, mapped, partially, into code space, and use that as program store in order to program the EEPROM? Once you've downloaded the code, you can reconfigure the circuit automatically to provide the desired memory map. An EEPROM can be programmed piecewise, so you can download 2K or so at a time and program it, then use the same 2KB space to download the next 2KB segment. I can understand your desire to use what you've already got, but perhaps others would like to see the answer. It looks as though you've got lots of time and money to spend on doing things the hard way. Surely there's a reason why you have to pursue this build-your-own-ROM strategy as opposed to something much quicker and easier. RE |