⑴ 为什么单片机程序只能用汇编语言和c语言编写其它语言像VB/VC为何不行
单片机最终识别的只是二进制的机器语言,什么汇编,C,Basic,C++单片机都不认识。之所以能用C语言和汇编语言编写,很简单,因为公司做的软件中,如Keil,可以把这些高级语言翻译编译成最终的二进制语言。
那么为什么不能用VBVC呢,因为没有那样的软件,如果你的水平很高,也可以做个那样的编译软件,把Basic语言翻译成二进制。
另外,纠正你个错误,VB和VC不是语言,是软件,VB用的是Basic语言,但是VB只是个开发环境,VC++也是一个道理
⑵ 单片机为什么还在用C语言编程(C语言为什么不合理地增加一点面向...
第一点,单片机资源不够。单片机上普遍没有我们桌面系统,甚至手机系统的资源高,存储程序的空间也有限,C++带来的编译后附加信息太多,吃ROM,而且并不是必须的,单片机讲的就是执行效率,所以人能做的,就不要交给单片机做。第二点要注意的是单片机未必编译成x86,很多单片机指令集是定制的,因此即使看到的都是C,但是后台编译出来的代码是不同的,不是像搞一个gcc就能用,所以编译器就是定做的喽,改成C++,编译器重制上的工作量就是个问题。另外C++语法量还是蛮大的,现在这些C都不是完全版本的C语法,还有不少地方有限制
⑶ 单片机为什么还在用C语言编程
单片机产品的成本是非常敏感的。
想用python和ruby和java又没内存处理器又太慢,想用.net又嫌贵(M¥有wince或micro
framework),所以只能用C/C++了,无奈面对单片机的C++编译器又没有一个靠谱的,所以就只能用C语言了。
基于成本原因,对于单片机开发来说,最重要的是在极其有限的ROM和RAM中实现最多产品的功能。或者反过来说,实现相同的产品功能,所需要的ROM和RAM越小越好,因为一般来说ROM/RAM越小单片机越便宜。C++的高级特性引起的代码体积膨胀比C大得多,这一缺陷是致命的。以前有过Embedded
C++,去掉了一些标准C++的复杂特性,但是用的人不多,因为单片机产品的业务逻辑一般没那么复杂,用C就绰绰有余。
⑷ 单片机为什么说是用c语言编写
C语言只是开发语言的一种,但用的比较多
低级语言有汇编语言,在非计算机专业用的比较多
avR单片机还可以用Bascom 类似basic语言
PLC核心也是单片机,但用的是梯形图
⑸ 老shi,为什么单片机要使用C语言,我一下子
使用C语言只是便于移植程序,便于编写程序。
使用汇编语言编写,第一,就是汇编语言非常麻烦,哪个数据使用哪个寄存器和内存都要你自己去想,编程难度很大,第二,单片机的种类很多,不同的单片机使用的汇编语言都是略有差别的,导致同个程序,不同单片机,使用汇编语言写的程序差异可能很大,别人就难以看懂。
使用C语言,C语言的格式都差不多,编写的程序都差不多,读起来很好读,而且同个功能的程序,只要稍微做些修改就可以使用在其他单片机上,这样的编程效率才最高,所以才普遍使用C语言编程而已。
⑹ 单片机和C语言有什么关系吗
语法、运算符和变量规则都一样,由于CPU不同,所以库函数都不一样。在普通C中常用的头文件是stdio.h,在单片机(51为例)常用的头文件是reg51.h或reg52.h。单片机面向的是硬件环境更多一些。常用函数printf,普通C中输出到屏幕,单片机中输出到串口。等等,具体的需要自己去挖掘。
⑺ 在使用单片机中,汇编语言和c语言各有什么优缺点
一、汇编语言:
缺点:汇编语言属于低级语言,难理解,编程效率低,编程容易出错。
优点:程序执行效率高,占用资源少, 方便对最底层的一些东西进行操作。
二、C语言:
缺点:危险性高,开发周期长,可移植性不如JAVA。
优点:语句少但是灵活度高,针对过程的言语相比于非结构化言语条理性很好接近人类的逻辑思维,相比于模块化言语和面向对象的言语他又比较接近底层的一些东西,而且效率也高(只比汇编低%10~20)移植性也好。
(7)单片机为什么用c语言扩展阅读:
不难看出机器语言作为一种编程语言, 灵活性较差可阅读性也很差,为了减轻机器语言带给软件工程师的不适应,人们对机器语言进行了升级和改进:用一些容易理解和记忆的字母,单词来代替一个特定的指令。
通过这种方法,人们很容易去阅读 已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便,这种语言就是我们所说的汇编语言, 即第二代计算机语言。
⑻ 为什么说学单片机用C语言比较好为什么说C语言的可移植性好体现在哪
为什么说学单片机用C语言比较好?为什么说C语言的可移植性好?
汇编语言,需要你了解该单片机的各个寄存器,端口。这些和单片机的硬件关系很大,所以你需要知道这个单片机的硬件结构,而移植到另一款单片机时,由于硬件结构不同,可能就不能用了
而C语言,不需要知道硬件方面是怎么运算的,将数据放在哪个数据区。而且C语言是高级语言较易理解和掌握。
所以说,C语言比较好,可移植性好