标题: 学习单片机用汇编还是C比较好 [打印本页]

作者: wangcaidao    时间: 2018-11-13 22:13
标题: 学习单片机用汇编还是C比较好


作者: angmall    时间: 2018-11-14 06:25
我也是喜欢用汇编。但是也要会C语言,最起码要能读的懂。
汇编语言的优势在于程序简洁,占用内存少,效率高。比较直观。
可以说,除非单片机(不仅仅是单片机)没有该功能,否则没有汇编做不到的。c语言就不一定。
其实熟练的掌握汇编后,学C语言,不用花多大功夫。
作者: zl2168    时间: 2018-11-14 08:09
总体是用c好。
作者: sxhwdz    时间: 2018-11-14 08:11
学习单片机,看你的侧重面,要想快,且偏重于编程,那就从C开始学。如果想学得深,软硬件兼顾,那就应该从汇编开始。虽然汇编不便于移植,但是汇编更精炼,更贴近硬件。学了汇编再学C,才能更好地扬长避短,设计出好的系统。
作者: 李小呆    时间: 2018-11-14 08:50
汇编虽然逻辑简单,但是没有C语言简练,初学简单的可以用汇编,但是编写一些复杂一点的还是用C比较方便
作者: timelessxp    时间: 2018-11-14 09:44
可以使用C语言入门,汇编语言比较底层,可以在熟悉一定的寄存器后再使用汇编。
作者: 鹈鹕    时间: 2018-11-14 10:15
这没法比较,一般来讲程序较小,实时性要求较高的情况下当然是汇编,程序较大、比较复杂尤其是有比较多工程计算的肯定是C了,像石英钟、秒表这样的,汇编非常适合。用汇编语言还有一个好处就是乐趣性比较大,你可以100%控制所有资源,目标代码的长度你在汇编之前就可以确定,C语言的话毕竟中间隔了个编译器。你要喜欢玩硬件的话,汇编语言不可替代。而且同一个工程你也不必要做2选一的选择,部分代码可以由汇编语言生成,诸如由定时器产生的中断程序就非常适合用汇编语言写,而复杂的部分可由C语言来写。
作者: 147258mm    时间: 2018-11-14 10:38
C吧,C语言通用性好一些
作者: 九死还魂草    时间: 2018-11-14 11:07
百分之九十九点九九的事情都可以用C搞定,除非有特殊需求否则真用不到汇编,但懂汇编还是很重要的。
作者: 15014649604    时间: 2018-11-14 11:18
都可以
作者: 1234567qq    时间: 2018-11-14 12:30
C语言通用性好一些
作者: pey    时间: 2018-11-14 12:54
汇编针对原理进行编程,C语言更加直观,可以汇编为辅,C语言为主,入门会比较快
作者: leeyue1996    时间: 2018-11-14 13:23
我觉得还是C语言比较好用,汇编语言相比C语言来说更为复杂,C语言相对来说比较灵活,使用方便
作者: TIMING    时间: 2018-11-14 13:34
c好用点吧,毕竟基础语言
作者: 讨厌考试    时间: 2018-11-14 13:57
C更好点
作者: Y_G_G    时间: 2018-11-14 14:10
没有说哪个好不好的,针对的东西不一样,很多时候是没有什么可比性,用C的话意思就是说:我不需要用到汇编的那些个优点,反过来也是一样的,用汇编的话:我不需要C的那些优点.
很重要的一点:C语言你是一定要会的,毕竟,面试的时候这一关是肯定要过的.
至于你学单片机要用什么语言去学,选择没有那么难的:用汇编入门,然后再学C语言.
再说点别的吧:在小代工厂里面一般,用汇编的比较多,主要是稳定性和成本问题,在方案公司里就不同了,主要是用C,做方案快,你走人了,下一个接手也容易.
就工资而言,如果你不进入嵌入式领域,纯汇编的工资是要比纯用C的工资高的,因为,工业级的东西,老板是不会在乎你用什么语言来写的,他只管看成本,能用9毛9的单片机,他肯定不会用1块的,特别是小家电这一块,用的大多是台系的8位单片机,稳定性不好,资源有限,C根本写不下,有的型号的单片机程序空间竟然是用B来做单位的.
如果你要进入嵌入式领域,却还在相关汇编,那就是你OUT了,除非是要精确到一个时钟的时间精度,汇编是没有什么用处的,一个16位数除法,你只能用减去去进行,更不用说什么算法之类的的了.
汇编优点在于时间精度和代码空间,C优点在于功能强大,没什么好比的.想学什么就学什么,或者是自己觉得学什么容易就学什么,已经开始学C了就不要学汇编了,我就是用汇编的,虽然代码的空间上是比C占用得少,但代码量多呀!一个小程序,完整的写下来,动不动就是上千行代码,一个指令写错了,能让你找一个星期......
作者: qianyu1919    时间: 2018-11-14 14:33
我个人觉得还是c语言好
作者: weety    时间: 2018-11-14 15:00
建议用C语言编程,C语言代码可移植性比汇编好太多,而且适用于单片机的RTOS基本都是C语言编写成的。另外一个,汇编写代码需要考虑的细节太多,不利于我们快速编写符合要求的应用程序。
作者: why130110    时间: 2018-11-14 15:32
2K以下的代码可以用汇编。。。。。。
汇编看的头疼,反正我是没用过的。
新手小白可在某宝上搜索 51单片机开发 远程服务
作者: 18844058839    时间: 2018-11-14 15:38
c语言是最基本的阿东西,接触的东西也更多,可以让你对系统有更好的了解。
作者: 18729274299    时间: 2018-11-14 15:43
汇编比较基础,可以帮助你更好地从底层了解单片机,如果刚开始,还是建议用C,单片机硬件可以看书,软件高级语言方便阅读。加油
作者: lyb3344308    时间: 2018-11-14 15:44
都是可以的,汇编总的来说比C难,C才是主流
作者: lyb3344308    时间: 2018-11-14 15:45
都可以的,但是C是主流,汇编比较底层,也比较不好移植
作者: 今安在    时间: 2018-11-14 15:49
大部分还是C语言
作者: hjh2621845983    时间: 2018-11-14 15:56
c语言,个人感觉c语言方便
作者: lan广翔    时间: 2018-11-14 16:39
C语言比较好理解,运用了很多函数,如果有C语言的基础的话,用C还是很好学的,要想快,且偏重于编程,那就从C开始学。汇编语言要记得指令很多,差不多有100多条指令,用汇编的话一开始要下很大功夫,但是一旦熟练地学会了,那就可以达到软硬件兼顾。虽然汇编不便于移植,复杂的程序难编写,但是汇编更精炼,更贴近硬件,能深入到机器层面来理解问题。
作者: 我爱吃柚子    时间: 2018-11-14 17:00
就我目前学习情况看,我觉得C语言优势比汇编大很多。C语言比汇编更简单易懂,编写方便;目前大部分的单片机都支持C语言编程
作者: 来打酱油    时间: 2018-11-14 17:50
个人觉得汇编相对难一点,需要记得东西太多,还是C比较好用些。
作者: 962175999    时间: 2018-11-14 18:51
先学习C语言哦,C语言更简单,并且现在的单片机程序基本上都用C语言写更加简单哦,汇编学起来较难点,虽然学会了汇编可以更好的了解程序的运行过程,用汇编编写代码量非常大也要求思路很清楚,对于新手来说最好就用C哦,比如叫你写了延时函数,用C很简单,几句话就可以,但汇编的话 你首先得知道有哪些寄存器,代码也比较多
作者: lzhl    时间: 2018-11-14 18:56
C语言通用性好一些
作者: ttfc    时间: 2018-11-14 19:20
初学一定要学c语言
作者: alasiga    时间: 2018-11-14 20:12
我是从c入门的,都没学过汇编,至少我觉得c还不错吧
作者: 88886666    时间: 2018-11-14 20:45
汇编不适合计算机新手,现在大学里基本上从c开始,等你掌握C语言,后期用汇编语言,可以加快指令执行速度
作者: lyl1114139220    时间: 2018-11-14 20:50
用C更好一点
作者: 小白学51单片机    时间: 2018-11-14 21:28
c语言是基础,只有熟练使用后,再往汇编上去发展可能会容易一些,个人看法,如果有不同意见 请指教 。
作者: 龙舞九天    时间: 2018-11-14 22:09
C比较常用吧
作者: PCD4869    时间: 2018-11-14 22:43
汇编感觉自学很难,新手C上手快
作者: 237050018    时间: 2018-11-14 22:53
。c语言就不一定。 其实熟练的掌握汇编后,学C语言,不用花多大功夫。
作者: Phicasen    时间: 2018-11-14 23:18
c语言,通用,可移植度高,不同单片机稍改程序就可以使用。
作者: hays1107    时间: 2018-11-15 08:54
建议是学C好,汇编应用不广,而且学C以后转其他语言也好转
作者: sssyyyhhh61    时间: 2018-11-17 18:52
肯定是C,以后工作没人用汇编
作者: DD314159265358    时间: 2018-11-17 19:12
用c好汇编应用不广
作者: 1500hjw    时间: 2018-11-17 19:17
汇编语言更接近机器语言,运行速度快,但不容易学习,需要了解微机原理
作者: stu    时间: 2018-11-17 20:05
汇编看得头大
作者: 908576114    时间: 2018-11-17 21:32
用c语言,容易理解
作者: Euler777    时间: 2018-11-17 22:05
小程序可以用汇编吧,大一点的就用c,写起来方便。不过汇编有助于自己的理解,毕竟比较底层
作者: 13140816    时间: 2018-11-18 01:08
c语言好
作者: 15855570230    时间: 2018-11-18 02:38
其实单片机还是学习c和c++比较好,
作者: 15855570230    时间: 2018-11-18 02:38
学习c和c++吧

作者: 那年拾柒丶    时间: 2018-11-18 08:34
我觉得C语言比较好,汇编相对C语言深入一些,新人还是先学C语言比较好,而且我觉得C语言更适合单片机。
作者: wmijie    时间: 2018-11-18 14:42
我学了两年的汇编,没学会,学C语言,两月,可以简单的编了,特别是学汇编总感觉太生硬,有让人抓狂的感觉,而C好像则舒服多了。
作者: 东111    时间: 2018-11-18 15:59
c比较好,应用更广泛
作者: yhz139    时间: 2018-11-18 18:46
肯定c语言
作者: XH47    时间: 2018-11-18 19:10
学习的话还是C语言吧
作者: Z1235789    时间: 2018-11-18 20:10
C语言应用广泛
作者: zhaochao200910    时间: 2018-11-18 20:16
建议用c  c比较常见
作者: 大鹏很正常    时间: 2018-11-18 20:40
汇编语言的优势在于程序简洁,占用内存少,效率高。比较直观。但是C语言简单,易上手

作者: 759李东樾    时间: 2018-11-18 20:50
c语言好一点
作者: longxingjian    时间: 2018-11-18 21:35
C语言通用性好一些
作者: 元之    时间: 2018-11-18 21:45
C是很多种语言的基础,而且容易上手,建议C

作者: 俊芙芙    时间: 2018-11-18 21:50
我觉得C比较好,简洁易懂;汇编写起来较繁琐
作者: zzmcll    时间: 2018-11-18 22:13
开始还是先学习C吧,如果可以从51系列单片机开始学习,先把C的Demo程序跑起来,然后自然会触碰到汇编,在学习的过程中要先跑简单的程序,然后要理解每一个代码的意思,然后与仿真的结果验证,就和玩游戏一样要多动手验证。
作者: qwxvtjhbhg    时间: 2018-11-18 22:29
应该是用C好一些,c比较全面一些
作者: jgroidy    时间: 2018-11-19 08:49
用C语言
作者: TTQ001    时间: 2018-11-19 11:27
我喜欢用C语言, ,可移植度高,不同单片机可以通用。

作者: 1490325918    时间: 2018-11-19 11:41
c语言比较简单
作者: 秦流沙    时间: 2018-11-19 11:49
c更符合人的逻辑,汇编比较死板
作者: 123xh    时间: 2018-11-19 11:59
先学C语言吧
作者: kmsj    时间: 2018-11-19 12:32
这个话题按好坏之分讨论下去毫无意义,汇编语言和C语言不存在好坏之分,而是各有优点。汇编语言是基础,没有汇编语言的基础,C语言肯定编不好,汇编语言是走路,C语言就是跑步,路都走不好的人,跑步也跑不了多远。C语言编程效率高,但是,产生的代码比汇编语言长10%以上,汇编语言产生的代码比较短,但是,编程效率太低,对于程序代码没有要求的单片机电路,肯定选择C语言。假如一个量产100万件的电路,单片机程序是2K,结果是C语言的代码超过2K,换一种单片机哪怕增加一毛钱,就增加了10万,用汇编语言代码可以控制在2K以内,为了这10万元,你肯定愿意选择汇编语言。C语言能编成功的程序,汇编语言一定可以做到,而且代码更短,用编程成功的C语言,改为汇编语言,难度也不算太大。汇编语言可以编写出最紧凑的程序代码,让单片机的运行速度达到最大化,这一点,C语言根本做不到,C语言的高效率编程也是汇编语言无法做到的,但是,C语言编程的代价就是增加了程序代码,在一定程度上拖慢了单片机的运行速度。
作者: zhanglx    时间: 2018-11-19 12:32
还是用C比较好,广泛一些。
作者: wotoudale    时间: 2018-11-19 13:17
要学习单片机原理的话还是学习汇编比较好,能够了解到如何操作底层硬件的具体细节
作者: 123xh    时间: 2018-11-19 13:35
C好一点
作者: linda_8088    时间: 2018-11-19 13:36
还是学习C吧,在C会了后,学习一下汇编,那时看汇编可以了解程序的真实走向
作者: 东方少    时间: 2018-11-19 14:02
还是学C吧,用途比较多
作者: liuyishuai    时间: 2018-11-19 14:41
感觉最好两个都要会
作者: userjia    时间: 2018-11-19 15:55
各有各的好处吧,汇编偏底层更多一些
作者: a447063166    时间: 2018-11-19 16:10
用C比较好,学起来更快,兴趣更足。
作者: 朱晓贺    时间: 2018-11-19 16:16
汇编更基础更适合,C是比较普遍
作者: arcHuo    时间: 2018-11-19 16:18
C语言移植性更强一点
作者: zzy760671517    时间: 2018-11-19 16:27
C语言实际上已经成为了中级语言的事实上的标准,如果你从事嵌入式开发、芯片设计等,C语言是必须懂的基础;在高级语言上,C语言的简练和精确也具备特殊的优势;VC的强大在Windows平台上其它语言更是难与之相匹敌,在Unix/Linux平台上,C语言也是最终要的语言,Linux的内核也主要是以C语言写的。

当然C语言也有缺点:就是难,容易出错,因为它的数据类型需要精确,而导致不够深入理解的程序员常容易犯错。

一句话:专业的编程,一定要学C语言;业余水平的,可以直接从VB等入手。
作者: 飞翔的烤冷面    时间: 2018-11-19 16:38
学C语言吧  用起来比较方便  用途还多
作者: 麻瓜    时间: 2018-11-19 16:41
当然是C入门后,再用汇编咯。就和学乒乓球先拿世界冠军,再拿国内冠军一个道理。
作者: 1518921    时间: 2018-11-19 16:58
我感觉汇编好点
作者: hahaso    时间: 2018-11-19 17:13
一般都用c语言吧。汇编这种低级语言效率不高。
但是大学上课一般都用汇编,让你更了解单片机底层的东西吧。
理解了再用c语言就很快了;
作者: Orz    时间: 2018-11-19 17:24
C语言好理解
作者: aa316939730    时间: 2018-11-19 20:06
汇编语言不是更简洁吗。。。。一句顶几句C语言都有
作者: znqajm    时间: 2018-11-19 20:33
都可以
作者: 左仲    时间: 2018-11-19 21:07
学汇编的难度要比C大些,要是只是用一下的话,建议还是学C好,要是要认真学透那还是学汇编。
作者: wang@zhe    时间: 2018-11-19 21:19
C语言比较接近自然语言,而且可读性、可移植性也比较好。如果实现相同的功能,用汇编应该会比C语言效率高——C语言的效率高低不仅取决于编译器本身,更取决于编程者的水平。如果对C语言的各种运算符的功能和效率了解很透彻的话,也可以编写出效率高的C程序。况且,现在的单片机运算能力也不差。
作者: lszd    时间: 2018-11-19 21:26
自然是c,汇编可以了解一下!
作者: lszd    时间: 2018-11-19 21:28
自然是C啊!汇编可以了解一下就好!
作者: luvemcu    时间: 2018-11-19 21:33
如果对单片机没有任何基础知识,建议用汇编学习单片机原理,原理阶段过了后用C学习应用开发。
作者: rcy729    时间: 2018-11-19 21:36
各有各的好的。看个人能力
作者: dickybrush    时间: 2018-11-19 21:44
还是随大流吧,现在开发单片机都是用C进行的开发
作者: wang@zhe    时间: 2018-11-19 21:54
c语言可移植性、可读性都比较好。如果能熟练掌握C语言中各种运算符的特点和功能,以及函数的执行过程。用C语言也可以写出高效率的代码
作者: 593988344    时间: 2018-11-19 21:59
把c学好还是很有用的
作者: LCL000    时间: 2018-11-19 22:12
c语言有一定逻辑,熟了就跟说话一样
作者: 小小雨、    时间: 2018-11-19 23:00
单片机用C好些
作者: hagregfd    时间: 2018-11-19 23:05
c语言简单,容易上手,而且软件也兼任
作者: hagregfd    时间: 2018-11-19 23:06
当然是c语言,简单而且软件也兼任




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1