跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
低温漂电阻捷比信 · 专业器件主题站

今天,是MCU开发人员使用C语言工具的时候了

将C移植到8051的MCU(通常称为MCU)中开始于1980年代中期和后期。客观地讲,将C移植到8051MCU有很多困难。如:8051的非冯·诺伊斯结构(程序和数据存储空间是分开的),加上芯片上有更多的可按位寻址的存储空间;片上数据和程序存储空间太小,并且在片外同时进行扩展是可能的; 8051芯片具有大量派生类别(达到数百种),并且C语言必须能够毫无例外地在其每种硬件资源上进行操作。这些都是过去基于MPU的C语言所没有的。经过Keil / Franklin,Archmeades,IAR,BSO / Tasking等公司的艰苦努力,它终于在1990年代成熟并成为一种专业的MCU高级语言。所谓的“高级语言生成的代码太长并且运行速度太慢,因此它不适合单芯片使用”。困扰了很长时间的人们已经大大克服了。目前,8051上C语言的代码长度已达到汇编水平的1.2〜1.5倍。在4K字节以上,可以充分发挥C语言的优势。至于执行速度的问题,只要有一个好的模拟器的帮助,找出关键代码,并进一步使用人工优化,就可以轻松达到非常满意的程度。就开发速度,软件质量,严格的结构,可靠的程序等而言,C语言的完美绝不能与汇编语言编程相提并论。今天,确实是MCU开发人员选择C语言工具的时候了。下面结合8051描述单片机C语言的优点:在不了解单片机指令集的情况下,可以编写完善的单片机程序。在不了解单片机的特定硬件的情况下,可以编译出符合硬件实际专业水平的程序。实现覆盖范围以有效利用芯片上有限的RAM空间;程序强大:数据损坏是导致程序异常运行的重要因素。 C语言对数据进行了大量的专业处理,避免了操作过程中的非异步破坏; C语言提供了复杂的数据类型(数组,结构,联合,枚举,指针等),从而大大增强了程序的处理能力和灵活性。提供专门用于8051单片机的存储类型,例如自动,静态,const和数据,idata,pdata,xdata,代码和其他存储类型,并为变量自动分配地址;提供小,紧凑和大等编译模式以适应片上存储器的大小;中断服务程序的现场保护和恢复以及中断向量表的填充与微控制器直接相关,并由C编译器处理。提供常用的标准函数库,供用户直接使用;头文件定义宏,解释复杂的数据类型和功能原型,有利于程序的移植以及支持单片机的序列化产品的开发;有严格的语法检查,几乎没有错误,并且可以在高级语言级别轻松,快速地进行分类。它可以轻松接受各种实用程序的服务:例如,片上资源的初始化是由特殊的实用程序自动生成的;另一个示例是实时多任务操作系统,可以调度多个任务,简化用户编程并提高操作安全性等。