单片机入门必知 | C与单片机C不一样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机入门必知 | C与单片机C不一样?相关的知识,希望对你有一定的参考价值。

许多小伙伴在学完C语言后想入门单片机,但学着学着发现明明都是C语言,为什么单片机C语言和我当初学的C语言有差异呢?今天小编就来梳理我们平时所学的C语言与单片机C语言的有什么样的不同。


 

单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。具体体现在:

 

1.单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的。

 

2.C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3   WINDOWS上的VC 8051C51都有自已的编译器 。具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。

 

3.单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短运行速度高存储空间小符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。

 

C51本质就是C,是为在单片机上使用C而出来的,如果C不牢固,还是多掌握一点C再学C51,不过新增的知识也不少,而且基本上跟C无关。

 

4.C只是一种高级语言。它除具有一般高级语言的功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把一些单片机的端口或特殊功能寄存器加于定义,使之方便于在 写语句的时候,直接直观的编写。这样就差不多是单片机C语言。

 

结语C语言是我们入门编程所学习的一门语言,也是ios开发、单片机开发等应用上具有重要应用的一门语言,虽然C语言与单片机C语言、C++C#等有或小或大的差异,但他们的编译机理、表达形式都是一样的!

 



以上是关于单片机入门必知 | C与单片机C不一样?的主要内容,如果未能解决你的问题,请参考以下文章

成为单片机高手必知的三个步骤

单片机入门与实战

推荐一本很好的51单片机书籍,适合新手入门学习。

江科大51单片机入门学习笔记合集

STM32单片机入门 寄存器版 跑马灯不亮

51单片机c语言