[讨论] 辩论一下--学单片机需不需要学习汇编语言,只用C语言就可以完全搞定单片机程序?

tiankai001   2010-7-15 17:06 楼主

呵呵,这个讨论是一个很老套的讨论。

有很多人都议论过的。

 

经典的说法是:可以用C语言来进行单片机开发,但是想要真正搞懂单片机的结构原理,就要好好学学汇编语言。

 

现在一般的单片机开发,很少见用汇编的了,汇编语言的讲解大概只存在于学校课堂上了。

 

那么,各位单片机爱好者,你们对汇编语言的理解呢?

 

有多少人一点都不了解汇编语言,但是依然能够很顺利的开发单片机系统呢?

[ 本帖最后由 tiankai001 于 2010-7-15 17:25 编辑 ]

回复评论 (24)

其实,我觉得真没必要学汇编,有多少时间会用上呢?当然如果需要的时候再学也不晚!
我的博客
点赞  2010-7-15 17:14
新手,还在迷茫之中,请高手分析一下
点赞  2010-7-15 17:24
学了微机原理和单片机原理之后,就发觉那些MCU、MPU都差不多一个样。
点赞  2010-7-15 22:57
如果一开始就用C的话,目前可以不用考虑去学ASM。
但如果你一但会用了C,再去学ASM我不知道你还会适应那种枯燥的语法没有???
点赞  2010-7-15 23:27
我到觉得如果学会用ASM,然后去看看PLC的指令到蛮相近。
点赞  2010-7-15 23:28
我感觉有机会的话,学学汇编也不错。我就听喜欢汇编的,不过真正做编程的时候确实很少有用汇编的。
点赞  2010-7-16 07:46
其实,汇编跟C是本质上一个样滴,只不过换了个形式而已。本质上都是对寄存器读写操作而已。
汇编MOV来MOV去,C语言=来=去。
汇编call来call去,C语言写个函数名。
汇编JMP来JMP去,C语言if、switch、while、for判来判去。
汇编一样可以给寄存器指定名,然后对定义的名称操作。
汇编提供的对很多标志位操作,很多C编译环境并没有提供。
C语言的#include就是给存储器更名等来简化操作而已。

不管用高级语言还是底层语言,都要知道芯片有什么东东可以给我们用,有哪些寄存器是控制相应模块的,然后怎么用,就是给寄存器赋值而已,其它的编程思想、操作系统、算法等等才是体现自己思维的东西,体现自己价值的东西。
点赞  2010-7-16 13:51
归根到底,我们都被芯片设计者忽悠的对象,规则是他们定的,我们只能遵守他们定义的规则时序,ARM公司的价值就在这里了,设计个内核,被人买去了,贴个标签,就有了STM、LPC、Stellaris……,什么时候我们可以设计自己的IC了,可以跟ARM公司叫板了,那就是值得我们工程师全民同庆的事。
点赞  2010-7-16 13:57
汇编有时还是需要的
点赞  2010-7-17 10:21

引用: 原帖由 zhaojun_xf 于 2010-7-15 17:14 发表 其实,我觉得真没必要学汇编,有多少时间会用上呢?当然如果需要的时候再学也不晚!

 

 

呵呵,这个主意不错。用到的时候再看

点赞  2010-7-17 11:15

引用: 原帖由 chenzy1985 于 2010-7-15 17:24 发表 新手,还在迷茫之中,请高手分析一下

 

新手的话,还是从C语言上手容易、快速一些

点赞  2010-7-17 11:16

引用: 原帖由 David_Lee 于 2010-7-15 22:57 发表 学了微机原理和单片机原理之后,就发觉那些MCU、MPU都差不多一个样。

 

呵呵,这句话说出了真理

点赞  2010-7-17 11:16

引用: 原帖由 huchuan987 于 2010-7-15 23:27 发表 如果一开始就用C的话,目前可以不用考虑去学ASM。但如果你一但会用了C,再去学ASM我不知道你还会适应那种枯燥的语法没有???

 

呵呵,这是一个问题啊,

用个C以后,再去学汇编,会感觉汇编的指令太枯燥了

点赞  2010-7-17 11:17

引用: 原帖由 huchuan987 于 2010-7-15 23:28 发表 我到觉得如果学会用ASM,然后去看看PLC的指令到蛮相近。

 

恩,汇编的指令跟PLC的指令很接近

点赞  2010-7-17 11:17

引用: 原帖由 fengxin 于 2010-7-16 07:46 发表 我感觉有机会的话,学学汇编也不错。我就听喜欢汇编的,不过真正做编程的时候确实很少有用汇编的。

 

对于汇编高手来说,汇编是比C语言更便于控制单片机的程序

点赞  2010-7-17 11:18

引用: 原帖由 wulei19880906 于 2010-7-17 10:21 发表 汇编有时还是需要的

 

有些情况下,在C语言中嵌入汇编。会实现更好的控制效果

点赞  2010-7-17 11:20
写惯了c  感觉没有写汇编的思维
点赞  2010-7-17 11:28

引用: 原帖由 william228 于 2010-7-17 11:28 发表 写惯了c 感觉没有写汇编的思维

 

其实用会编写单片机程序的思维非常简单,相对于C语言来说,汇编的语法比较简单

点赞  2010-7-17 12:18

引用: 原帖由 David_Lee 于 2010-7-16 13:57 发表 归根到底,我们都被芯片设计者忽悠的对象,规则是他们定的,我们只能遵守他们定义的规则时序,ARM公司的价值就在这里了,设计个内核,被人买去了,贴个标签,就有了STM、LPC、Stellaris……,什么时候我们可以设计自 ...

 

一语中的啊,什么时候才有“中国芯”

点赞  2010-7-17 12:18
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复