作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。对于初学者来说,很多人一开始经常会被单片机的各种各样的编程语言搞糊涂。因为单片机的编程有很多,但最常见的有四种,即汇编语言、C语言、PL/M和BASIC语言。那么究竟要学习哪一种编程语言好呢?下面先来了解一下这四种编程语言:
编程语言
1.BASIC编程语言
BASIC是一种高级语言,它的英文含义是“初学者通用符号指令代码”,是在1965年5月,由美国科学家托马斯·库尔兹研制出来的。10多年后,微软公司把它移植到微型机上。几十年来,BASIC语言一直被认为是初学者编程的语言,它已经由QBASIC发展到VB#版本,具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递等.早期的BASIC语言由于生成的代码不是最终目标机器的代码,而是经过一个RUNTIME程序解释后运行的,所以执行效率低,但这种逐行解释的方法很容易找到程序中的错误,而不是当程序执行完才能显现出来.而单片机的BASIC编译器是直接将程序代码编译成相应芯片的机器码,不需要在单片机的内存中驻留RUNTIME程序,执行效率与其他编译器编译出来的一样.此外初学者还需要注意,BASIC为简化使用变量,所有变量都用浮点值。
2.PL/M编程语言
PL/M是一种高级语言,它由美国INTEL公司设计,主要用于Intel 公司生产的单片机和微处理器系统软件和应用软件的开发。作为高级语言,它更接近和体现人的设计思想。PL/M语言不仅具有一般高级语言的特点,而且还能象汇编语言那样直接利用CPU 的硬件特性进行程序设计。因而,与其它高级语言相比,功能多,用途更广泛,尤其在16位单片机应用领域更受到人们的普遍重视。
但对51系列的单片机来说,PL/M不支持复杂的算术运算、浮点变量而且无丰富的库函数支持,学习PL/M无异于学习一种新语言,难度相对较大,需要花费较多的时间和精力。
3.汇编语言
汇编语言是一种用助记符来表示机器指令的符号语言,是最接近于机器码的一种语言.其主要优点是占用资源少,程序执行效率高。由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植。比如你在PICl2CESl8单片机上用汇编语言编了一个程序,到了STC89C51单片机上那可就运行不了,因为它们的指令系统是有区别的。
单片机的汇编语言非常像其他汇编语言,指令系统比第一代微处理器要强一些,但单片机拥有不同存储区域使得其编程变得复杂一些,可是作为一位电子工程师,懂得汇编语言就可帮助你了解影响任何语言效率的特殊规定。例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。同样的,当要求使用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。
4.C语言
单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算速度快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制.此外,C语言程序具有完整的程序模块结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
C语言
5.哪种编程语言好
单片机编程的语言既可以用C,也可以用汇编。用汇编的优势主要是程序可以被编程者优化,而不是由编译器优化,这样就可以绝对可控,程序的安全性和执行速度受编程者水平限制,不过总的执行速度较C语言快,代码占程序存储器的容量较C语言小。这样,汇编程序更适合程序存储器和数据存储器较小的老式单片机。但是,汇编程序毕竟是机器语言的汇编助记符,所以存在指令难记,指令功能弱的缺点,造成学习困难。
C语言的优势与缺点正好与汇编相反。C语言毕竟是一种高级语言,具有较好的学习性,几乎不必记忆指令,学习容易,而且编译时的优化由编译器管理,一般不受编程者水平限制。由于机器优化的局限性,C语言总的执行速度较汇编语言慢,代码占程序存储器的容量较汇编语言大。这样,C程序更适合程序存储器和数据存储器较大的新式单片机。
建议初学者先使用C语言快速入门,然后再研究汇编语言,优化程序设计。
以上就是单片机的编程语言介绍了。总而言之,学习的不同阶段,适合用不同的语言。如果是刚刚入门学习的,由于需要掌握单片机的基础知识,适合用汇编语言,这样有利于加深理解单片机。在熟练之后,用C语言编程,能够节省不少精力和时间。如果是经验丰富的或者高手,哪一种编程语言都适合。
〈烜芯微/XXW〉专业制造二极管,三极管,MOS管,桥堆等,20年,工厂直销省20%,上万家电路电器生产企业选用,专业的工程师帮您稳定好每一批产品,如果您有遇到什么需要帮助解决的,可以直接联系下方的联系号码或加QQ/微信,由我们的销售经理给您精准的报价以及产品介绍
联系号码:18923864027(同微信)
QQ:709211280