单片机编程时常见的十大问题解答
1.C 语言和汇编语言在单片机编程时各有哪些优缺点? 答:汇编语言是一
种用文字助记符来表示机器指令的符号语言,是最接近机器码 的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的 CPU, 其汇编语言可能有所差异,所以不易移植。
C 语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使 用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的 RISC 架构的 8bit MCU 来说,其内部 ROM、RAM、 STACK 等资源都有限,如果使用 C 语言编写,一条 C 语言指令编译后,会变成 很多条机器码,很容易出现 ROM 空间不够、堆栈溢出等问题。而且一些单片机 厂家也不一定能提供 C 编译器。而汇编语言,一条指令就对应一个机器码,每 一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起 来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
2.C 或汇编语言可以用于单片机,C++能吗? 答:在单片机编程中,主要是汇编和 C,没有用 C++的。
3.搞单片机编程,一定要会 C 吗? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码 的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的 CPU, 其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的 RISC 架构的 8bit MCU 来说,其内部 ROM、RAM、 STACK 等资源都有限,如果使用 C 语言编写,一条 C 语言指令编译后,会变成 很多条机器码,很容易出现 ROM 空间不够、堆栈溢出等问题。而且一些单片机 厂家也不一定能提供 C 编译器。而汇编语言,一条指令就对应一个机器码,每 一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起 来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较 好。
而 C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并 具备汇编语言