1.型号不同,但是核心一样的话,这样的单片机指令系统是一样的。比如基于MCS-51核心的单片机AT89C51、AT89S52、SST89C58、W77E058、C8051F020等,都是一样的指令系统。
但是有点例外,比如AVR核心单片机,对于AT90、Attiny和Atmega系列都有基础的79条指令,后面随着单片机的发展而出现扩展指令集,比如Attiny单片机为79条指令,AT90系列为118条指令、Atmega8有130条指令,而Atmega128以上的扩展为133条指令。即相同的核心,但是因为结构越来越高级而增加的指令就越多。
2.“有没有一种不同型号单片机通用的统一指令系统,从而只需要学一种语言然后经过编译后就可以对它们进行操作?”——这问题已经回答了,如果型号不同,但是核心相同,那指令就一样,不用重复学习;但是核心和型号都不相同,那就没办法了,只有老老实实的学习。
3。C语言可以越过汇编语言的问题,但是你要注意C程序移植和编写时仍需要注意单片机构架,比如电脑使用的C语言的printf()函数是在屏幕上显示内容,但是在单片机中的这个函数就会是别的情况,这点是非常需要注意的。
一般来说不同单片机指令参数都不一样的
即使是同一型号的不同版本可能都不一样
如果你用汇编写了后要移植程序就必须重新搞过了
所以说C语言就有非常大的优势了
因为单片机现在基本都支持C编译的
移植的时候只要从定义的宏里面改相应的参数和其它硬件对应的端口和引脚就行了
我就是直接学C语言的,我连单片机都没接触过
现在工作需要搞了单片机,不过还是要了解汇编,这样才能更加明白原理