First one have to spearate peripherals from CPU, you can put simple peripherals around an 8051 and extremely complex ones around a Cortex-M4 and vica versa. Selecting a device with simple peripherals should be part of the criteria when selecting a part to use for an intro training (Save the bluetooth, RF, USB ++ peripherals for the later courses).
The 8051 is an old single accumulator CPU and it is outdated in regards to both performance and power consumption. The only adoption we see of it today is people who have large code bases and do not have the resources to port it to new micros, i.e. there is hardly any new code developed on 80561 compared to AVR, STM8, MSP430 and PICs.
I would think that one would be better of by using an AVR (like fabLab is doing as well as Arduino), PICs or MSP430. These are still releatively simple architectures that all can connect to DMAs and different memory structures and work very well as a platform to learn the basics of computer architecture. If you learn a bit about all of them you can also see benefits of a linear address map vs paging etc.
In short i would suggest a modern 8/16 bit architecture because:
- Still simple enough to use for your first projects
- Used in multiple industries today, so what you learn in school is 1-to-1 to what is expected from you when you start working
- Made for C.
Thank you for posting a knowledgeable content it helps me to build a project with 8051 ic
ReplyDeleteJTAG