??? 05/25/12 14:16 Read: times |
#187522 - I doubt it'll hurt you ... Responding to: ???'s previous message |
If you look at the 8051 datasheet, specifically, the one that applies to the "most basic" 8051, you'll see that the Intel folks provided a mechanism for expanding the memory size. Modern components have significantly reduced the need for such methods, but most of them still support it. P0 can be used as the data bus as well as the low byte of the 16-bit address bus, and P2 provides the upper byte of the 16 bit address, all of which occurs during ALE for addresses. If you look at the diagrams the datasheet normally provides, you can latch the addresses during ALE, and buffer P0 if necessary for the data bus, controlling direction with the (nPSEN AND nRD) signal. If you use your imagination and carefully read the datasheet, you'd notice that the port data on P2, for example, is valid at the rising edge of ALE, which means that the outputs can be registered with that rising edge, thereby providing static outputs.
All of this may be "interesting" but is generally superseded by such devices as the 80-pin SiLabs parts, which have, take your pick, eight ports or four plus a static external address bus. If you can grok the setup, then you should have no trouble getting what you need, up to 128KB of program store, 8KB of on-chip "XRAM" in addition to the usual 256 bytes of on-chip RAM, as well as a bunch of on-chip peripheral options, should you choose to use them. You'll need to understand more than "just the basics" no matter what, if you intend to perform useful work in any discipline. Embedded hardware/software is no exception. You still have to do the work. RE |