汇编语言:PIC12、16系列单片机只有38条汇编指令,没写错,就是三十来条指令,相对51和8086的CISC指令集来说来说,它属于RICS精简指令集,精简到什么程度,就是根本没有乘法和除法指令(PIC18和PIC24的则有乘法指令)。要做乘除,那就是循环加法或者循环减法,也有循环移位的方法。
汇编语言无非就是mov来mov去,时而跳转的操作罢了,不同系列的单片机有各自的汇编指令,一般都大同小异。
C语言:很容易理解,不同单片机它们的寄存器名、所在地址是不一样的,可以说这是低端单片机间的最大区别。但是它们有很大的共同点:即单片机无非就是采集数据(输入)—>运算—>输出操作,即Input和Output之间是累加器、寄存器之间的运算操作。
C语言是能直接操作硬件的高级语言,所以C语言很适合嵌入式开发。因为是高级语言,所以计算过程不用关心底层操作,只是在输入、输出过程需要用各自的名称、地址。
不同的单片机其硬件资源不同,各自的汇编语言也不同,因此如果用汇编的话,就完全不同的东东,好象一个是用中文,一个用越南语。
但如果用C编程的话,除了在定义单片机的引脚、寄存器上肯定是不一样的外,如果只涉及到计算,其语言还是差别不太。