大家好,今天小编关注到一个比较有意思的话题,就是关于51c语言编程软件的问题,于是小编就整理了4个相关介绍51c语言编程软件的解答,让我们一起看看吧。
- STM32单片机和51单片机差别大吗,有那些差别,最好可以举例说明一下,谢谢?
- C语言程序设计适合用于哪些系统或软件的设计上?
- C语言,初学者51单片机,将程序第五行的 #define led P2替换成sbit led= P2;程序不报错但流水灯实验不行?
- JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?
STM32单片机和51单片机差别大吗,有那些差别,最好可以举例说明一下,谢谢?
除了都属于单片机之外,没有什么共同点。32无论是IO控制,还是定时器等内部***,都要比51复杂很多,也强大了很多。C语言编程的思路、算法是类似的C语言程序设计适合用于哪些系统或软件的设计上?
我是电子信息专业的,就我们专业而言,硬件电路的程序设计我们要用到C语言,比如,51单片机程序设计,msp430单片机,STM32单片机,几乎所有的单片机程序设计都可以用C语言!电脑操作系统也大多***用C语言编程!感觉C语言编程一般都和硬件比较贴近!
c语言是门高级语言,基本上适用于所有需要编程的地方,一般硬件所需的编程如51单片机,嵌入式等等,编程软件一般用visual c++,虽然c语言写的难度大,但是运行起来快。
C语言,51单片机,将程序第五行的 #define led P2替换成***it led= P2;程序不报错但流水灯实验不行?
首先,***it led= P2,这个写法是错误的,虽然编译时不报错,但编译后执行程序时却是错误的。
***it 是定义一个引脚的,注意,只是定义一个引脚,而 P2是一个并行口,有8个引脚,是不能***it 来定义,可以用 sfr 定义。
#define 并不是定义引脚的,也不是定义并行口,只是一个宏替换,就是程序中的led 换成P2后再编译。 所以,***it 和 #define根本就不是一回事,更谈不上什么替换了。 两者毫无关系。
java、C、C++、python同样是高级语言,为什么只有C和C++可以编写单片机程序?
首先,C语言是比汇编高一个等级的语言,编程风格是面向过程编程,数据操作比较简单,且易实现,编写起来比汇编容易;C++是继C语言上起来的语言,有自己的库和很多通用的模板类,编程风格是面向对象,对数据处理进行了严格的封装,处理起来不太方便;Python就比较高级了,有更为专业的库,使用时只需调用接口函数。
这个问题很简单,python,Java是解释型语言,需要有虚拟机解释器支持,需要更多的内存和处理速度,而c,c++可以直接由编译器生成机器指令,所需要的***少,单片机可以正常运行。另外python,现在JAVA在设计时就是为了大型程序而生,不适合单片机。
菜农从1981年开始就涉足与嵌入式领域的编程,开始是[_a***_]和宏汇编语言,后来是C语言及C++语言,其他语言可能有,但很少且无大出路。
因为嵌入式领域的编程与硬件有关,特别是芯片里的中断向量即函数指针,而C和C++被其他编程语言攻击和被抛弃的就是函数指针!
而嵌入式领域最需要的就是函数指针,它与结构和联合,可以构成“COM接口技术”,为芯片的中断向量或函数指针即地址加密。
而其他编程语言大多没有函数指针,故无法满足嵌入式领域编程的特殊需要,故以后或永远不可能完全替代C或C++,除非他不想保护他的代码被篡改或产品的克隆。
单片机能否提供程序所需的运行环境决定了某种语言能否用于单片机程序的开发。单片机的总线宽度决定了单片机存储空间的大小。其中,拥有32位总线的单片机的存储空间可达4GB,装个Linux差不多可以跑各种程序了。这里我们只讨论总线宽度在16位以下的单片机。
单片机上没有I/O设备,只有I/O接口,程序要以机器码的形式写入随机存储器(就是PC的内存)。主流单片机的总线宽度一般是16位,比如,51单片机。存储器空间最大能做到64K。一些单片机的存储空间只有256个字节甚至更小。这么小的存储空间容不下操作系统,所以能在单片机上跑的程序都得是原生的机器码。C/C++都能直接编译成原生的机器码程序,因此,广泛用于单片机程序开发。J***a需要虚拟机,基本上不能在单片上运行(JVM有几百M)。Python可以编译成C语言的原生程序,有可能在单片机上运行。但是,Python的程序里一般都带着一庞大的标准库,简单移植到单片机上不太可行,需要做一些定制化改造才有可能。这类语言不能移植到单片机上的原因主要是他们为了能在不同的操作系统上移植,使用了独立的运行环境,而这个环境的体量太大装不到单片机上。
最后科普一下高级语言的概念。机器码被称为第一代语言,汇编被称为第二代语言。其他语言都是高级语言。C/C++是第三代语言。J***a和Python被称为3.5代或者是第四代语言。主要是因为他们废除了内存操作指令。还有更高级的语言,SQL因为没有了变量定义(准备内存空间)被称为第四代或第五代语言。