What are the features of the Intel 8051 architecture that allow it to successfully act as a microcontroller? Hypothetically can the general-purpose 8-bit architecture like Intel 8080 do everything the 8051 can? If not, why?

For example, can the bit addressable IO ports of the 8051 be emulated by using bitmasking with the IN and OUT commands of the 8080? Or are the IO ports of the 8051 intrinsically different from the databus of an 8080? For example modern microcontrollers often have dedicated circuitry for the IO ports, did the 8051 have to do this to become a microcontroller?

Assume that the memory, UART, and timer/counter of the 8051 are made external. That is they are interfaced with as external devices as they would be in the 8080.

closed as off-topic by Raffzahn, Spektre, wizzwizz4 Sep 12 '18 at 21:56

  • This question does not appear to be about retrocomputing, within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 6
    This question sounds terribly like taken form a text book. Almost as if someone doens't want to do his homework. Simple answer: A micocontroller is an integration of a microprocessor, RAM, ROM and ports into one chip. Join an 8080 with these other compnents and you'll get an 8080 based micocontroller :) And most important, a question that isn't anywhere RC related (just plunging in 8080 and 8051 instead of modern devices doesn'T make it), but about basic IT knowledge - so EE or SE main site might be a better target. – Raffzahn Sep 11 '18 at 22:42
  • 3
    I'm voting to close this question as off-topic because Not RC related - just because some old CPU/MCU names are used doesn't make such a generic school book question valid here – Raffzahn Sep 11 '18 at 22:45
  • 1
    @Raffzahn. Not a textbook question, I'm not a student. I have read and reread the wikipedia pages, technical manuals, and pretty much anything I can get my hands on with regards to the two chips. I am new to electronics so a lot of it goes over my head. I am curious if an 8080 can do everything an 8051 can given the right external hardware and what was so revolutionary about the 8051. – Jet Blue Sep 11 '18 at 22:45
  • 1
    Nonetheless it sounds exactly like your teacher made it up for you. It's simply CPU vs. MCU (MicroControlerUnit). A Microcontroller is a combination of processor, RAM, ROM and I/O in one package/Chip. It's nothing Architectural, just packageing. Much like a 6500/11 is a 6502 with RAM,ROM and IO in a package. Similar combination are available for next to any CPU. And la but not least, 8080 and 8051 are not related in any way. Total different developments, none is split of the other. – Raffzahn Sep 11 '18 at 22:50
  • 1
    On top of all this they are completely different architecture see What’s the difference between Von-Neumann and Harvard architectures?. Their core is also non related at all (different registers/operations/iset). The port means very different things for each of them ... What makes a MCU an MCU is that it has all the stuf on board so it does not need any additional IC or stuff ... single chip is a whole computer (apart the first chips without EEPROM,RC/XTAL) – Spektre Sep 12 '18 at 9:55

I'll keep this answer relevant to retrocomputing. The remaining aspects of your question belong in Electronics.SE.

Without getting into those particulars, you ought to know that these chips are not at all related. One is not the ancestor of the other. They are entirely different architectures.

The 8080 was the CPU for the Altair, the first popular microcomputer, the computer on which Bill Gates wrote his first BASIC interpreter, and an extremely important milestone in computing history. However, that particular chip is now completely obsolete, although it was a major influence on architectures still in use such as the x86 and the Z80.

The 8051 was never used as a main processor in a commercial system, but had some use in peripherals and embedded applications such as microwave ovens. The architecture is still used today.

  • 4
    "The architecture is still used today" mainly to torture students :P j/k – Tommylee2k Sep 12 '18 at 6:18
  • 6
    "The 8051 [...] had some use in peripherals and embedded application" Thats about the understatement of the century (pick any) 8051 (and it's carried over architecture) may as well be the most used on this planet. Thanks, that comment made my day :)) Now, more serious, I would hesitate to call teh Altair the first comemrcial successful one, as there where several 8080 systems before, some even sold longer than the Altair. Calling it 'first widely popular' sounds more like it. Similar being an 'extreme' milestone. Last but not least, the 8080 lives on in many embeded cores thru the Z80. – Raffzahn Sep 12 '18 at 16:00
  • @Tommylee2k: I think that depends on whether you are programming in assembler versus C. IMHO the 8051 is the easiest platform for programming in assembler; e.g. no other architecture makes it so easy to manipulate bits or handle interrupts. Although it has many C compilers, it was never designed for C (e.g. small stack, separate address spaces, the bit instructions have no direct equivalents in C). So a person used to high level languages may be frustrated that they have to program the 8051 in assembler. – Dr Sheldon Sep 12 '18 at 16:56
  • 2
    You don't really have to program the 8051 in assembler if you are used to high level languages. With the single-cycle 8051 redesign from about 15 years ago the instruction throughput is much higher which makes up for the architectural inefficiencies that kept C programs slow. Modern 8051s have extended on-chip RAM for the stack too. – raisin-wrangler Sep 12 '18 at 17:09
  • @Raffzahn If I recall, even the ubiquitous SD card often uses a very heavily modified 8051 core as a microcontroller (though sometimes it uses ARM)! – forest Sep 15 '18 at 2:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.