0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

今天,已经到MCU开发人员拿起C语言利器的时候了

GReq_mcu168 来源:玩转单片机 作者:玩转单片机 2020-10-17 10:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

将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编译器代办;

提供常用的标准函数库,以供用户直接使用;

头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;

有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉;

可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。

责任编辑:xj

原文标题:单片机为什么要使用C语言?

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45629

    浏览量

    675355
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19232

    浏览量

    405181
  • C语言
    +关注

    关注

    183

    文章

    7649

    浏览量

    146401

原文标题:单片机为什么要使用C语言?

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言核心视频课程-从小工专家

    pan.baidu.com/s/1g64x9D_jp9ufk4uBpQBmvA?pwd=497f 当然可以,我来帮你写一篇关于“未来底层开发首选:C 语言核心课,从小工专家的硬核进阶
    的头像 发表于 04-18 15:42 557次阅读

    蓝牙信道探测工作原理及开发套件

    BluetoothChannelSounding蓝牙信道探测为各种联网设备带来真正的距离感知功能,为开发人员带来无限可能。从增强数字密钥的安全性,优化“查找我的”方案的性能,蓝牙信道探测将深化我们
    的头像 发表于 03-12 16:26 584次阅读
    蓝牙信道探测工作原理及<b class='flag-5'>开发</b>套件

    软件定制开发人员相关的公司有哪些

    软件
    北京华盛恒辉科技
    发布于 :2026年03月02日 20:32:34

    探索DSC Multilink:调试利器的技术剖析

    是一款专门用于加速调试和闪存编程过程的调试接口,它能为开发人员节省大量宝贵的开发时间。通过该接口,目标设备可以与笔
    的头像 发表于 12-24 17:05 518次阅读

    恩智浦全新FRDM开发板的功能优势

    FRDM搭载MCX微控制器 (MCU) 强势回归,为开发人员提供一个超越硬件的灵活模块化平台。在当今瞬息万变的科技世界中,FRDM凭借其对i.MX应用处理器、通用MCU以及无线MCU
    的头像 发表于 12-11 14:54 2679次阅读

    单片机C语言编程的心得

    文档,一方面可以公开发行,保证开发人员的所有权;另一方面可以防止别人有意或无意修改产生非一致性,造成版本混乱。所以H头文件是项目的详细设计和团队工作划分的依据,也是对模块进行测试的功能说明。要引用模块内的数据或算法,只要用包含include指定模块H头文件即可。
    发表于 12-08 07:44

    单片机开发功能安全中编译器

    的行为将符合开发人员的意图。对调试工具使用的数据的“后门”访问代表语言不允许的另一种情况,因此可能会带来意想不到的后果。 编译器优化可能对所有这些领域产生重大影响,因为它们都不属于编译器供应商
    发表于 12-01 06:44

    现已上市:AMD Spartan UltraScale+ FPGA SCU35 评估套件——面向所有开发人员的经济实惠平台

    的路径。 该套件搭载具备 I/O 扩展和板卡管理功能的 Spartan UltraScale+ SU35P 器件。其还为 AMD 成本优化型产品组合带来了多项新进展,并使开发人员能够快速启动
    的头像 发表于 11-27 10:52 713次阅读

    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为开发人员提供当地先进技术资源助力客户加速创新!

    班加罗尔 (Bengaluru) 正式成立首座设计中心。此新中心将作为以客户协作与创新为核心的研发枢纽,为当地开发人员提供完整的设计工具与技术支持,包括运用 Bourns 具业界领先地位的电源与保护组件之参考设计专业服务。 Bourns 印度设计中心采用成熟流程,协助客户快速进
    的头像 发表于 11-19 14:26 784次阅读
    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为<b class='flag-5'>开发人员</b>提供当地先进技术资源助力客户加速创新!

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断学习新的技术和工具,以满足不断变化的需求
    发表于 11-13 08:12

    Texas Instruments TMDS273EVM MCU评估模块 (EVM)数据手册

    Texas Instruments TMDS273EVM MCU评估模块 (EVM) 是一个独立的测试、开发和评估平台,帮助开发人员评估AM273x的功能和为各种应用开发原型。
    的头像 发表于 08-03 10:06 1596次阅读
    Texas Instruments TMDS273EVM <b class='flag-5'>MCU</b>评估模块 (EVM)数据手册

    【HZ-T536开发板免费体验】3 - Cangjie Magic调用视觉语言大模型(VLM)真香,是不是可以没有YOLO和OCR

    感谢电子发烧友和合众恒跃提供的试用机会。 引言 上次我们已经实现交叉编译仓颉编程语言的程序在开发板上运行。今天我们会交叉编译Cangjie
    发表于 08-01 22:15

    从个人企业商业巨头:35 美元小板子撬动 10 亿美元的数字标牌市场

    借助灵活的工具,使用树莓派轻松构建定制数字标牌应用。意识开发人员受到不灵活的、基于云的数字标牌应用的限制,Screenly试图利用现代开发环境中熟悉的工具,为他们提供设计灵活的定制屏幕应用。
    的头像 发表于 07-13 20:15 945次阅读
    从个人企业<b class='flag-5'>到</b>商业巨头:35 美元小板子撬动 10 亿美元的数字标牌市场

    嵌入式软件开发常用的软件有哪些?

    软件功能。 2. Visual Studio 简称VS: 它是一个IDE,集成开发环境。验证C程序或是进行c#程序开发,可以用它。一些与嵌入式相关的模拟器也是基于VS的。帮助
    发表于 07-03 17:06

    Nordic PMIC全家桶,让电源管理和节能更进一步!

    Nordic 发布 nPM2100 PMIC 和 nPM2100 评估套件,现已向开发人员提供 nPM2100 评估套件、软件和技术文档! 此次发布公布 PMIC 的完整文档,供开发人员
    发表于 06-29 17:19