单片机为什么要使用C言语?
单片机为什么要使用C言语呢?创客学院两分钟带你搞懂
将C向MCU(俗称单片机)8051上的移植始于80年代的中终期。客观上讲,C向8051 MCU移植的难点不少。如:
- 8051的非冯·诺依慢布局(步骤与数据存储器空间分立),再加上片上又多了位寻址存储空间;
- 片上的数据和步骤存储器空间过小和同时存在着向片外扩展它们的约莫;
- 片上集成边沿装备的被存放器化(即SFR),而并不接纳习用的I/O地点空间;
- 8051芯片的派生门类特别多(到达了上百种之多),而C言语关于它们的每一个硬件资源又无一例外地要能举行利用。
这些都是已往以MPU为基本的C言语所没有的。颠末Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艰若不懈的积极,终于于90年代开头而趋成熟,成为专业化的MCU高等言语了。已往长时困扰人们的所谓“高等言语产生代码太长,运转速率太慢,因此不合适单片机使用”的致使缺陷已被大幅度地克制。现在,8051上的C言语的代码长度,以前做到了汇编水平的1.2~1.5倍。4K字节以上的水平,C言语的上风更能取得发扬。至于实行速率的成绩,只需有好的仿真器的协助,找出紧张代码,进一步用人工优化,就可很简便地到达十分完满的水平。假如谈到开发速率、软件质量、布局严谨、步骤安稳等方面的话,则C言语的完善绝非汇编言语编程所可比力的。今天,的确以前到MCU开发职员拿起C言语利器的时分了。
底下团结8051先容单片机C言语的出色性:
- 不明白单片机的指令集,也可以编写完善的单片机步骤;
- 无须明白单片机的具体硬件,也可以编出切合硬件实践的专业水平的步骤;
- 不同函数的数据实行掩盖,好效使用片上仅限的RAM空间;
- 步骤具有安稳性:数据被毁坏是招致步骤运转特别的紧张要素。C言语对数据举行了很多专业性的处理,制止了运转正中非异步的毁坏;
- C言语提供繁复的数据典范(数组、布局、团结、摆列、指针等),极大地加强了步骤处理才能和机动性;
- 提供auto、static、const等存储典范和专门针对8051单片机的data、idata、pdata、xdata、code等存储典范,主动为变量公道地分派地点;
- 提供small、compact、large等编译形式,以顺应片上存储器的轻重;
- 中缀办事步骤的现场保护和规复,中缀向量表的填写,是直接与单片机干系的,都由C编译器署理;
- 提供常用的标准函数库,以供用户直接使用;
- 头文件中界说宏、分析繁复数据典范和函数原型,有利于步骤的移植和支持单片机的系列化产物的开发;
- 有严厉的句法反省,错误很少,可容易地在高等言语的水平上敏捷地被排掉;
- 可便利地承受多种实用步骤的办事:如片上资源的初始化有专门的实用步骤主动天生;再如,有及时多职责利用体系可调治多道职责,简化用户编程,提高运转的宁静性等等。