原创 单片机为什么还在用C语言编程?

2020-2-21 18:00 505 0 分类: 模拟
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。
  这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不能不能,而是不合适。
  一、单片机编程的特点对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。
  第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。
  第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。
  二、高级语言编写单片机程序的缺陷高级语言可以实现更为优化的算法,更为方便的执行方案,但是,高级语言对程序存储空间的占用要比汇编和C语言多很多。这是最致命的一点,单片机有限的存储空间需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。
  高级语言无法实现精确的时序控制。
  三、C语言是一个折中选择其实用C语言开发单片机也是一个折中方案,因为最适合单片机开发的编程语言实在太过晦涩难懂,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,还不如重新写一遍程序。
  而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位

文章评论0条评论)

登录后参与讨论
相关推荐阅读
简单qqq 2020-04-08 17:01
解析锂电池的充电的整个过程!
锂电池充电器的基本要求是特定的充电电流和充电电压,从而保证电池安全充电。增加其它充电辅助功能是为了改善电池寿命,简化充电器的操作,其中包括给过放电的电池使用涓流充电、电池电压检测、输入电流限制、充电完...
简单qqq 2020-04-08 16:59
学习电子如何入门?哪些是要学的,要按照怎样的顺序学?
对于一个要学习电子学的初学者来说,最困难的可能就是准确的了解什么是我们应该学习的?哪些内容值得学习?学习这些内容一般要按照怎样的顺序?  出发点  下图提供了一个很好的出发点,告诉我们那些是要学的,要...
简单qqq 2020-04-08 16:58
PCB设计“过孔盖油”和“过孔开窗”怎么区分?
既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,  会使产品的性能下降,有时甚至影响到产品的成功率.所以对电、 地线的布线要认真对  待,把电、地线所产生的噪音干扰...
简单qqq 2020-04-08 16:46
一图读懂电容的充放电原理
电容是一种以电场形式储存能量的无源器件。在需要的时候,电容能够把储存的能量释出至电路。电容由两块导电的平行板构成,在板之间填充上绝缘物质或介电物质。以下分享电容的充放电原理。  图1和图2分别是电容的...
简单qqq 2020-04-08 16:44
为什么有集成电路了还要学晶体管电路
一、电路IC化或LSI化的高速发展  现在的IC技术发展可以说是日新月异的。目前我们所能接触到的无论是模拟电路,还是数字电路都能进行IC化或LSI化。例如我们随便打开一台电视机或者计算机,就可以看到它...
简单qqq 2020-04-08 16:44
共模电感如何抑制共模信号
什么是共模电感  共模电感有时候也叫共模扼流圈,它是一种用于滤除共模干扰信号的EMC常用元器件之一。  原理:流过共模电流时磁环中的磁通相互叠加,从而具有相当大的电感量,对共模电流起到抑制作用,而当两...
广告
我要评论
0
0
广告
关闭 热点推荐上一条 /3 下一条