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

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

3天内不再提示

为什么C语言是最适合单片机编程的高级语言

Wildesbeast 来源:今日头条 作者:C语言编程学习 2020-02-03 16:09 次阅读

单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。

这个问题的意思应该是:现在有很多很好用的高级语言,如javapython,VC等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不能不能,而是不合适。

一、单片机编程的特点

对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。

第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。

第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。

二、高级语言编写单片机程序的缺陷

高级语言可以实现更为优化的算法,更为方便的执行方案,但是,高级语言对程序存储空间的占用要比汇编和C语言多很多。这是最致命的一点,单片机有限的存储空间需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。

高级语言无法实现精确的时序控制。

三、C语言是一个折中选择

其实用C语言开发单片机也是一个折中方案,因为最适合单片机开发的编程语言实在太过晦涩难懂,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,还不如重新写一遍程序。

而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位

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

    关注

    5997

    文章

    43947

    浏览量

    620543
  • JAVA
    +关注

    关注

    19

    文章

    2903

    浏览量

    102977
  • C语言
    +关注

    关注

    180

    文章

    7522

    浏览量

    127423
收藏 人收藏

    评论

    相关推荐

    汽车ECU编程单片机C语言还是汇编语言

    汽车ECU编程单片机C语言吗?还是汇编语言
    发表于 01-26 06:08

    你用过哪些编程语言开发单片机

    C语言是最常用的一种用于单片机的开发语言,也是一种高级编程语言,具有较好的可移植性和可读性。对于
    发表于 12-04 10:18 323次阅读

    单片机C语言位操作的编程实现:置位和清零

    前面介绍了C语言编程的6种位操作,分别是按位与“&”、按位“或|”、按位取反“~”、异或“^”、左移“”。按位操作的定义介绍请查看这篇文章《单片机C语言
    的头像 发表于 11-28 09:35 2041次阅读
    <b class='flag-5'>单片机</b>C<b class='flag-5'>语言</b>位操作的<b class='flag-5'>编程</b>实现:置位和清零

    什么是C语言单片机有什么特点?为什么要用C语言编程

    随着技术的发展,电子产品越来越多,方便了我们的日常生活,大多数电子产品上都有单片机,而单片机是通过执行软件逻辑来实现功能的。而单片机编程最合适的编程
    的头像 发表于 11-21 10:06 679次阅读
    什么是C<b class='flag-5'>语言</b>?<b class='flag-5'>单片机</b>有什么特点?为什么要用C<b class='flag-5'>语言</b><b class='flag-5'>编程</b>?

    C语言进阶之嵌入式系统高级C语言编程

    电子发烧友网站提供《C语言进阶之嵌入式系统高级C语言编程.rar》资料免费下载
    发表于 11-18 10:32 1次下载
    C<b class='flag-5'>语言</b>进阶之嵌入式系统<b class='flag-5'>高级</b>C<b class='flag-5'>语言</b><b class='flag-5'>编程</b>

    单片机编程语言可以用c++吗?

    单片机编程语言可以用c++吗?
    发表于 11-09 06:40

    请问单片机用的是c语言的吗?

    请问单片机用的是c语言的吗?
    发表于 11-02 06:46

    单片机编程用什么语言

    单片机编程用什么语言
    发表于 11-01 08:06

    51单片机C语言程序100例分享

    51单片机C语言程序例程,通过简单的程序来学习51单片机适合入门级使用!
    发表于 10-09 07:19

    51单片机C语言入门教程

    学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,还有众多种类的单片机选择真是件让人头痛的事。在众多
    发表于 09-28 08:01

    目前流行的编程语言有哪些?如何选择

    普遍针对的是不同开发人员以及不同的开发用处,例如移动应用、游戏开发、web开发、分布式系统等。所以学习编程语言,最重要是找到最适合自己的语言,并融会贯通加以使用。
    的头像 发表于 09-21 14:45 702次阅读
    目前流行的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有哪些?如何选择

    8051单片机C语言编程入门指导手册

    8051单片机C语言编程入门指导书
    发表于 09-21 08:18

    怎么采用C语言编程序通过单片机的I/O端口点亮一个LED灯?

    怎么采用C语言编程序通过单片机的I/O端口点亮一个LED灯?  C语言是一门非常重要的编程语言
    的头像 发表于 09-02 17:05 2615次阅读

    单片机的c语言入门指南

    随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使 用高级语言开发,其中主要是以 C 语言为主,市场上几种常见的
    发表于 07-07 14:34 1次下载

    基于PASCAL的高级编程语言——SCL编程语言

    根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST
    发表于 06-20 10:20 1030次阅读
    基于PASCAL的<b class='flag-5'>高级</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>——SCL<b class='flag-5'>编程</b><b class='flag-5'>语言</b>