单片机为什么要使用C语言?

本文探讨了单片机使用C语言的原因,包括C语言在8051单片机上的移植历史和挑战。虽然早期存在代码长度和执行速度的问题,但随着技术发展,这些缺点已得到改善。C语言在单片机开发中提供了结构严谨、易于维护和高效利用内存等优势,如数据保护、复杂数据类型和存储类型分配,以及中断服务程序的管理。此外,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语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值