![0b02c6010973f81cd35cd241f7a553e7.png](https://i-blog.csdnimg.cn/blog_migrate/7f80e209fb33854c7958385dbfd42fdb.jpeg)
1:我们知道,想要使单片机工作,必须给它“下命令”,这里的“命令”称作指令,单片机执行不同的指令就可以完成不同的操作。对于一些简单任务,单片机执行一两条指令就可以完成,而一些复杂的任务则需要执行很多条指令才能完成。能使单片机完成特定控制任务的指令集合称为程序。编写这些指令集合的过程称为程序设计。
程序设计的过程就像是写文章,如果把程序比作文章,那么指令则是文章中的词语。要写好一篇文章,不但要了解词语的含义和用法,还要掌握将词语组合成文章的规则。同样,要设计单片机程序,除了要了解单片机指令的含义和用法外,还要掌握指令组合成程序的规则。
![d4c3cd82d10d075f972328396f73a29a.png](https://i-blog.csdnimg.cn/blog_migrate/469929f4cb6fd6e06e1e03bdeea647c5.jpeg)
2:编程语言
写相同内容的文章时,可以采用汉语,也可以采用英语,还可以采用阿拉伯语。同样,在进行单片机的程序设计时,也可以采用不同的语言。单片机常用的编程语言有机器语言、汇编语言和 C语言。
![a5d31c2b32374e6ecfde297ddf943870.png](https://i-blog.csdnimg.cn/blog_migrate/8a69225de070c8bda4c914c5671c3178.jpeg)
机器语言
单片机是一种大规模的数字集成电路,它只能识别“0”和“1”这样的二进制代码。在早期的单片机开发过程中,人们用二进制代码编写程序,再把这些二进制代码程序写入单片机,单片机执行这些二进制代码程序就可完成相应的任务。
用二进制代码编写的程序称为机器语言程序。在用机器语言编程时,不同的指令用不同的二进制代码代表,这种二进制代码构成的指令称为机器指令。在用机器语言编写程序时,由于需要记住大量二进制代码指令及这些代码代表的功能,很不方便且非常容易出错,所以现在很少有人用机器语言编写程序。
![944a46f43b0214ea8fce69f4537df2c3.png](https://i-blog.csdnimg.cn/blog_migrate/1cbc87f020ab0271be049078bc522b0b.jpeg)
汇编语言
由于机器语言编程不方便,人们便用一些有意义且容易记忆的符号来表示不同的二进制代码指令,这些有意义且容易记忆的符号称为助记符。用有意义的助记符表示的指令称为汇编语言指令,用助记符编写出来的程序称为汇编语言程序。
下面的两行程序分别是机器语言程序和汇编语言程序:
01110100 00000010
MOV A, #02H
这两行程序的功能是一样的,都是将二进制数据00000010送到累加器A中。可以看出,机器语言程序要比汇编语言程序难写,并且容易出错。
单片机只能识别机器语言,所以汇编语言程序要先汇编(翻译)成机器语言程序,再写入单片机中。将汇编语言程序汇编成机器语言程序有手工汇编和软件汇编两种方式,手工汇编是指用人工的方法将汇编指令逐个翻译成机器指令,软件汇编是利用汇编软件(汇编器)自动将汇编指令翻译成机器指令。
![2baf18e911de19e4d78c02ca8f5b7e49.png](https://i-blog.csdnimg.cn/blog_migrate/be9f9db09eafe9f62c589fb282ac36ab.jpeg)
高级语言
高级语言是一种近似于日常会话的语言,这些语言是依据数学语言而设计的,在用高级语言编程时不用过多考虑单片机的内部结构。与汇编语言相比,高级语言更易学、易懂,而且通用性很强。高级语言种类很多,如Basic语言、Pascal语言、C语言和Java语言等,单片机常用C语言作为高级编程语言。
单片机不能识别高级语言编写的程序,因此用高级语言编写完程序后,还要用编译器将高级语言程序翻译成机器语言程序,再写入单片机中。
在上面3种编程语言中,高级语言编程较为方便,但实现相同的功能,汇编语言代码少,运行效率更高;另外对于初学者,学习汇编语言编程有利于更好地理解单片机的结构与原理,也能为以后学习高级语言编程打下扎实的基础。我将深入浅出的和网友们共同分享讨论这方面的知识,感谢点赞转发!