单片机编程的语言有好几种,可以用C,也可以用汇编语言。这就让很多还不是很懂的新手为难了,到底单片机编程用什么语言好呢?哪个更适合新手呢?
用汇编的优势主要是:程序可以被编程者优化,而不是由编译器优化,这样就可以绝对可控,程序的安全性和执行速度受编程者水平限制,不过总的执行速度较C语言快,代码占程序存储器的容量较C语言小。这样,汇编程序更适合程序存储器和数据存储器较小的老式单片机。但是,汇编程序毕竟是机器语言的汇编助记符,所以存在指令难记,指令功能弱的缺点,造成学习困难。
C语言的优势与缺点正好与汇编相反:C语言毕竟是一种高级语言,具有较好的学习性,几乎不必记忆指令,学习容易,而且编译时的优化由编译器管理,一般不受编程者水平限制。由于机器优化的局限性,C语言总的执行速度较汇编语言慢,代码占程序存储器的容量较汇编语言大。这样,C程序更适合程序存储器和数据存储器较大的新式单片机。
建议新手先使用C语言快速入门,然后再研究汇编语言,优化程序设计。
单片机编程语言推荐,单片机常用的编程语言有:机器语言 汇编语言和高级语言(主要是c语言)
1.机器语言
单片机是一种大规模的数字集成电路,它只能识别 0 和 1 这样的二进制代码。以前在单片机开发过程中,人们用二进制代码编写程序,然后再把所编写的二进制代码程序写入单片机,单片机执行这些代码程序就可以完成相应的程序任务。
用二进制代码编写的程序称为机器语言程序。在用机器语言编程时,不同的指令用不同的二进制代码代表,这种二进制代码构成的指令就是机器指令。在用机器语言编写程序的时候,由于需要记住大量的二进制代码指令及这些代码代表的功能,很不方便且容易出错,现在基本上很少有人用机器语言对单片机进行编程了。
2.汇编语言
由于及其语言编程很不方便,人们便用一些有意义并且容易记忆的符号来表示不同的二进制代码指令,这些符号称为助记符。用助记符表示的指令称为汇编语言指令,用助记符编写出来的程序称为汇编语言程序。
01110100 00000010 (机器语言)
MOV A, #02H (汇编语言)
这两行程序的功能是一样的,都是将二进制数据00000010送到累加器A中。可以看出,机器语言程序要比汇编语言难写,并且很容易出错。
单片机只能识别机器语言,所以汇编语程序言要汇编(翻译)成机器语言程序,再写入单片机中。一般都是用软件汇编自动将汇编语言翻译成及其指令。
3.高级语言
高级语言是依据数学语言设计的,在用高级语言编程时不用过多的考虑单片机的内部结构。与汇编语言相比,高级语言易学易懂,而且通用性很强。高级语言的种类很多,如:B语言 Pascal语言 C语言和JAVA语言等。单片机常用C语言作为高级编程语言。
单片机不能识别高级语言的程序,因此也需要用编译器对高级语言程序翻译成机器语言程序后再写入单片机。
在上面三种单片机编程语言中,高级语言编程较为方便,但实现相同的功能,汇编语言代码少,运行效率高,另外对于单片机编程的新手朋友,学习汇编语言编程有利于更好的理解单片机的结构与原理,也能为以后学习高级语言编程打下扎实的基础。