Hi. I want to learn about 8 and 16 bit microprocessors but all of the ones I can find seem to be programmed using assembly language.
Are there any microprocessors that can be programmed using C (embedded) programming language?
Edit (some clarifications): I would like to build a retro computer using modern IC’s that’s why I’m looking for a 8 or 16 bit MPU specifically. I would like an MPU that can run program code from the external memory.
This project is for fun. I would like to get back into more embedded projects and programming. I like C programming. I never enjoyed assembly language.
If not already mentioned, consider the AVR Mega2560.
You can configure it to have, 32K of external address/data bus space, because it has so many pins, available.
It is 8 bit, and has an instruction set, somewhat similar, to early 8 bit processors.
It can go fairly fast, if you want, I'd have to look it up, but something like 16 MHz. (Compared to early 8 bit cpus, which only ran at 1 MHz, originally, 6502).
It is a modern and very available chip.
It has lots of built in peripheral I/O devices, a lot more than the usual arduino offerings.
Is a fully fledged arduino member, with the information sources and ready built boards/hardware availability.
But you can buy just the chip.
Quite a bit of onboard flash.
But another choice is the modern day 6502 versions, which can run at 14 MHz (instead of the usual 1 MHz), can optionally use an improved instruction set (old 6502 instruction set, still available, I think its boot options).
E.g.
https://en.wikipedia.org/wiki/WDC_65C02N.B. Different versions available, you choose.
At least one even in DIP 40 pin package, if you want.
Full external buses. Can't remember if multiplexed bus, probably is, if in 40 pin package, or some versions are multiplexed, I suspect.
List of cpus (WDC) here:
https://en.wikipedia.org/wiki/Western_Design_CenterWDC65C816, is optionally switchable between being an 8 bit cpu, and a 16 bit one. Yet it is 6502 based, but much faster and more capable, if you want.
https://en.wikipedia.org/wiki/WDC_65C816Or go old school, and get a 20 MHz capable, old style Z80 cpu. (I.e. instead of the old 4 MHz ones, they later came out at up to 20 MHz). If that is not fast enough, there are the Z180's (later still EZ80's already mentioned in thread).