只要足够便宜,就不过时。
MCS-51推出的太早(1980),现在所有专利都过期了,任何厂家都可以生产出售指令系统跟51兼容的单片机,这样就可以利用近40年来积攒下来的大量软件资源。由于厂家多,竞争充分,所以同样配置的51单片机比其他专有指令系统的8位单片机(例如 ** R,STM8之类)要便宜很多。
另外51汇编非常适合手写,如果程序小,直接写汇编就行了,在工具链上的负担可以减到最小。
其实现在这个情况下,最尴尬的是 ** R。 ** R发明出来的时候,51大都还是12个周期一条指令的,所以大部分指令都是单周期的 ** R非常占优势;然而现在很多兼容51也做到了大部分指令是单周期的,这样在同样的主频下就能比原始版51快出10倍左右来(不是严格的12倍是因为有些指令在原始版51上是24个时钟周期,而在现在的大部分“单周期”51上是4/5个时钟周期),效率和 ** R接近。另外 ** R的大部分指令都是2字节的(另外有几条4字节指令),而51指令系统中有一大半的单字节指令,在代码密度上51也可以更强(当然这取决于编译器)。
最关键的问题是,在一块多钱能买到16kB FLASH,1kB+256B SRAM,连USB控制器都带的51,6块多钱能买到 ** kB FLASH,20kB SRAM的Cortex-M0的现在,要啥7块钱的ATMega8A……
利益相关:用了很多年 ** R。