第1个回答 推荐于2017-09-25
主要是IO口、中断及寄存器,不太一样。
单片机c语言增加了一些基本的指令 变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。
但是在单片机上的C语言多了一些特定的指令,如SFR定义寄存器指令,在标准C上是没有的; 在标准C上的有些库,在单片机上是不支持的, 可以这么说,单片机C是标准C的子集,在这基础上,加上了一些单片机特定的指令构成。
第2个回答 2014-04-30
单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的 C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器 具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同