打印
[MCU]

关于单片机应用编程mcu测试的经典问答

[复制链接]
490|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2019-12-29 22:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于单片机应用编程mcu测试的经典问答



[color=rgb(51, 51, 51) !important]1. C语言和汇编语言在开发单片机时各有哪些优缺点?

[color=rgb(51, 51, 51) !important]答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

[color=rgb(51, 51, 51) !important]C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。

[color=rgb(51, 51, 51) !important]对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。

[color=rgb(51, 51, 51) !important]

[color=rgb(51, 51, 51) !important]2. C或汇编语言可以用于单片机,C++能吗?

[color=rgb(51, 51, 51) !important]答:在单片机开发中,主要是汇编和C,没有用C++的。

[color=rgb(51, 51, 51) !important]

[color=rgb(51, 51, 51) !important]3. 搞单片机开发,一定要会C吗?

[color=rgb(51, 51, 51) !important]答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

[color=rgb(51, 51, 51) !important]对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。

[color=rgb(51, 51, 51) !important]而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。

[color=rgb(51, 51, 51) !important]综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。

[color=rgb(51, 51, 51) !important]

[color=rgb(51, 51, 51) !important]4. 当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好?

[color=rgb(51, 51, 51) !important]答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。


[color=rgb(51, 51, 51) !important]5. 初学者到底是应该先学C还是汇编?

[color=rgb(51, 51, 51) !important]答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。

[color=rgb(51, 51, 51) !important]

[color=rgb(51, 51, 51) !important]6. 我是一名电子科技大3的学生,学了电子线路、数字逻辑、汇编和接口、C语言,但是总是感觉很迷茫,觉好象什么都不会。怎么办?

[color=rgb(51, 51, 51) !important]答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2--3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。



使用特权

评论回复

相关帖子

沙发
usysm| | 2020-2-7 21:13 | 只看该作者
单片机应用程序的开发步骤是什么?

使用特权

评论回复
板凳
typeof| | 2020-2-7 21:14 | 只看该作者
单片机编程软件哪个好  

使用特权

评论回复
地板
yujielun| | 2020-2-7 21:14 | 只看该作者
编程语言一般有哪几种

使用特权

评论回复
5
htmlme| | 2020-2-7 21:14 | 只看该作者
可以用Java编程吗?

使用特权

评论回复
6
pklong| | 2020-2-7 21:14 | 只看该作者
如何编程输入单片机  

使用特权

评论回复
7
touser| | 2020-2-7 21:14 | 只看该作者
单片机用什么软件编程  

使用特权

评论回复
8
myiclife| | 2020-2-7 21:15 | 只看该作者
                    

使用特权

评论回复
9
uytyu| | 2020-2-7 21:15 | 只看该作者
单片机编程和普通51的编程有很大区别么?

使用特权

评论回复
10
iyoum| | 2020-2-7 21:15 | 只看该作者
一般存放在哪一个存储器中?  

使用特权

评论回复
11
jkl21| | 2020-2-7 21:15 | 只看该作者
单片机编程软件中文版谁有  

使用特权

评论回复
12
touser| | 2020-2-7 21:15 | 只看该作者
编程用什么语言  

使用特权

评论回复
13
usysm| | 2020-2-7 21:15 | 只看该作者
对单片机编程要用什么软件?

使用特权

评论回复
14
pklong| | 2020-2-7 21:15 | 只看该作者
是单片机编程用的多还是应用软件编程用的多?

使用特权

评论回复
15
typeof| | 2020-2-7 21:15 | 只看该作者
单片机编程和"一般编程"区别???

使用特权

评论回复
16
htmlme| | 2020-2-7 21:15 | 只看该作者
主流编程软件有那些?  

使用特权

评论回复
17
yujielun| | 2020-2-7 21:15 | 只看该作者
单片机编程用什么软件?  

使用特权

评论回复
18
jkl21| | 2020-2-7 21:16 | 只看该作者
编程一般用哪个编译软件  

使用特权

评论回复
19
iyoum| | 2020-2-7 21:16 | 只看该作者
单片机 用什么软件编程序  

使用特权

评论回复
20
uytyu| | 2020-2-7 21:16 | 只看该作者
发展前景如何  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝